Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
21
Добавлен:
15.04.2015
Размер:
180.61 Кб
Скачать

Лекция 8. Инфологическое проектирование БД (часть 3).

План лекции

  1. Семантика атрибутов.

  2. Синтаксис атрибутов.

  3. Первичные и альтернативные ключи.

  4. Семантика первичных и альтернативных ключей. Синтаксис первичных и альтернативных ключей.

  5. Внешние ключи. Семантика внешних ключей.

  6. Синтаксис внешних ключей.

  7. Пример изображения внешних ключей.

  8. Рекурсивное отношение.

  9. Рекурсивный внешний ключ . Изображение рекурсивного отношения.

  10. Необходимость использования имени роли.

Содержание лекции

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

Сущность должна обладать атрибутом или комбинацией атрибутов, чьи значения однозначно определяют каждый экземпляр сущности. Эти атрибуты образуют первичный ключ сущности. Например, первичным ключом сущности СЛУЖАЩИЙ является атрибут ТАБЕЛЬНЫЙ_НОМЕР, тогда как атрибуты ФАМИЛИЯ, ТЕЛЕФОН и т.д. будут другими (не ключевыми) атрибутами.

В дополнение к «собственным» атрибутам сущности, атрибут может «наследоваться» сущностью через специфическое отношение или отношение категоризации, в котором сущность является сущностью-потомком. Например, если каждый служащий приписан к какому-нибудь отделу, то атрибут НОМЕР_ОТДЕЛА может быть атрибутом сущности СЛУЖАЩИЙ, наследуемым через отношение сущности СЛУЖАЩИЙ к сущности ОТДЕЛ.

Синтаксис атрибутов. Каждый атрибут идентифицируется уникальным именем, выражаемым грамматическим оборотом существительного.

  • Существительное должно быть в единственном числе.

  • Каждый атрибут внутри блока сущности занимает одну строку.

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

Первичные и альтернативные ключи

Семантика первичных и альтернативных ключей

Возможный ключ сущности — это один или несколько атрибутов, чьи значения однозначно определяют каждый экземпляр сущности. Например, ТАБЕЛЬНЫЙ_НОМЕР однозначно определяет экземпляр сущности СЛУЖАЩИЙ (Рис.1).

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

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

Рис.1. Ключевые и неключевые атрибуты сущности СЛУЖАЩИЙ

Синтаксис первичных и альтернативных ключей

Определяющие первичный ключ атрибуты размещаются наверху списка атрибутов в, блоке сущности и отделяются от других атрибутов горизонтальной чертой (Рис.1).

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

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

Внешние ключи

Семантика внешних ключей. Если между двумя сущностями имеется специфическое отношение связи или категоризации, то атрибуты, входящие в первичный ключ родительской или общей сущности, наследуются в качестве атрибутов сущностью-потомком или категорией сущностью соответственно. Эти наследуемые атрибуты называются внешними ключами. Например, на рис. 2 сущности СЛУЖАЩИЙ и ЗАКАЗ_НА_ПОКУПКУ наследуют атрибуты (внешние ключи) НОМЕР_ОТДЕЛА и НОМЕР_ТОВАРА.

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

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

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

В некоторых случаях сущность-потомок может иметь несколько отношений с одной и той же сущностью-родителем. Первичный ключ сущности-родителя появится для каждого отношения в качестве наследуемых атрибутов в сущности-потомке. Для каждого факта наследования первичного ключа должно назначаться имя роли.

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

Рис.2. Пример изображения внешних ключей

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

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

Наследуемые атрибуты могут быть также частью альтернативного ключа.

Рекурсивное отношение

Рекурсивное отношение – это отношение, связывающее сущность саму с собой.

Рекурсивный внешний ключ – внешний ключ, ссылающийся на свою собственную реляционную таблицу.

Рассмотрим таблицу СОТРУДНИК, в которой содержатся сведения о сотрудниках и их руководителях. Например, сотрудник с номером 1311 является руководителем сотрудника 1235. Сотрудники Сидоров и Чернов не имеют руководителей (Рис.3).

Рис.3. Пример рекурсивного отношения

Значения чисел колонки «Руководитель» выбирается из множества значений чисел зафиксированных в колонке «Номер сотрудника».

Говорят, что первичный ключ сущности СОТРУДНИК мигрирует в эту же сущность. Но в сущности не может быть двух одинаковых атрибутов, поэтому имя мигрировавшего атрибута должно быть изменено на другое – имя роли, т.е. « ».

Рис.4. Изображение рекурсивного отношения:

а) – неправильное изображение

б) – правильное изображение

Следует обратить внимание на то, что отношение всегда должно быть необязательно. Если какая-либо из сторон отношения обязательная (Рис.4,а), то в результате получается бесконечная иерархия, это означает, что у сотрудника обязательно должен быть начальник. Если это верно, то кто является начальником самого высшего должностного лица организации? В равной степени недопустимо делать правую сторону обязательной (на рис. 4,а на это указывает символ Р) – в этом случае каждый сотрудник должен кем-то руководить. На рис. 4,б показан правильный вариант изображения рекурсивного отношения (пунктирная линия с символом необязательности связи слева – ромб, и отсутствием символа Р около точки справа).

Рис.5. Рекурсивное отношение связи для сущности СОТРУДНИК

В рекурсивном отношении собственный ключ (например, номер сотрудника) определенным образом переходит во внешний ключ (Рис.5).

Впереди мигрировавшего атрибута указывается имя роли, т.е. «Руководитель». Если имя роли не использовать, то при миграции атрибута Номер сотрудника не появиться в сущности СОТРУДНИК еще один раз потому, что двух одинаковых атрибутов в сущности не должно быть.

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

Список литературных источников

  1. Стандарт. Русская версия. Методология IDEF1X. МетаТехнология , 1993. 106с.

  2. Построение моделей средствами пакета Design/IDEF: Методические указания к лабораторным работам / Рязан. гос. радиотехн. акад.; Сост.: В.В. Коваленко, М.В. Ерофеев, Е.Ю. Зубова, О.Г. Светников: Рязань: РГРТА, 2000. 40с.

Соседние файлы в папке Консп. лекций