Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по БД.doc
Скачиваний:
95
Добавлен:
01.05.2014
Размер:
413.18 Кб
Скачать

Метод проектирования «сущность – связь».

Метод проектирования «сущность – связь» или, как его еще называют, ER - метод(Entity-сущность, Relationship- связь) является универсальным методом проектирования баз данных. Метод применим при любом количестве атрибутов. В нем, также как и в методе декомпозиции, используются ФЗ, но на завершающем этапе проектирования. Основу ER-метода составляет модель «сущность-связь» или ER-модель.

ER-модель является семантической, а не реляционной, моделью. Такая модель используется на начальной стадии проектирования баз данных, а затем может быть преобразована в концептуальную модель любого известного типа, в том числе и реляционного. Есть четкие методы таких преобразований, одним из которых и является метод проектирования «сущность-связь», предназначенный для формализованного перехода от семантической модели к реляционной. Семантическая модель была предложена в 1976 году Питером Пин-Шен Ченом[1],. Сейчас эта модель используется не только при ручном проектировании БД методом «сущность – связь», но и во всех CASE – средствах проектирования БД.

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

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

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

Связь – ассоциация (зависимость) устанавливаемая между двумя или более сущностями, обычно выражается глаголом. Чаще всего используются бинарные связи, то есть связи между двумя разными сущностями или сущностью и ею же самой. В последнем случае связь называется рекурсивной. В связи выделяются два конца, для каждого конца указывается его имя и степень, т. е. сколько экземпляров сущности участвует в связи, а также класс принадлежности сущности связи (обязательная или необязательная). На диаграммах связи изображают весьма разнообразно. Поскольку ER-модель получила развитие в работах многих авторов, то и графические средства, предложенные ими для изображения ER-диаграмм, отличаются друг от друга. Наиболее распространенными являются нотации Чена, Хау и Баркера. В книге Г. Джексона [2] используется нотация Хау. В ней связь изображается ромбом с именем связи, степень связи – цифрой 1 ( если в связи участвует один экземпляр) и буквами ,например: m, n, p ,(если в связи участвуют несколько экземпляров); обязательность – необязательность связи обозначается точкой на линии связи внутри сущности или снаружи соответственно. В нотации Баркера связь изображается линией, сплошной или пунктирной до середины в зависимости от того, является ли она обязательной или необязательной. Сплошная линия означает обязательность участия в связи хотя бы одного экземпляра сущности, со стороны которой эта линия проведена, а пунктирная – необязательность. Множественная связь имеет в нотации Баркера вид «вороньей лапы» ().

Например, уже описанная ранее связь между секретарем кафедры и кафедрой, является связью 1:1. Эта связь обязательна со стороны сущности «кафедра» и необязательна со стороны сущности «секретарь», поскольку кафедра временно может и не иметь секретаря, но секретарь кафедры должен работать на какой-то, причем только на одной, кафедре. Графическое изображение связи между сущностями «секретарь» и «кафедра» приведено на рис. 2.9.

рис. 2.9. Пример связи 1:1, необязательной с одной из сторон.

Также описанная ранее связь между сущностью «секретарь приемной комиссии» и сущностью «абитуриент» является примером сущности 1:n, обязательной с обеих сторон. Ее графическое изображение приведено на рис. 2.10.

рис. 2.10.

Примером связи многие-ко-многим (n:m) является связь между сущностями «абитуриент» и «предмет». Эта связь является обязательной с обеих сторон, поскольку каждый абитуриент сдает экзамен хотя бы по одному предмету, а каждый предмет сдает хотя бы один человек. Графическое изображение связи между сущностями «абитуриент» и «предмет» приведено на рис. 2.11.

рис. 2.11

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

В качестве примера рекурсивной связи можно привести связь, изображенную на рис. 2.12. Это связь «человек является отцом человека». Она является связью 1:n, поскольку у каждого человека может быть несколько детей, но отец у каждого один. Связь необязательна со стороны n и обязательна со стороны 1, так как человек не обязательно является отцом, но отец есть у каждого человека.

Рис. 2.12.

В ER-модели существует понятие зависимой сущности, которая не может существовать сама по себе, а только относительно к сущности, от которой она зависит. Зависимая линия связи представляется стрелкой, указывающей в сторону зависимой сущности (нотация Чена). Примером сущности, зависимой от сущности «проект»может служить сущность «задача», если каждая задача на предприятии решается в рамках какого-нибудь проекта, или сущность «отдел в магазине» зависит от сущности «магазин», поскольку вне магазина отдел существовать не может. Диаграмма связи между сущностями «магазин» и «отдел» изображена на рисунке 2.13.

рис.2.13

В ER-модели Чена существуют также понятия общей сущности и ее категорий, у Баркера этим понятиям соответствуют супертип и подтип, а у Хау сущность и ее роли.

Например, общая сущность – «лэтишник» (человек, имеющий отношение к ЛЭТИ – институту, который сейчас имеет сокращенное название СПбГЭТУ), а ее категории – «студент» и «преподаватель». Это ситуация, когда две сущности - «студент» и «преподаватель», имеют некоторые общие атрибуты, например, номер паспорта, фамилию, имя. отчество, адрес и телефон, но и чем-то отличаются друг от друга. Сущность «студент», например, имеет атрибуты: «номер студенческого билета», «номер группы», а сущность «преподаватель» - атрибуты «название кафедры», на которой он работает и «должность». Специфика категории, ее отличие от общей сущности может быть и функциональным, то есть сущность и ее категории могут отличаться не только по составу атрибутов, но и своими связями с другими сущностями предметной области. При этом новых атрибутов, отличных от атрибутов общей сущности, у категории может и не быть. Общая сущность обязательно имеет однозначный идентификатор. Категории могут и не иметь дополнительного, отличного от общей сущности, однозначного идентификатора. Между категориями может существовать связь. Пример связей между сущностью ЛЭТИШНИК и ее категориями Студент изображен на рис. 2.14. Каждая из категорий имеет собственный однозначный идентификатор, отличный от идентификатора общей сущности. Категории связаны друг с другом, поскольку преподаватель обучает студента, а студент обучается у преподавателя. На рис. 2.15. показаны связи, затрагивающие сущность Учитель и ее категории Заведующий кабинетом, Классный руководитель, Предметник из предметной области, описанной в задании № !! к курсовой работе. Будем считать, что полного совпадения фамилий, имен и отчеств учителей одной школы быть не может, тогда набор атрибутов Фамилия, Имя, Отчество может быть однозначным идентификатором учителя. Общими атрибутами сущности Учитель являются все данные, необходимые отделу кадров, - паспортные данные, стаж, категория, образование и т.п. Функциональной, но не атрибутной спецификой категории Заведующий кабинетом является связь «заведует» с сущностью Кабинет, а спецификой категории Классный руководитель – связь «является» с сущностью Класс. То же и для категории Предметник, не имея никаких специфических, по сравнению с общей сущностью, атрибутов, она имеет специфическую связь «преподает» с сущностью Предмет. Каждая из перечисленных категорий сущности Учитель не имеет не только специфических идентификаторов, но и вообще атрибутов, отличных от атрибутов, общей сущности.

рис. 2.14

рис. 2.15

При описании предметной области не всегда достаточно бинарных связей. Пример такой ситуации описан Г.Джексоном[2]. Проводник, который сопровождает любителей рыбной ловли, обслуживает несколько озер, каждое озеро обслуживается несколькими проводниками, в каждом озере водится несколько видов рыбы и каждый вид рыбы может водится в разных озерах, каждый проводник предпочитает ловить определенные виды рыбы.

В ситуации, когда ему безразлично, в каком озере ловить тот или иной вид рыбы, достаточно трех бинарных связей, но если проводник предпочитает ловить рыбу вида 1 в озере А, а рыбу видов 2 и 3 – в озере В, то для описания такой ситуации потребуется трехсторонняя связь. Она изображается на диаграмме так, как показано на рис. 2.16.

Рис. 2.16.

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

Если в связи одновременно участвуют три и более сущностей, такая связь называется n – сторонней, n – количество участвующих в связи сущностей.

Построение ER – диаграммы – это начальный этап проектирования БД методом «сущность – связь». Затем, имея модель предметной области (ER – модель), получают реляционную модель, используя правила генерации отношений

Соседние файлы в предмете Базы данных