- •Проектирование баз данных. Лекция 1. Введение. Банки и базы данных. Архитектура субд.
- •Хранимая база данных (Внутренняя модель)
- •Понятие проектирования баз данных. Различные подходы к проектированию бд.
- •Различные подходы к проектированию данных.
- •Сетевая модель данных.
- •Лекция 2.
- •Реляционные операции над отношениями.
- •Лекция 3. Аномалии хранения данных.
- •Функциональная зависимость.
- •Концептуальное проектирование данных. Нормализация. Понятие функциональной зависимости. Теорема Хита.
- •Теорема Хита.
- •Лекция 4. Пятая нф. Универсальное отношение. I и II нф.
- •Первая нормальная форма.
- •Вторая нормальная форма.
- •Третья нормальная форма. Транзитивные зависимости.
- •Лекция 5. Нормальная форма Бойса-Кодда. Четвертая нормальная форма. «Перенормализованные» модели данных.
- •Четвертая нормальная форма.
- •«Перенормализованные» модели данных.
- •Пример проектирования бд.
- •Отношение “Аптека”
- •Отношение “Лекарство”
- •Отношение “Наличие лекарств”
- •Отношение “Поставщик”
- •Отношение “Лицензия поставщика”
- •Отношение “Запрос на поставку”
- •Лекция 6. Проектирование в терминах «Сущность – связь»
- •Сущности и связи.
- •Классификация связей
- •Предварительные отношения для бинарных связей степени 1:1.
- •Лекция 7. Предварительные отношения для степени связи 1:n и m:n.
- •Предварительные отношения для степени связи m:n.
- •Лекция 14. Предварительные отношения для связей высших порядков. Использование ролевых отношений.
- •Студент
- •Использование ролевых отношений.
- •Рабочий
- •Подчиненный
- •Лекция 8. Развитой пример применения e-r проектирования.
- •Сопоставление методик нормализации и e-r проектирования. Физическое проектирование.
- •Физическое проектирование.
- •Ограничения целостности.
- •Заключение.
Лекция 6. Проектирование в терминах «Сущность – связь»
или E-R проектирование. Основные понятия и определения.
Нормализация не является единственным алгоритмом проектирования баз данных. Одной из получивших распространение методик является т. наз. E-R проектирование (от Entity – Relationship, или проектирование в терминах сущность – связь). Идеологически эта методика близка к объектно – ориентированному проектированию (ООП). Можно рассматривать E-R проектирование как приложение ООП к специфике проектирования баз данных, если бы ее основные идеи не были предложены несколько раньше ООП.
Сущности и связи.
Прежде, чем говорить об особенностях реализации E-R метода, необходимо рассмотреть сами понятия «сущность» и «связь». Следует отметить, что невозможно дать строгие определения этих основных понятий.
Сущность – это некоторый объект, существующий в предметной области и представляющий интерес для банка данных. Этот объект должен иметь экземпляры, отличные друг от друга и допускающие надежную идентификацию экземпляров объектов.
Термин «объект» применен здесь в своем общем смысле, а не в том значении, которое он имеет в объектно – ориентированном программировании. Конечно, данное определение неконструктивно, поскольку понятие сущности вводится через понятие «объект», при этом не рассматриваются признаки, позволяющие однозначно выделить сущности из предметной области4.
Связь представляет собой соединение между двумя и более сущностями.
Если в связи участвуют две сущности, то такую связь называют бинарной. На практике бинарными являются большинство связей, появляющихся в информационных моделях. Связь, соединяющая три сущности, называется тернарной, и т.д.
Тесно связано с предыдущими третье важное понятие – атрибут.
Атрибут есть свойство сущности.
Понятие атрибута в E-R проектировании очень близко к аналогичному, введенному в разделе «Основные понятия и определения проектирования БД». Однако в данном разделе речь идет не об отношениях, а о сущностях. Атрибут или группа атрибутов, однозначно определяющая экземпляр сущности, называется ключом сущности. Вообще, сущность можно представить как упорядоченный набор атрибутов; можно говорить, что сущность есть не что иное, как отношение.
Определения сущности, связи и атрибута не отличаются особой конкретностью и предоставляют широкий простор для их интерпретации в работе над проектированием баз данных. Можно представить себе ситуацию, в которой два проектировщика могут рассматривать предметную область с различных точек зрения, получая в итоге два различных набора отношений. Определение лучшего из наборов может стать вопросом личного предпочтения.
Известен следующий вспомогательный прием для выявления сущностей и связей, основанный на обыкновенной грамматике. Описание предметной области представляется в виде набора простых фраз, по схеме существительное – глагол – существительное. Так, приведенный выше пример задачи об отслеживании успеваемости студентов можно представить следующим образом.
Преподаватель читает курс
Студент сдает (экзамен) курс
Преподаватель работает на кафедре.
В таком описании предметной области сущность – это, как правило, существительное, а связь – глагол. Одни и те же существительные обозначают одни и те же сущности. В данном примере можно выделить сущности Преподаватель, Студент и Кафедра. Естественно, такой метод не очень надежен, но он все- таки позволяет проектировщику составить хотя бы первое представление о структуре предметной области.
В E-R проектировании принято изображать схемы предметной области в виде диаграмм. Обозначения на такого рода диаграммах не стандартизованы, однако существует определенная традиция составления такого рода диаграмм. Принято обозначать сущности прямоугольниками, а связи между ними – ромбами, соединенными линиями с соответствующими сущностями. Внутри прямоугольников и ромбов указываются названия сущностей и связей, а имена и, возможно, описания атрибутов располагаются на выносных линиях. Приведенный пример можно представить следующей диаграммой.
Кафедра
Преподаватель
Студент
Рис.15. Пример E-R диаграммы.
