При разработке схемы БД обычно ли случается, что таблицы, представляющие дочернее свойство (в мире ОО), должны ссылаться на своего родителя? - PullRequest
0 голосов
/ 05 апреля 2009

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

При моделировании реляционной базы данных из существующей иерархии объектов обычно случается, что не примитивные дочерние свойства должны идти в своих собственных таблицах со ссылкой на идентификатор родительского объекта (таблица-строка). Это кажется немного задом наперед с точки зрения ОО (и, очевидно, я понимаю, что реляционный путь сильно отличается от ОО), но я думаю, что это единственный способ представить отношения один-ко-многим (такое чувство, что его следует более точно описать как множество to-one, поскольку один родитель не ссылается на множество дочерних элементов, множество дочерних записей ссылаются на одного из родителей)

1 Ответ

2 голосов
/ 05 апреля 2009

Да.

В отношениях «один ко многим» ребенок указывает на родителя.

В отношениях «многие ко многим» (и в отношениях «один ко многим» с атрибутами, троичными связями и т. Д.) У вас есть таблицы отношений.

В отношениях один к одному вы либо объединяете таблицы, либо любая сущность может указывать на другую.

Хотя это ни в коем случае не единственный способ, это, конечно, единственный разумный способ представления отношений. Все другие методы, которые я могу придумать для нормализации перерыва (на самом деле, я даже не могу вспомнить другой метод 1NF, не говоря уже о 3NF).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...