9. Метод «сущность-связь» проектирования реляционных баз данных: основные понятия и этапы. Диаграммы ER-экземпляров и ER-типа. Правила формирования отношений на основе модели «сущность-связь».
Метод сущность-связь называют также методом «ER-диаграмм»: во-первых, ER - аббревиатура от слов Essence (сущность) и Relation (связь), во-вторых, метод основан на использовании диаграмм, называемых соответственно диаграммами ER-экземпляров и диаграммами ER-типа.
Основными понятиями метода сущность-связь являются следующие: сущность, атрибут сущности, ключ сущности, связь между сущностями, степень связи, класс принадлежности экземпляров сущности, диаграммы ER-экземпляров, диаграммы ER-типа.
Сущность представляет собой объект, информация о котором хранится в БД. Экземпляры сущности отличаются друг от друга и однозначно идентифицируются. Названиями сущностей являются, как правило, существительные, например: ПРЕПОДАВАТЕЛЬ, ДИСЦИПЛИНА, КАФЕДРА, ГРУПП А.
Атрибут представляет собой свойство сущности. Это понятие аналогично понятию атрибута в отношении. Так, атрибутами сущности ПРЕПОДАВАТЕЛЬ может быть его Фамилия, Должность, Стаж.
Ключ сущности — атрибут или набор атрибутов, используемый для идентификации экземпляра сущности. Понятие ключа сущности аналогично понятию ключа отношения.
Связь двух или более сущностей – предполагает зависимость между атрибутами этих сущностей. Название связи обычно представляется глаголом. Примерами связей между сущностями являются следующие: ПРЕПОДАВАТЕЛЬ ВЕДЕТ ДИСЦИПЛИНУ (Иванов ВЕДЕТ «Базы данных»), ПРЕПОДАВАТЕЛЬ ПРЕПОДАЕТ-В ГРУППЕ (Иванов ПРЕПОДАЕТ-В 256 группе), ПРЕПОДАВАТЕЛЬ РАБОТАЕТ-НА КАФЕДРЕ (Иванов РАБОТАЕТ-НА 25 кафедре).
С целью повышения наглядности и удобства проектирования для представления сущностей, экземпляров сущностей и связей между ними используются следующие графические средства: диаграммы ER-экземпляров, диаграммы ER-muna, или ER-диаграммы.
На рис. 6.1 приведена диаграмма ER-экземпляров для сущностей ПРЕПОДАВАТЕЛЬ и ДИСЦИПЛИНА со связью ВЕДЕТ.
Рис. 6.1. Диаграмма ER-экземпляров.
Рис. 6.2. Диаграмма ER-типа.
Диаграмма ЕR-экземпляров показывает, какую конкретно дисциплину (СУБД, ПЛ/1 и т.д.) ведет каждый из преподавателей. На рис. 6.2 представлена диаграмма ER-типа, соответствующая рассмотренной диаграмме ER-экземпляров.
На начальном этапе проектирования БД выделяются атрибуты, составляющие ключи сущностей.
На основе анализа диаграмм ER-типa формируются отношения проектируемой БД. При этом учитывается степень связи сущностей и класс их принадлежности. Степень связи является характеристикой связи между сущностями, которая может быть типа: 1:1,1:М, М:1, М:М.
Класс принадлежности(КП) сущности может быть: обязательным и необязательным.
Класс принадлежности сущности является обязательным, если все экземпляры этой сущности обязательно участвуют в рассматриваемой связи, в противном случае - необязательным.
Варьируя классом принадлежности сущностей для каждого из названных типов связи, можно получить несколько вариантов диаграмм ER-типа. Рассмотрим примеры некоторых из них.
Пример 1. Связи типа 1:1 и необязательный класс принадлежности.
В приведенной на рис. 6.1 диаграмме степень связи между сущностями 1:1, а класс принадлежности обеих сущностей необязательный. Действительно, из рисунка видно следующее:
каждый преподаватель ведет не более одной дисциплины, а каждая дисциплина ведется не более чем одним преподавателем (степень связи 1:1);
некоторые преподаватели не ведут ни одной дисциплины и имеются дисциплины, которые не ведет ни один из преподавателей (класс принадлежности обеих сущностей необязательный).
Пример 2. Связи типа 1:1 и обязательный класс принадлежности. На рис. 6.3 приведены диаграммы, у которых степень связи между сущностями 1:1, а класс принадлежности обеих сущностей обязательный.
В этом случае каждый преподаватель ведет одну дисциплину и каждая дисциплина ведется одним преподавателем.
Рис. 6.3. Диаграммы дли связи 1:1 и обязательным КП обеих сущностей.
Замечания.
На диаграммах ER-типа обязательное участие в связи экземпляров сущности отмечается блоком с точкой внутри, смежным с блоком этой сущности (рис. 6.3б).
При необязательном участии экземпляров сущности в связи дополнительный блок к блоку сущности не пристраивается, а точка размещается на линии связи (рис. 6.2).
Символы на линии связи указывают на степень связи.
Пример 3. Связи типа 1:М. Каждый преподаватель может вести несколько дисциплин, но каждая дисциплина ведется одним преподавателем.
Пример 4. Связи типа М:1. Каждый преподаватель может вести одну дисциплину, но каждую дисциплину могут вести несколько преподавателей.
Примеры с типом связи 1:М или М:1 могут иметь ряд вариантов, отличающихся классом принадлежности одной или обеих сущностей. Обозначим обязательный класс принадлежности символом «О», а необязательный - символом «Н», тогда варианты для связи типа 1:М условно можно представить как: О-О, O-Н, Н-О, H-Н. Для связи типа М:1 также имеются 4 аналогичных варианта.
Пример 5. Связи типа 1:М вариант Н-О. Каждый преподаватель может вести несколько дисциплин или ни одной, но каждая дисциплина ведется одним преподавателем (рис. 6.4).
Пример 6. Связи типа М:М. Каждый преподаватель может вести несколько дисциплин, а каждая дисциплина может вестись несколькими преподавателями. Как и в случае других типов связей, для связи типа М:М возможны 4 варианта, отличающиеся классом принадлежности сущностей.
Пример 7. Связи типа М:М и вариант класса принадлежности О-Н. Допустим, что каждый преподаватель ведет не менее одной дисциплины, а дисциплина может вестись более чем одним преподавателем, есть и такие дисциплины, которые никто не ведет (рис. 6.5).
Рис. 6.4. Диаграммы для связи типа 1:М варианта Н-О.
Рис. 6.5. Диаграммы для связи типа М: М и варианта О-Н.
Выявление сущностей и связей между ними, а также формирование на их основе диаграмм ER-типа выполняется на начальных этапах метода сущность-связь. Рассмотрим этапы реализации метода.
Этапы проектирования. Процесс проектирования базы данных является итерационным допускающим возврат к предыдущим этапам для пересмотра ранее принятых решении и включает следующие этапы:
1. Выделение сущностей и связей между ними.
2. Построение диаграмм ER-типа с учетом всех сущностей и их связей.
3. Формирование набора предварительных отношений с указанием предполагаемого первичного ключа для каждого отношения и использованием диаграмм ER-типа.
4. Добавление неключевых атрибутов в отношения.
5. Приведение предварительных отношений к нормальной форме Бойса -Кодда, например, с помощью метода нормальных форм.
6. Пересмотр ER-диаграмм в следующих случаях:
некоторые отношения не приводятся к нормальной форме Бойса - Кодда;
некоторым атрибутам не находится логически обоснованных мест в предварительных отношениях.
После преобразования ER-диаграмм осуществляется повторное выполнение предыдущих этапов проектирования (возврат к этапу 1).
Одним из узловых этапов проектирования является этап формирования отношений. Рассмотрим процесс формирования предварительных отношений, составляющих первичный вариант схемы БД.
В рассмотренных выше примерах связь ВЕДЕТ всегда соединяет две сущности и поэтому является бинарной. Сформулированные ниже правила формирования отношений из диаграмм ER-типа распространяются именно на бинарные связи. Поэтому, когда речь идет о связях, слово «бинарные» далее опускается.
Правила формирования отношенийосновываются на учете следующего:
степени связи между сущностями (1:1,1:М, М;1, М:М);
класса принадлежности экземпляре сущностей (обязательный и необязательный).
Рассмотрим формулировки шести правил формирования отношений на основе диаграмм ER-типа.
Формирование отношений для связи 1:1.
Правило 1. Если степень бинарной связи 1:1 и класс принадлежности обеих сущностей обязательный, то формируется одно отношение. Первичным ключом этого отношения может быть ключ любой из двух сущностей. На рис. 6.6 приведены диаграмма ER-типа и отношение, сформированное по правилу 1 на ее основе.
Рис. 6.6. Диаграмма и отношения для правила 1.
Рис. 6.7. Полученные по правилу 1 схема и отношение.
На рисунке используются следующие обозначения: C1, C2 - сущности 1 и 2;
K1, K2- ключи первой и второй сущности соответственно;
R1 - отношение 1, сформированное на основе первой и второй сущностей;
K1vK2,... означает, что ключом сформированного отношения может быть либо К1, либо К2.
Это и другие правила будем проверять, рассматривая различные варианты связи ПРЕПОДАВАТЕЛЬ ВЕДЕТ ДИСЦИПЛИНУ. Пусть сущность ПРЕПОДАВАТЕЛЬ характеризуется атрибутами НП (идентификационный номер преподавателя), ФИО (фамилия, имя и отчество), Стаж (стаж преподавателя). Сущность ДИСЦИПЛИНА характеризуется соответственно атрибутами КД (код дисциплины), Часы (часы, отводимые на дисциплину). Тогда схема отношения, содержащего информацию об обеих сущностях, и само отношение для случая, когда степень связи равна 1:1, а КП обязательный для всех сущностей, могут иметь вид, показанный на рис. 6.7.
Правило 2. Если степень связи 1:1 и класс принадлежности одной сущности обязательный, а второй – необязательный, то под каждую из сущностей формируется по отношению с первичными ключами, являющимися ключами соответствующих сущностей. Далее к отношению, сущность которого имеет обязательный КП, добавляется в качестве атрибута ключ сущности с необязательным КП.
На рис. 6.8 приведены диаграмма ER-типа и отношения, сформированные но правилу 2 на ее основе.
Рис. 6.8. Диаграмма и отношения для правила 2.
Рис. 6.9. Исходное отношение.
На рис. 6.9 приведено исходное отношение, содержащее информацию о преподавателях и дисциплинах (ПРЕПОДАВАТЕЛЬ - обязательный, ДИСЦИПЛИНА – необязательный). Пробелы «—» (пустые поля) присутствуют во всех кортежах с информацией о дисциплинах (не ведутся ни одним из преподавателей).
Избежать этой ситуации можно, применив правило 2, в соответствии с которым, выделяются два отношения, приведенные на рис. 6.10.
Рис.6.10. Отношения, полученные по правилу 2.
Рис. 6.11. Связь отношений по внешнему ключу.
В результате мы избежали пустых полей в отношениях, не потеряв данных. Добавив атрибут КД - ключ сущности ДИСЦИПЛИНА (с необязательным КП) в качестве внешнего ключа в отношение, соответствующее сущности ПРЕПОДАВАТЕЛЬ (с обязательным КП), мы связали отношения (рис. 6.11).
Правило 3. Если степень связи 1:1 и класс принадлежности обеих сущностей является необязательным, то необходимо использовать три отношения. Два отношения соответствуют связываемым сущностям, ключи которых являются первичными в этих отношениях. Третье отношение является связным между первыми двумя, поэтому его ключ объединяет ключевые атрибуты связываемых отношений.
Рис. 6.12. Диаграмма и отношения для правила 3. Рис. 6.13. Варианты отношений для правила 3.
Ни рис. 6.12 приведены диаграмма ER-типа и отношения, сформированные но правилу 3 на ее основе.
На рис. 6.13 приведены примеры отношений, подтверждающие необходимость использования трех отношений при наличии необязательного КП для обеих связываемых сущностей.
Формирование отношений для связи 1:М.
Если две сущности С1 И С2 связаны как 1:М, сущность С1 будем называть односвязной (1-связной), а сущность С2 многосвязной (М-связной). Определяющим фактором при формировании отношений, связанных этим видом связи, является класс принадлежности М-связной сущности. Так, если класс принадлежности М-связной сущности обязательный, то в результате применения правила получим два отношения, если необязательный три отношения. Класс принадлежности односвязной сущности не влияет на результат.
Чтобы убедиться в этом, рассмотрим отношение ПРЕПОДАВАТЕЛЬ-ДИСЦИПЛИНА (рис. 6.14), соответствующее диаграммам, приведенным на рис. 6.4, т. е. случаю, когда: связь типа 1:М, класс принадлежности М-связной сущности обязательный, 1-связной – необязательный.
Рис. 6.14. Исходное отношение.
С отношением ПРЕПОДАВАТЕЛЬ_ДИСЦИПЛИНА (рис. 6.14) связаны следующие проблемы:
имеются кортежи с пустыми полями (преподаватель не ведет дисциплины),
избыточное дублирование данных (повторяется стаж преподавателя) в кортежах со сведениями о преподавателях, ведущих несколько дисциплин.
Если бы класс принадлежности 1-связной сущности был обязательным (нет преподавателя без дисциплины), то исчезли бы пустые поля, но повторяющиеся данные в атрибутах преподавателя сохранились бы. Для устранения названных проблем отношения могут быть сформированы по следующему правилу.
Правило 4. Если степень связи между сущностями 1:М (или М:1)и класс принадлежности М-связной сущности обязательный, то достаточно формирование двух отношений (по одному на каждую из сущностей). При этом первичными ключами этих отношений являются ключи их сущностей. Кроме того, ключ 1-связной сущности добавляется как атрибут (внешний ключ) в отношение, соответствующее М-связной сущности.
На рис. 6.15 приведены диаграмма ER-типа и отношения, сформированные но правилу 4.
Рис. 6.15. Диаграмма и отношения для правила 4.Рис. 6.13. Варианты отношений для правила 3.
В соответствии с правилом 4 преобразуем отношение на рис. 6.14 в два отношения (рис. 6.16).
Рис. 6.16. Отношения, полученные по правилу 4.
Пример. Связь между сущностями 1:М, а класс принадлежности М-связной сущности необязательный.
Пусть класс принадлежности 1-связной сущности также необязательный, хотя это и не принципиально, так как определяющим является класс принадлежности М-связной сущности. Посмотрим, к чему может привести использование одного отношения в этом случае (рис. 6.17).
Рис. 6.17. Исходное отношение.
С приведенным отношением связаны следующие проблемы:
1. Имеются пустые поля в кортежах, которые содержат следующее:
а) данные о преподавателях, не ведущих дисциплин;
б) данные о дисциплинах, которые не ведутся преподавателями.
2. Избыточное дублирование данных о преподавателях, ведущих более одной дисциплины.
В случае обязательного класса принадлежности 1 -связной сущности исчезают проблемы 1 а). Для устранения всех проблем нужно перейти к трем отношениям в соответствии со следующим правилом.
Правило 5. Если степень связи 1 :М (М: 1) и класс принадлежности М-связной сущности является необязательным, то необходимо формирование трех отношений (рис. 6.18). Два отношения соответствуют связываемым сущностям, ключи которых являются первичными в этих отношениях. Третье отношение является связным между первыми двумя (его ключ объединяет ключевые атрибуты связываемых отношений).
Рис. 6.18. Диаграмма и отношение для правила 5.
Рис. 6.19. Отношения, полученные по правилу 5.
В результате применения правила 5 к рассматриваемому отношению содержащиеся в нем данные (рис. 6.17) распределяются по трем отношениям (рис. 6.19).
Формирование отношений для связи М:М.
При наличии связи М:М между двумя сущностями необходимо три отношения независимо от класса принадлежности любой из сущностей. Использование одного или двух отношений в этом случае не избавляет от пустых полей или избыточно дублируемых данных.
Правило 6. Если степень связи М:М, то независимо от класса принадлежности сущностей формируются три отношения. Два отношения соответствуют связываемым сущностям и их ключи являются первичными ключами этих отношений. Третье отношение является связным между первыми двумя, а его ключ объединяет ключевые атрибуты связываемых отношений. На рис. 6.20 приведены диаграмма ER-типа и отношения, сформированные но правилу 6. Нами показан вариант с классом принадлежности сущностей Н-Н, хотя, согласно правилу 6, он может быть произвольным.
Рис. 6.20. Диаграмма и отношения для правила 6.
Применим правило 6 к примеру, приведенному на рис. 6.5. В нем степень связи равна М:М, класс принадлежности для сущности ПРЕПОДАВАТЕЛЬ обязательный, а для сущности ДИСЦИПЛИНА необязательный. Соответствующее этому примеру исходное отношение показано на рис. 6.21.
Рис. 6.21. Исходное отношение.
Рис. 6.22. Отношения, полученные по правилу 6.
|