Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по базам данных1.doc
Скачиваний:
132
Добавлен:
02.05.2014
Размер:
2.53 Mб
Скачать

4.2.1. Взаимосвязь «один к одному» (между двумя типами объектов)

В определенный момент времени одному пациенту выделяется одна койка Между объектами ПАЦИЕНТ и КОЙКА устанавливается взаимосвязь «один к одному», обозначаемая одинарными стрелками (рис 4.1).

4.2.2. Взаимосвязь «один ко многим» (между двумя типами объектов)

В данный момент времени в одну палату можно поместить нуль, одного или нескольких пациентов, причем каждый пациент помещается только в одну палату. Взаимосвязь «один ко многим» можно обозначить с помощью одинарной стрелки в направлении к «одному» и двойной стрелки в направлении ко «многим» (рис 4.1).

4.2.3. Взаимосвязь «многие ко многим» (между двумя типами объектов)

В нашем примере каждый хирург может оперировать нескольких пациентов. С другой стороны, находясь в госпитале в различное время каждый пациент может быть прооперирован несколькими хирургами. Между объектами ПАЦИЕНТ и ХИРУРГ существует взаимосвязь «многие ко многим». Мы обозначаем такую взаимосвязь двойными стрелками (рис 4.1).

Рис 4.1

  1. «один к одному» – в данный момент времени пациент приписан к одной койке;

  2. «один ко многим» – в данный момент времени к каждой палате приписано нуль один или несколько пациентов, но любой пациент может быть приписан только к одной палате;

  3. «многие ко многим» – хирург может прооперировать нескольких пациентов или пациент, находясь в госпитале в различное время, может быть прооперирован несколькими хирургами.

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

Наряду с этим существуют взаимосвязи между атрибутами объекта. Здесь также различают взаимосвязи типа «один к одному», «один ко многим» и «многие ко многим».

4.2.4. Взаимосвязь «один к одному» (между двумя атрибутами)

Мы предполагаем, что номер пациента является его уникальным идентификатором, т е. он не изменяется и при последующих поступлениях данного пациента. Если наряду с номером пациента в базе данных хранится и другой его уникальный идентификатор, то между такими двумя уникальными идентификаторами существует взаимосвязь «один к одному». На рис 4.2 эта взаимосвязь обозначается одинарными стрелками.

а) взаимосвязь «один к одному» между двумя атрибутами;

б) взаимосвязь «один ко многим» между двумя атрибутами. Имена пациентов могут совпадать, но их номера должны быть уникальными;

в) взаимосвязь «многие ко многим» между двумя атрибутами.

Рис. 4.2

4.2.5. Взаимосвязь «один ко многим» (между двумя атрибутами)

Имя пациента и его номер существуют совместно. Пациентов с одинаковыми именами может быть много, но все они имеют различные номера. Каждому пациенту присваивается уникальный номер. Это означает, что данному номеру пациента соответствует только одно имя. Взаимосвязь «один ко многим» обозначается одинарной стрелкой в направлении к «одному» и двойной стрелкой в направлении ко «многим» (рис 4.2).

4.2.6. Взаимосвязь «многие ко многим» (между двумя атрибутами)

Несколько пациентов с одинаковыми именами могли быть прооперированы несколькими хирургами. Несколько хирургов с одинаковыми именами могли прооперировать нескольких пациентов. Между атрибутами «имя пациента» и «имя хирурга» существует взаимосвязь «многие ко многим». Мы обозначаем эту взаимосвязь двойными стрелками (рис. 4.2).