Реферат на тему:


Воспользуйтесь поиском к примеру Реферат        Грубый поиск Точный поиск






Загрузка...
Модель "сущность-связь" баз данных

Модель "сущность-связь" баз данных

План

1. Сущности

2. Связи

3. Атрибуты

4. Мощность связей

5. Сильные и слабые связи

6. Атрибуты связей

7. Обязательные и необязательные связи

8. Слабые сущности

9. Сложные связи

10. Рекурсивные связи

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

- семантические модели;

- объектные модели.

Семантические модели главное внимание уделяют структуре данных. Наиболее распространенной семантической моделью является модель "сущность - связь" (Entity Relationship model, ER-модель). ER-модель состоит из сущностей, связей, атрибутов, доменов атрибутов, ключей. Моделирование данных отражает логическую структуру данных, так же, как блок-схемы алгоритмов отражают логическую структуру программы.

Объектные модели главное внимание уделяют поведении объектов данных и средствам манипуляции данными. Главное понятие таких моделей - объект, то есть сущность, которая имеет состояние и поведение. Состояние объекта определяется совокупностью его атрибутов, а поведение объекта определяется совокупностью операций специфицированных для него.

Сближение этих моделей реализуется в расширенном ER- моделировании (Extended Entity Relationship model, EER-модель).

Модель "сущность-связь»

ER-моделирование представляет собой нисходящий подход к проектированию БД, который начинается с определения наиболее важных данных, которые называются сущностями (entities), и связей (relationships) между данными, которые должны быть представлены в модели. Затем в модель заносится информация о свойствах сущностей и связей, которая называется атрибутами (attributes), а также все ограничения, которые относятся к сущностям,связей и атрибутов. ER-модель дает графическое представление логических объектов и их отношений в структуре БД. Последовательность проведения ER-моделирования показана на рис. 5.1.

Впервые понятие ER-модели ввел П.Чен. Подход П.Чена позволил концептуальное моделирование перевести в практическую плоскость проектирования БД. В дальнейшем диаграммы Чена получили развитие во многих других работах с ER- моделирования. К ним относятся такие модели:

- "птичья лапка", разработанная К.М. Бахманом;

- IDEF1X, разработанная Т.Ремеем;

- на основе UML;

- модель Баркера и многие другие модели.

Сущности

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

Пример. Сущность Преподаватель может иметь следующие атрибуты: Табельный номер, Фамилия, Имя, Отчество, Должность, Ученая степень.

Набор атрибутов, однозначно идентифицирует конкретный экземпляр сущности, называют ключевым. В приведенном примере для сущности Преподаватель ключом будет Табельный номер, поскольку для всех преподавателей табельные номера разные. Экземпляром сущности Преподаватель будет описание конкретного преподавателя. Общепринятое обозначение сущности - прямоугольник (рис. 5.2).

Связи

Между сущностями устанавливаются связи, указывающие каким образом сущности соотносятся или взаимодействуют между собой. Различают следующие связи:

- между двумя сущностями (бинарный связь);

- между тремя сущностями (тернарный связь);

- между N сущностями (N-арный связь);

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

каким образомэкземпляры сущностей связаны между собой. Бинарные связи бывают:

- 1: 1 (один к одному);

- 1: M (один ко многим);

- N: M (многие ко многим).

На рис. 5.3, 5.4 показаны отражения этих связей в различных ER-моделей.

Атрибуты

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

Пример. Атрибут Оценка может принимать четыре значения: 2, 3, 4, 5. Эти значения и составляют домен этого атрибута.

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

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

Атрибуты ФИО и Адрес являются составными. ФИО может быть разделен на атрибуты: фамилия, имя, отчество, а адрес - на индекс, город, улица, здание, квартира.

Атрибут Возраст является производным: он исчисляется по значению атрибута Год рождения (изображается пунктирной линией).

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

Атрибут Номер телефона является многозначным: он может принимать несколько значений для одного студента (изображается двойной линией).

Атрибут или набор атрибутов сущности, которые применяются для идентификации экземпляра сущности, называются потенциальным ключом. Сущность может содержать несколько потенциальных ключей. В примере в качестве потенциальных ключей могут быть следующие атрибуты: Номер зачетной книжки, Фамилия Имя Отчество.

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

Мощность связей

Мощность связи (кардинальность) отражает определенное число экземпляров сущностей, которые связаны с одним экземпляром связанной сущности. В модели Чена мощность связи отображается указанием соответствующих цифр рядом с сущностями в формате (x, y). Первое число определяет минимальное значение мощности связи, а второе - его максимальное значение. Мощность указывает на число экземпляров в связанной сущности.

Сведения о максимальное и минимальное значения мощности связи может применяться в прикладном программном обеспечении или с помощью триггеров; на уровне таблиц СУБД не может оперировать с мощностью связей.

Пример. Рассмотрим связь Группа-Студент (рис. 5.6).

Мощность (1,30) рядом с сущностью Группа указывает, что в группе может заниматься от 1 до 30 студентов. Мощность (1,1) рядом с сущностью Студент указывает, что студент может заниматься только в одной группе (минимум 1, максимум 1). В модели "птичья лапка" числовой диапазон значений мощности не отображается в ER-диаграммах.

Сильные и слабые связи

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

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

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

Пример. Рассмотрим связи Группа-Студент и Студент-Награда (рис. 5.7).

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

Сущность Награда зависит от сущности Студент, в этом случае связь между сущностями отображается сплошной линией, а атрибут Фамилия студента в сущности Награда является частью первичного ключа (Primary Key, PK) и одновременно внешним ключом (FK).

Атрибуты связей

Так же как и сущности связи могут иметь атрибуты. Пример. Атрибуты День и Аудитория относятся к связи между сущностями Студент и Дисциплина (рис. 5.8).

Обязательные и необязательные связи

Участие сущности в связи может быть обязательным или необязательным. Если один экземпляр сущности не требует наличия соответствующего экземпляра сущности в отдельном связи, то участие сущности в связи является необязательной. Например, в связи сущностей Студент-Награда - не каждый студент имеет награды. То есть не каждый экземпляр в таблице Студент требует обязательного наличия экземпляра сущности в таблице Награда. Сущность Награда рассматривается как необязательная по отношению к сущности Студент. Необязательно сущность сказывается небольшим кругом со стороны необязательной сущности. Существование необязательности указывает на то, что для необязательной сущности минимальное значение мощности связи равен 0.

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

Пример. Связь между сущностями Студент и Награда является необязательным (рис. 5.9). Необязательно каждый студент имеет награду, но если есть награда, то она обязательно связана с определенным студентом.

Слабые сущности

Слабой сущностью называется сущность, которая удовлетворяет следующим условиям:

- зависимости от существования сущности с которой она свясвязана;

- первичный ключ этой сущности частично или полностью получен с другой сущности.

Слабая сущность на диаграмме Чена сказывается двойным прямоугольником, а на диаграмме "птичья лапка" небольшими сегментами в каждом из углов прямоугольника.

Пример. Сущность Награда является слабым по отношению к сущности Студент: она зависит от существования этой сущности и в ее первичный ключ входит первичный ключ сущности Студент (рис. 5.10).

Сложные связи

Использование связей более высокого порядка дает возможность во многих случаях лучше отразить семантику проблемной области.

Пример. Сущности Преподаватель Дисциплина и Экзамен образуют тернарный связь (рис. 5.11).

Рекурсивные связи

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

Пример. Рассмотрим возможные варианты рекурсивных связей (рис. 5.12).

Связь 1: 1 представляет высказывания: "преподаватель может быть женат только с одним сотрудником». Связь 1: M представляет следующее высказывание: "преподаватель, если он заведующим кафедрой руководит несколькими преподавателями, а преподаватели имеют только одного руководителя - заведующего кафедрой". Связь M: N представляет высказывания: "администратор имеет несколько подчиненных-администраторов, и в свою очередь администратор имеет несколько руководителей-администраторов".

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

Пример. Между сущностями Преподаватель и студент можно установить такие содержательные связи: Преподает и Руководство дипломным проектированием. Преподаватель преподает для многих студентов, для каждого студента преподает многие преподаватели. Каждый студент обязательно должен иметь одного руководителя дипломного проекта, но необязательно каждый преподаватель руководит дипломниками (рис. 5.13).

Литература

1. Гайдамакин Н.А. Автоматизированные информационные системы, базы и банки данных. Вводный курс. - М .: Гелиос АРВ, 2002. - 368 с.

2. Гайна А. Организация баз данных и знаний. Языка баз данных Конспект лекций.-К.: КНУСА, 2002. - 64 с.

3. Гайна Г.А., Попович Н.Л. Организация баз данных и знаний. Организация реляционных баз данных: Конспект лекций. - М.: КНУБА, 2000. - 76 с.

4. Гарсиа-Молина Г., Ульман Д., Уидом Д. Системы баз данных. М .: Издательский дом "Вильямс", 2003. - 1088 с.

5. Григорьев Ю.А., Ревунков Г.И. Банки данных. М .: Изд-во МГТУ им. Н.Э.Баумана, 2002. - 320 с.

6. Грофф Дж. Вайнберг П. Энциклопедия SQL. - СПб .: Питер, 2003. - 896 с.

7. Дейт К.Дж. Введение в системы баз данных. - М .: Диалектика, 1998. - 784 с.

8. Дыгой С.М. Проектирование и внедрение баз данных. М .: Финансы и статистика, 1995. - 208 с.

9. Карпова Т.С. Базы данных: модели, разработка, реализация. - СПб .: Питер, 2001. - 304 с.

10. Когаловский М.Р. Энциклопедия технологий баз данных.- М .: Финансы и статистика, 2002. - 800 с.

11. Конноли Т., Бегг К. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. - М .: Издательский дом "Вильямс", 2003. - 1440 с.

12. Кренке Д. Теория и практика построения баз данных. - СПб .: Питер, 2003. - 800 с.

13. Малыхина М.П. Базы данных: основы, проектирование, внедрение. - СПб .: БХВ-Петербург, 2004. - 512 с.

14. Роб П., Коронел К. Системы баз данных: проектирование, реализация и управление. - СПб .: БХВ-Петербург, 2004. - 1040 с.

Загрузка...