Связь между отношениями при проектировании схем баз данных изображается в виде линий, соединяющих классы сущностей.
При этом каждый из концов связи может (и вообще должен)
характеризоваться наименованием (т. е. типом связи) и кратностью роли
класса в связи. Рассмотрим подробнее понятия кратности и типы связей.
Кратностью (multiplicity) называется
характеристика, указывающая, сколько атрибутов класса сущности с данной
ролью может или должно участвовать в каждом экземпляре связи какого-либо
вида.
Наиболее распространенным способом задания кратности
роли связи является прямое указание конкретного числа или диапазона.
Например, указание «1» говорит о том, что каждый класс с данной ролью
должен участвовать в некотором экземпляре данной связи, причем в каждом
экземпляре связи может участвовать ровно один объект класса с данной
ролью. Указание диапазона «0..1» говорит о том, что не все объекты
класса с данной ролью обязаны участвовать в каком-либо экземпляре данной
связи, но в каждом экземпляре связи может участвовать только один
объект. Поговорим о кратностях подробнее.
Типичными, самыми распространенными кратностями в системах проектирования баз данных являются следующие кратности:
1) 1 – кратность связи на соответствующем ее конце равна единице;
2) 0… 1 – такая форма записи означает, что кратность данной связи на соответствующем своем конце не может превышать единицы;
3) 0… ∞ – такая кратность расшифровывается просто «много». Любопытно, что, как правило, «много» означает «ничего»;
4) 1… ∞ – такое обозначение получила кратность «один или более».
Приведем пример простой диаграммы для иллюстрирования работы с различными кратностями связей. Согласно
этой диаграмме, можно легко понять, что каждая касса имеет много
билетов, а, в свою очередь, каждый билет находится в какой-то одной (и
не более того) кассе.
Теперь рассмотрим наиболее распространенные типы или наименования связей. Перечислим их:
1) 1 : 1 – такое обозначение получила связь «один к одному», т. е. это как бы взаимно-однозначное соответствие двух множеств;
2) 1 : 0… ∞ – это обозначение связи типа «один ко многим».
Для краткости такую связь называют «1 : М». В рассмотренной ранее
диаграмме, как можно заметить, присутствует связь именно с таким
наименованием;
3) 0… ∞ : 1 – это обращение предыдущей связи или связь типа «многие к одному»;
4) 0… ∞ : 0… ∞ – это обозначение связи типа «многие ко многим», т. е. с каждого конца связи присутствует много атрибутов;
5) 0… 1 : 0… 1 – это связь, аналогичная введенной ранее связи типа «один к одному», она, в свою очередь, называется «не более одного к не более одному»;
6) 0… 1 : 0… ∞ – это связь, аналогичная связи типа «один ко многим», она называется «не более одного ко многим»;
7) 0… ∞ : 0… 1 – это связь, в свою очередь, аналогичная связи типа «многие к одному», она называется «многие к не более одному».
Как можно заметить, три последние связи получились из
связей, которые в нашей лекции перечислены под номерами один, два и три
путем замены кратности «один» на кратность «не более одного».
|