2014-09-09 3 views
0

Пожалуйста, взгляните на изображение ниже.Некоторое замешательство в отношении отношений «один ко многим»

enter image description here

Это изображение представляет собой "один ко многим" отношения. В нем говорится: «Клиент вводится представителем». У клиента может быть только 1 представитель или нет, но у Intrudcer может быть много клиентов.

Так что даже если это «Клиент может иметь 1 или проводниковую нон на всех», он по-прежнему описывается в ER диаграммы как один ко многим отношений не так ли? Я немного беспокоюсь об этом «не на всех», насколько мне известно «От одного до многих отношений» также описывается этот сценарий. Я немного запутался в этом, взглянув на диаграммы через некоторое время!

ответ

1

Отношение «один ко многим» только указывает (на вашей примерной диаграмме), что у одного клиента может быть только ОДИН интродуктор (это ОДНА часть «Один ко многим»). (Клиент может быть введен только одним интродуктором). MANY заявляет, что один представитель может ввести ноль, одно или любое количество клиентов. Клиент может связаться с вами без какого-либо введения.

Вы правы, отношения «один ко многим» могут вводить в заблуждение, но есть ли какие-либо отношения, если для клиента нет интродуктора? (Нет никакого отношения).

В приведенном выше примере, если столбец Introducer_id в таблице Client является нулевым, отношения не являются обязательными, поэтому может быть один или несколько клиентов, у которых нет интродуктора. Взаимосвязь может потребоваться, если столбец внешнего ключа не имеет значения NULL (ограничение NOT NULL присутствует в поле).

Таким образом, отношения и его мощность определяются FOREIGN KEY и ограничениями NOT NULL на столбцах стороны «много».

Диаграмма ER представляет собой мощность отношения, когда отношения действительно существуют. (Как вы можете представить, что нет никакого отношения?)

+0

Удивительный ответ. «Клиент может связаться с вами без каких-либо интродуций». Это то, что я точно хотел узнать. 'В приведенном выше примере, если столбец Introductioncer_id в таблице Client имеет значение NULL, эта связь не является требованием, поэтому может быть один или несколько клиентов, у которых нет интродуктора.' - Да, это Nullable. Большое спасибо ~ –

+0

'Только один человек может представить нового человека' - Представляющий может представить много клиентов ... Не только один .. –

+0

Добро пожаловать – Pred