2015-03-29 5 views
0

У меня есть таблица клиентов, которая ссылается на адрес - отношение 1 к 1 с несколькими полями. В настоящее время ни одна другая таблица не ссылается на адрес. Поэтому имеет смысл хранить все поля под одной таблицей, даже если они могут быть инкапсулированы или я должен просто создать отдельную таблицу адресов для хранения полей адреса. Каковы преимущества/недостатки?Должен ли я перемещать связанные столбцы в новую таблицу?

ответ

1

В целом, это зависит от ваших требований.

Если некоторые из значений полей могут быть обновлены, но объект должен оставаться неизменным (на него должен ссылаться один и тот же ключ), тогда для этого вам нужна отдельная таблица. Например, требуется поддерживать базу данных с допустимыми адресами, и клиент должен выбрать предопределенный адрес из списка, вместо того, чтобы вводить его вручную, или он должен обеспечивать определенное поведение, основанное на местоположении и так далее.

В вашем случае это просто добавляет абсолютно ненужную часть сложности модели.

Имея одну таблицу и используя язык ООП, вы все еще можете инкапсулировать адрес клиента в отдельный объект (так называемый шаблон Value Object).

Смежные вопросы