Всего на сайте:
248 тыс. 773 статей

Главная | Информатика

Типы связей между объектами  Просмотрен 114

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

Совокупность объектов и их взаимосвязей вне зависимости от конкретной СУБД называют инфологической или концептуальной моделью или схемой. Объекты в такой схеме обычно называют узлами. Роди­тель­ский объект мож­­­­­но назвать исходным узлом, а дочерний ‑ подчиненным.

При связывании объектов используются следующие понятия:

Корневые узлы‑ узлы без исходных уз­лов.

Терминальные узлы(листья) ‑ узлы без под­чи­нен­ных узлов.

Подобные узлы‑ подчиненные узлы с одним ис­ход­ным узлом.

Се­мей­ство‑ множество подобных узлов.

Размерность исходного узла‑ число подобных узлов.

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

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

Внешний ключ‑ атрибут или группа атрибутов до­чер­него объекта, которые являются первичным ключом в родительском объекте (атрибут “Код подразделения” в дочернем объекте “СОТРУДНИК” является внеш­ним ключом, так как он является первичным ключом в родительском объекте “ПОДРАЗДЕЛЕНИЕ”).

Суррогатный ключ - это дополнительное служебное поле, добавленное к уже имеющимся информационным полям таблицы, единственное предназначение которого - служить первичным ключом. Значение этого поля не образуется на основе каких-либо других данных из БД, а генерируется искусственно, обычно, поле типа счетчик. Такой ключ бывает полезен тем, что он фиксирует хронологию создания записей и также нужен при отсутствии естественного ключа в таблице при переводе базы данных с одной СУБД на другую, например, с СУБД Access на СУБД SQL Server или при формировании журнала аудита (изменений).

Класс принадлежности объекта(КП) ‑ обязательный (все экзем­п­ля­­ры объ­екта участвуют в рассматриваемой связи) и необязательный.

Типы (степени) связей между объектами

Тип связи “Один-к-одному”, или бинарная связь (1:1). Полями связи явля­ют­ся клю­че­вые поля.

Одной записи родительского объекта “A” соот­вет­ст­ву­ет только одна запись дочернего объекта “B” и наоборот (A<-->B).

Пример. Связь между объектами “ПРЕПОДАВАТЕЛЬ” и “ПРЕД­МЕ­­Т” по полям связи “Табельный номер преподавателя” и “Код пред­мета”.

Связь типа “Один-ко-многим” (1:М). Полями связи являются клю­че­вое поле родительского объекта и неключевое поле дочернего объекта. Одной записи родительского объекта “A” соот­вет­ст­ву­ет несколько записей дочернего объекта “B” (A-->>B). Объект “A” называют односвязанным, а “B” ‑ многосвязанным.

Пример. Связь между объектами “ПРЕПОДАВАТЕЛЬ” и “ПРЕД­МЕ­­­Т”, если допускается преподавание одним преподавателем несколь­ких предметов, но один предмет не может преподаваться несколькими пре­по­давателями.

Связь типа “Многие-к-одному” (М:1). Полями связи являются неклю­че­вое поле родительского объекта “А” и ключевое поле дочернего объекта ‘B” (A<=B).

Пример. Связь между объектами “ПРЕПОДАВАТЕЛЬ” и “ПРЕД­МЕ­­­Т”, если допускается преподавание одним преподавателем не более одного предмета, но один предмет может преподаваться несколькими пре­по­давателями.

Связь типа “Многие-ко-многим” (М:М). Полями связи являются неключевые поля родительского и дочернего объектов. Одной запи­си ро­дительского объекта “A” соот­вет­ст­ву­ют несколько записей дочернего объек­та “B” и наоборот (A<=>B). Такие связи не реализуются непосредственно. Для из реализации вводится дополнительный совместный дочерний объект-связка, который связывает эти два родительских объекта двумя связями 1:М.

Пример. Связь между объектами “ПРЕПОДАВАТЕЛЬ” (атрибутами табельный номер преподавателя, фамилия, имя и отчество) и “ПРЕД­МЕ­­­Т” (код предмета, наименование предмета), если допускается преподавание одним преподавателем несколь­ких предметов и один предмет может преподаваться несколькими пре­по­да­ва­те­лями.

Введем совместный объект-связку “Учебная нагрузка преподавателя” с атрибутами табельный номер преподавателя, код предмета, количество учебных часов, которые отводятся на изучение данного предмета для данного преподавателя (рисунок 1.3.1.1).

  
 

 

 


Рисунок 1.3.1.1 – Концептуальная модель

 

Установим связь между этим дочерним объектом и двумя родительским объектами по атрибутам табельный номер преподавателя и кодом предмета соответственно.

Тип связи обычно указывается над линией связи между объектами символами “1”, “M”. Для наглядности связи типа “M” на схеме она мо­жет быть указана в виде линии с двумя стрелочками или “гусиной лап­кой” или знаком бесконечности, а отношение 1 ‑ в виде линии с вертикальной чертой.

Предыдущая статья:По областям применения принято выделять две группы СУБД. Следующая статья:Формы записи инфологической (концептуальной) модели
page speed (0.0113 sec, direct)