Определение. Ключ – это совокупность атрибутов, которая однозначно идентифицирует каждый кортеж данного отношения

Определение

Определение

Ключ – это совокупность атрибутов, которая однозначно идентифицирует каждый кортеж данного отношения.

Ключ может содержать дополнительные атрибуты, которые не обязательны для уникальной идентификации кортежа. Поэтому в РМД вводится понятие первичного ключа, состоящего только из тех атрибутов, которые действительно необходимы для уникальной идентификации кортежа.

Первичный ключ (PK – Primary Key) – не избыточный набор атрибутов, значения которых однозначно определяют кортеж отношения.

Первичный ключ не избыточен, если:

a. состоит из одного атрибута,

b. состоит из нескольких атрибутов, но ни один из этих атрибутов не является лишним для однозначной идентификации каждого кортежа (если ключ состоит из нескольких атрибутов, он называется составным ).

Таким образом, в соответствии с определением, первичный ключ отношения обладает следующими двумя свойствами:

• уникальность – в каждом кортеже отношения значение ключа единственным образом идентифицирует этот кортеж;

• неприводимость – никакое собственное подмножество ключа не обладает свойством уникальности.

Отношение может иметь только один первичный ключ. Если в отношении можно выделить несколько наборов атрибутов, каждый из которых уникально и не избыточно идентифицирует каждый кортеж отношения, в таком случае один из них выбирается в качестве первичного ключа, а все остальные являются альтернативными ключами (AK – Alternate Key). Например, в отношении

КАФЕДРА (Номер кафедры, Название)

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

В схеме отношения первичный ключ будем подчеркивать, а после альтернативных ключей добавлять аббревиатуру АК: КАФЕДРА (Номер кафедры, Название (АК))

Связи

Связи между сущностями отражают взаимосвязи между конкретными экземплярами сущностей. Эти взаимосвязи представляются с помощью внешних ключей.

Внешний ключ (FK – Foreign Key) – это атрибут или некоторое множество атрибутов отношения R1, которые не являются собственными атрибутами отношения R1, но их значение совпадает со значениями первичного ключа некоторого отношения R2 (возможность идентичности R1 и R2 не исключается).

Атрибуты внешнего ключа представляют собой некоторые дополнительные атрибуты, которые не определяют саму сущность, но позволяют установить ассоциации с другой сущностью.

Основными типами связей между сущностями являются связи 1: n и n: n. Рассмотрим представление этих связей. Начнем со связи типа 1: n.

Рассмотрим следующие отношения:

СОТРУДНИК с атрибутами Номер сотрудника (первичный ключ), Имя и Год рождения

ОТДЕЛ с атрибутами Номер отдела (первичный ключ) и Название.

Между этими отношениями определена связь типа 1: n – каждый сотрудник работает в одном определенном отделе, и в каждом отделе работают много сотрудников. Диаграмма сущность-связь П.Чена имеет следующий вид (Рис. 4.3):

Рис. 4.3. Представление связи типа 1: n в диаграмме П. Чена

Эта связь определяется атрибутом внешнего ключа в отношении СОТРУДНИК: в это отношение включается внешний ключ Номер отдела, значения которого совпадают со значениями первичного ключа Номер отдела отношения ОТДЕЛ. В схеме отношения атрибуты внешнего ключа будем помечать аббревиатурой FK. Схемы отношений будут выглядеть следующим образом:

ОТДЕЛ (Номер отдела, Название (АК))

СОТРУДНИК (Номер сотрудника, Имя, Год рождения, Номер отдела (FK))

Этим схемам отношений удовлетворяют следующие реализации (Рис. 4.4):

ОТДЕЛ Номер отдела Название
  Первичный ключ Альтернативный ключ
    Бухгалтерия
    АХО
    Библиотека
СОТРУДНИК Номер сотрудника Имя Год рождения Номер отдела
  Первичный ключ     Внешний ключ
    Иванов    
    Петров    

Рис. 4.4. Пример представления связи типа 1: n в РМД

В данном примере в отношении СОТРУДНИК может появиться кортеж <3, Сидоров, 1985, 3>, но не может появиться кортеж <3, Сидоров, 1983, 5>, так как в этом кортеже значению «5» внешнего ключа отношения СОТРУДНИК не соответствует никакое значение первичного ключа отношения ОТДЕЛ.

Таким образом, связи типа 1: n никак специально не представляются, только в отношении на стороне «много» появляются атрибуты внешнего ключа.

Следует отметить, что нотация IDEF1x полностью соответствует представлению связи в РМД (Рис. 4.5).

Рис. 4.5. Представление связи типа 1: n в нотации IDEF1x

Рассмотрим представление связи типа n: n. Например, рассмотрим отношение ПОСТАВЩИК с атрибутами Номер поставщика (первичный ключ), Имя и Адрес, и отношение ДЕТАЛЬ с атрибутами Номер детали (первичный ключ), Название и Цена. Между этими отношениями определена связь типа n: n – каждый поставщик поставляет много деталей, и каждая деталь поставляется многими поставщиками. Диаграмма сущность-связь П.Чена имеет следующий вид (Рис. 4.6):

Рис. 4.6. Представление связи типа n: n в диаграмме П. Чена

В этом случае в РМД связь ПОСТАВКА (ПОСТАВЩИК, ДЕТАЛЬ) представляется собственным отношением, в котором будут атрибуты внешних ключей, ссылающиеся на отношения ПОСТАВЩИК и ДЕТАЛЬ. Эти атрибуты могут войти в состав первичного ключа отношения связи. Кроме того, отношение связи может иметь собственный атрибут. Схемы отношений будут выглядеть следующим образом:

ПОСТАВЩИК (Номер поставщика, Имя, Адрес)

ДЕТАЛЬ (Номер детали, Название, Цена)

ПОСТАВКА (Номер поставщика (FK1), Номер детали (FK2), Количество)

Пример реализации этих отношений (Рис. 4.7):

ПОСТАВЩИК Номер поставщика Имя Адрес
  Первичный ключ    
  S1 Иванов Москва
  S2 Сидоров Санкт Петербург
  S3 Петров Тюмень
ДЕТАЛЬ Номер детали Название Цена
  Первичный ключ    
  P1 Болт  
  P2 Винт  
  P3 Гайка  
  P4 Шуруп  
ПОСТАВКА Первичный ключ отношения связи Количество
Номер поставщика Номер детали
  Внешний ключ отношения ПОСТАВЩИК Внешний ключ отношения ДЕТАЛЬ Собственный атрибут связи
  S1 P1  
  S1 P2  
  S2 P3  

Рис. 4.7. Пример представления связи типа n: n в РМД

И в этом случае нотация IDEF1x полностью соответствует РМД. На ранних этапах проектирования могут появиться связи типа n: n, которые в дальнейшем, на следующих этапах, заменяются дополнительным отношением сущности и двумя связями типа 1: n (Рис. 4.8). Поэтому в дальнейшем, для иллюстрации схем отношений и связей между отношениями будет использована нотация IDEF1x.

Рис. 4.8. Преобразование связи типа n: n в связь типа 1: n в нотации IDEF1x


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: