Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Отношения 1:1 / 3 сообщений из 3, страница 1 из 1
08.06.2011, 03:45
    #37299769
stenford
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отношения 1:1
В базе данных AdventureWorks, которая поставляется с sql server есть такие таблицы как Employee и Contact, по-сути, это отношение 1:1, т.к. каждый employee может иметь только один контакт. Т.е. если мы-бы оставили поля Контакт в таблице с работниками, то никаких нарушений нормальных форм-бы не получили. Так стоит-ли выносить такие сущности в отдельные таблицы?
...
Рейтинг: 0 / 0
08.06.2011, 08:59
    #37299854
Dinamo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отношения 1:1
stenfordесть такие таблицы как Employee и Contact, по-сути, это отношение 1:1, т.к. каждый employee может иметь только один контакт. Т.е. если мы-бы оставили поля Контакт в таблице с работниками, то никаких нарушений нормальных форм-бы не получили. Так стоит-ли выносить такие сущности в отдельные таблицы?
Отношение 1:1 судя по всему искусственное.
С точки зрения предметной области деление на две сущности - это правильно.
В жизни, как вы понимаете, для одного служащего может возникнуть необходимость запоминание нескольких контактных данных.
С другой стороны возможна ситуация при которой у нескольких служащих может быть общие контактные данные (например один номер телефона), в этом случае возможна ссылка разных Employee на один Contact.
Также таблица для контактных данных, в принципе может использоваться для хранение данных не только в привязке к служащим, но и например к контрагентам (поставщики, покупатели) прочим объектам (например адреса зданий).
...
Рейтинг: 0 / 0
08.06.2011, 09:38
    #37299896
vadiminfo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отношения 1:1
stenfordВ базе данных AdventureWorks, которая поставляется с sql server есть такие таблицы как Employee и Contact, по-сути, это отношение 1:1, т.к. каждый employee может иметь только один контакт. Т.е. если мы-бы оставили поля Контакт в таблице с работниками, то никаких нарушений нормальных форм-бы не получили. Так стоит-ли выносить такие сущности в отдельные таблицы?
Кроме нарушения нормальных форм есче есть ОЦ. Если нет контактов, то в одной таблице часть колонок заведомо пустые, а в разных таблах можно запретить пустые значения.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Отношения 1:1 / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]