Разница между отношениями один ко многим и многие к одному
какова реальная разница между отношениями один ко многим и многие к одному? Это только наоборот, вроде?
Я не могу найти какой-либо "хороший и простой для понимания" учебник по этой теме, кроме этого: SQL для начинающих: Часть 3-Отношения с базой данных
9 ответов:
Да, это наоборот. Это зависит от того, на какой стороне отношений присутствует сущность.
Например, если один отдел может нанимать несколько сотрудников, то отношение "отдел-сотрудник" - это отношение "один ко многим" (1 отдел нанимает много сотрудников), а отношение "сотрудник-отдел" - это отношение "многие к одному" (многие сотрудники работают в одном отделе).Подробнее о типах отношений:
от http://www.sum-it.nl/cursus/dbdesign/english/intro030.php3
большинство отношений между таблицами являются один-ко-многим.
пример:
* One area can be the habitat of many readers. * One reader can have many subscriptions. * One newspaper can have many subscriptions.
отношение многие к одному такое же, как один ко многим, но от другого точка зрения.
* Many readers live in one area. * Many subscriptions can be of one and the same reader. * Many subscriptions are for one and the same newspaper.
какова реальная разница между отношениями один ко многим и многие к одному?
существуют концептуальные различия между этими терминами, которые должны помочь вам визуализировать данные, а также различия в созданной схеме, которые должны быть полностью поняты. В основном разница заключается в перспективе, хотя.
на один-ко-многим связь, локальная таблица имеет одну строку, которая может быть связана со многими строками в другой стол. В примере из SQL для начинающих, одно
Customer
может быть связано с многимиOrder
s.В напротив многие-к-одному связь, локальная таблица может иметь много строк, связанных с одной строкой в другой таблице. В нашем примере многие
Order
S может быть связано с однимCustomer
. Это концептуальное различие важно для ментального представления.кроме того, схема, которая поддерживает связь может быть представлены по-разному в
Customer
иOrder
таблицы. Если у клиента есть столбцыid
иname
:id,name 1,Bill Smith 2,Jim Kenshaw
затем на
Customer
связано сOrder
s, многие реализации SQL добавляют кOrder
таблица столбец, который хранитid
соответствующейCustomer
(в этой схемыcustomer_id
:id,date,amount,customer_id 10,20160620,12.34,1 11,20160620,7.58,1 12,20160621,158.01,2
в приведенных выше строках данных, если мы посмотрим на
customer_id
столбец ID, мы видим, чтоBill Smith
(customer-id #1) имеет 2 заказа, связанные с ему: один за $12.34 и один за $7.58.Jim Kenshaw
(customer-id #2) имеет только 1 заказ на $158,01.важно понимать, что обычно отношение "один ко многим"на самом деле не добавляет никаких столбцов в таблицу, которая является "одной". Элемент
Customer
не имеет дополнительных столбцов, которые описывают отношения сOrder
. На самом делеCustomer
может также иметь отношение один ко многим сShippingAddress
иSalesCall
таблицы и все же не имеют дополнительных столбцов, добавленных вCustomer
стол.однако для описания отношения "многие к одному" часто используется
id
столбец добавляется в таблицу many, которая является внешним ключом к одной таблице - в этом случае acustomer_id
столбец добавляется вOrder
. К соответствующему заказу #10 за $ 12.34 toBill Smith
мы назначаем доBill Smith
's id 1.также возможно наличие другой таблицы, которая, например, описывает
Customer
иOrder
отношения, так что никаких дополнительных поля добавляются в любую таблицу. Так что не может бытьcustomer_id
наOrder
а там может бытьCustomer_Order
таблица, которая содержит следующее. Какой механизм зависит от вашей схемы и реализации SQL.customer_id,order_id 1,10 1,11 2,12
надеюсь, что это помогает.
ответ на ваш первый вопрос : как похожи,
ответ на ваш второй вопрос: один ко многим -> мужчина (таблица мужчин) может иметь более одной жены(таблица женщин) многие к одному- > более одной женщины вышли замуж за одного человека.
теперь, если вы хотите связать это отношение с двумя таблицами MAN и WOMEN, одна строка таблицы MAN может иметь много отношений со строками в таблице WOMEN. надеюсь, это ясно.
нет никакой разницы. Это просто вопрос языка и предпочтений относительно того, каким образом вы устанавливаете отношения.
один ко многим и многие к одному похожи по множественности, но не аспекту (т. е. направленности).
карт Ассоциации между классами сущностей и отношения между таблицами. Есть две категории отношений:
- кратность (термин ER: мощность)
- один-к-одному отношения: пример мужа и жены
- один-ко-многим отношения: пример матери и детей
- многие-ко-многим отношения: пример ученика и субъекта
- направленности : не влияет на отображение, но имеет значение о том, как мы можем получить доступ к данным.
- однонаправленный отношения: поле или свойство связи, которое ссылается на другую сущность.
- двунаправленные отношения: каждый сущность имеет поле связи или свойство, которое ссылается на другую сущность.
- - - - один ко многим - - - родители могут иметь двух или более детей.
- - - многие к одному - - - эти 3 детей могут иметь одного родителя.
оба похожи. Это можно использовать принадлежит к потребности. Если вы хотите найти детей для конкретных родителей, то вы можете пойти с одним ко многим. или же, хотите найти родителей для Близнецов, вы можете пойти со многими к одному. Также....,