47884 (597365), страница 10
Текст из файла (страница 10)
8.3 Диаграммы ER-экземпляров и ER-типа
8.4 Правила формирования отношений
8.5 Методология IDEF1 (самостоятельное изучение)
-
Возникновение семантического моделирования
Широкое распространение реляционных СУБД и их использование в самых разнообразных приложениях показывает, что реляционная модель данных достаточна для моделирования предметных областей. Однако проектирование реляционной базы данных в терминах отношений на основе механизма нормализации часто представляет собой очень сложный и неудобный для проектировщика процесс. Потребности проектировщиков баз данных в более удобных и мощных средствах моделирования предметной области вызвали к жизни направление семантических моделей данных. В этой лекции рассматривается одна из популярных семантических моделей данных – модель "сущность–связь".
Метод сущность-связь называют также методом "ER-диаграмм": во-первых, ER –аббревиатура от слов Essence (сущность) и Relation (связь), во-вторых, метод основан на использовании диаграмм, называемых соответственно диаграммами ER-экземпляров и диаграммами ER-типа.
-
Основные понятия метода
Основными понятиями метода сущность-связь являются следующие:
-
сущность – представляет собой объект, информация о котором хранится в БД. Экземпляры сущности отличаются друг от друга и однозначно идентифицируются. Названиями сущностей являются, как правило, существительные, например: ПРЕПОДАВАТЕЛЬ, ДИСЦИПЛИНА, ГРУППА.
-
Атрибут сущности – представляет собой свойство сущности. Это понятие аналогично понятию атрибута в отношении. Так, атрибутами сущности ПРЕПОДАВАТЕЛЬ может быть его Фамилия, Должность, Стаж (преподавательский) и т. д.
-
Ключ сущности – атрибут или набор атрибутов, используемый для идентификации экземпляра сущности. Как видно из определения, понятие ключа сущности аналогично понятию ключа отношения.;
-
Связь между сущностями. Связь двух или более сущностей - предполагает зависимость между атрибутами этих сущностей. Название связи обычно представляется глаголом. Примерами связей между сущностями являются следующие- ПРЕПОДАВАТЕЛЬ ВДЕТ ДИСЦИПЛИНУ (Иванов ВЕДЕТ "Организацию БД и знаний"), ПРЕПОДАВАТЕЛЬ ПРЕПОДАЕТ В ГРУППЕ (Иванов ПРЕПОДАЕТ В 256 группе);
-
Степень связи – является характеристикой связи между сущностями, которая может быть следующих видов: 1:1, 1:М, М:1, М:М.;
-
Класс принадлежности (КП) экземпляров сущности. КП сущности может быть: обязательным и необязательным. Класс принадлежности сущности является обязательным, если все экземпляры этой сущности обязательно участвуют в рассматриваемой связи, в противном случае класс принадлежности сущности является необязательным.
-
Диаграммы ER-экземпляров;
-
Диаграммы ER-типа.
Приведенные определения сущности и связи не полностью формализованы, но приемлемы для практики. Следует иметь в виду, что в результате проектирования могут быть получены несколько вариантов одной и той же БД. Так, два разных проектировщика, рассматривая одну и ту же проблему с разных точек зрения, могут получить различные наборы сущностей и связей. При этом оба варианта могут быть рабочими, а выбор лучшего из них будет результатом личных предпочтений.
-
Диаграммы ER-экземпляров и ER-типа
С целью повышения наглядности и удобства проектирования для представления сущностей, экземпляров сущностей и связей между ними используются следующие графические средства:
-
диаграммы ER-экзрмпляров,
-
диаграммы ER-типа, или ER-диаграммы.
На рисунке рис. 8.1 приведена диаграмма ER-экземпляров для сущностей ПРЕПОДАВАТЕЛЬ и ДИСЦИПЛИНА со связью ВЕДЕТ.
р
ПРЕПОДАВАТЕЛЬ | ВЕДЕТ | ДИСЦИПЛИНА |
Иванов | Средства СУБД | |
Петров | C++ | |
Сидоров | Паскаль | |
Егоров | Алгол | |
Козлов | Фортран |
Диаграмма ER-экземпляров показывает, какую конкретно дисциплину (СУБД, C++ и т.д.) ведет каждый из преподавателей. На рис. 8.2 представлена диаграмма ER-типа, соответствующая рассмотренной диаграмме ER-экземпляров.
рис. 8.2 Диаграмма ER-типа.
На начальном этапе проектирования БД выделяются атрибуты, составляющие ключи сущностей.
На основе анализа диаграмм ER-типа формируются отношения проектируемой БД. При этом учитывается степень связи сущностей и класс их принадлежности, которые, в свою очередь, определяются на основе анализа диаграмм ER-экземпляров соответствующих сущностей.
Варьируя классом принадлежности сущностей для каждого из названных типов связи, можно получить несколько вариантов диаграмм ER-типа. Рассмотрим примеры некоторых из них.
-
Связи типа 1:1 и необязательный класс принадлежности
В приведенной на рис. 8.2 диаграмме степень связи между сущностями 1:1, а класс принадлежности обеих сущностей необязательный. Действительно, из рисунка видно следующее:
-
каждый преподаватель ведет не более одной дисциплины, а каждая дисциплина ведется не более чем одним преподавателем (степень связи 1:1);
-
некоторые преподаватели не ведут ни одной дисциплины и имеются дисциплины, которые не ведет ни один из преподавателей (класс принадлежности обеих сущностей необязательный).
-
Связи типа 1:1 и обязательный класс принадлежности
На рисунке приведены диаграммы, у которых степень связи между сущностями 1:1, а класс принадлежности обеих сущностей обязательный.
р
ПРЕПОДАВАТЕЛЬ | ВЕДЕТ | ДИСЦИПЛИНА |
Иванов | Средства СУБД | |
Петров | C++ | |
Сидоров | Паскаль | |
Егоров | Алгол | |
Козлов | Фортран |
рис. 8.4 Диаграмма ER-типа для связи 1:1 и обязательным КП обеих сущностей.
В этом случае каждый преподаватель ведет одну дисциплину и каждая дисциплина ведется одним преподавателем.
Возможны два промежуточных варианта с необязательным классом принадлежности одной из сущностей.
Диаграммы ER-типа графически изображаются следующим образом:
-
обязательное участие в связи экземпляров сущности отмечается блоком с точкой внутри, смежным с блоком этой сущности (рис. 8.4).
-
необязательное участие экземпляров сущности в связи – дополнительный блок к блоку сущности не пристраивается, а точка размещается на линии связи (рис. 8.2).
-
символы на линии связи указывают на степень связи.
-
под каждым блоком, соответствующим некоторой сущности, указывается ее ключ, выделяемый подчеркиванием. Многоточие за ключевыми атрибутами означает, что возможны другие атрибуты сущности, но ни один из них не может быть частью ее ключа. Эти атрибуты выявляются после формирования отношений.
На практике степень связи и класс принадлежности сущностей при проектировании БД определяется спецификой предметной области. Рассмотрим примеры вариантов со степенью связи 1:М или М:1.
Связь типа 1:М – каждый преподаватель может вести несколько дисциплин, но каждая дисциплина ведется одним преподавателем,
Связи типа М:1 – каждый преподаватель может вести одну дисциплину, но каждую дисциплину могут вести несколько преподавателей.
Примеры с типом связи 1:М или М:1 могут иметь ряд вариантов, отличающихся классом принадлежности одной или обеих сущностей. Обозначим обязательный класс принадлежности символом "О", а необязательный - символом "Н", тогда варианты для связи типа 1:М условно можно представить как: О–О, О–Н, Н–О, Н–Н. Для связи типа М:1 также имеются 4 аналогичных варианта.
-
Связи типа 1:М вариант Н-О
Каждый преподаватель может вести несколько дисциплин ИЛИ ни одной, но каждая дисциплина ведется одним преподавателем (рис. 8.5, рис. 8.6).
р
ПРЕПОДАВАТЕЛЬ | ВЕДЕТ | ДИСЦИПЛИНА |
СУБД | ||
Иванов | ПЛ/1 | |
Петров | Паскаль | |
Сидоров | Алгол | |
Егоров | Фортран | |
Козлов | C++ | |
Java |
рис. 8.6. Диаграмма ER-типа для связи типа 1:М варианта Н-О
По аналогии легко составить диаграммы и для остальных вариантов.
Связи типа М:М – каждый преподаватель может вести несколько дисциплин, а каждая дисциплина может вестись несколькими преподавателями. Как и в случае других типов связей, для связи типа М:М возможны 4 варианта, отличающиеся классом принадлежности сущностей.
-
Связи типа М:М и вариант класса принадлежности О-Н
Допустим, что каждый преподаватель ведет не менее одной дисциплины, а дисциплина может вестись более чем одним преподавателем, есть и такие дисциплины, которые никто не ведет. Соответствующие этому случаю диаграммы приведены на рисунке рис. 8.7.
р
ПРЕПОДАВАТЕЛЬ | ВЕДЕТ | ДИСЦИПЛИНА |
Средства СУБД | ||
Иванов | ПЛ/1 | |
Петров | Паскаль | |
Сидоров | Алгол | |
Егоров | Фортран | |
Козлов | C++ | |
Java |
рис. 8.8 Диаграмма ER-типов для связи типа М : М и варианта О-Н.
Выявление сущностей и связей между ними, а также формирование на их основе диаграмм ER-типа выполняется на начальных этапах метода сущность-связь. Рассмотрим этапы реализации метода.
Процесс проектирования базы данных является итерационным – допускающим возврат к предыдущим этапам для пересмотра ранее принятых решений и включает следующие этапы:
-
выделение сущностей и связей между ними;
-
построение диаграмм er-типа с учетом всех сущностей и их связей;
-
формирование на основе построенных ранее диаграмм er-типа набора предварительных отношений с указанием предполагаемого первичного ключа для каждого отношения;
-
добавление не ключевых атрибутов в отношения;
-
приведение предварительных отношений к нормальной форме Бойса-Кодда, например, с помощью метода нормальных форм;
-
пересмотр er-диаграмм в следующих случаях;
-
некоторые отношения не приводятся к нормальной форме Бойса-Кодда;
-
некоторым атрибутам не находится логически обоснованных, мест в предварительных отношениях.
-
После преобразования ER-диаграмм осуществляется повторное выполнение предыдущих этапов проектирования (возврат к этапу 1).
Одним из узловых этапов проектирования является этап формирования отношений. Рассмотрим процесс формирования предварительных отношений, составляющих первичный вариант схемы БД.