- •Реляционные базы данных
- •Цели проектирования баз данных
- •Универсальные отношения
- •Проблемы, связанные с использованием единственного отношения
- •Проблема вставки.
- •Проблема обновления.
- •Проблема удаления.
- •Функциональные зависимости
- •Нормальные формы отношений Первая нормальная форма
- •Вторая нормальная форма
- •Третья нормальная форма
- •Третья усиленная форма или нормальная форма Бойса–Кодда (нфбк)
- •Декомпозиция отношений
- •Избыточные функциональные зависимости. Правила вывода
- •Правило 1. Транзитивные зависимости
- •Пример удаления избыточных зависимостей с помощью правил вывода
- •Общая схема проектирования баз данных методом декомпозиции
- •Построение отношений для базы данных “Начальник отдела”.
- •Выявление функциональных зависимостей
- •Декомпозиция универсального отношения
- •Семантическое моделирование или проектирования баз данных методом “Сущность-связь”
- •Сущности и связи
- •Диаграмма еr–экземпляров:
- •Диаграмма er–типа:
- •Терминология метода “Сущность-связь”
- •Степень связи
- •Класс принадлежности сущности
- •Примеры диаграмм er-типа связей степени 1:1.
- •Примеры диаграмм er-типа связей степени 1:n и n:1
- •Примеры диаграмм er-типа связей степени m:n
- •Порядок или мерность связи
- •Бинарные связи со степенью связи 1: 1
- •Правило 1.
- •Правило 2.
- •Правило 3.
- •Бинарные связи со степенью связи 1: n
- •Правило 4.
- •Правило 5.
- •Бинарные связи степени m:n.
- •Правило 6.
- •Пример проектирования с использованием связей степенью м:n
- •Связи более высокого порядка
- •Правило 7
- •Пример проектирования с использованием связей более высокого порядка
- •Использование ролей
- •Правило 8
- •Пример проектирования с использованием ролей
Семантическое моделирование или проектирования баз данных методом “Сущность-связь”
Декомпозиционный метод проектирования БД, который мы рассматривали в предыдущей лекции, пригоден при условии небольшого числа атрибутов. Если количество атрибутов очень велико то, декомпозиционный метод становится излишне громоздким и проектировать БД следует, используя другие методы.
Предлагается модель данных, называемая моделью “сущность-связь” (entity-relationship model). Эта модель основывается на некоторой важной семантической информации о реальном мире. Вводится специальный диаграммный метод как средство проектирования баз данных.
Сущности и связи
Рассмотрим простейший пример. Предположим, проектируется БД, предназначенная для хранения информации о преподавателях и курсах, которые они читают. Двумя главными объектами, или сущностями, представляющими в данном случае интерес, являются “Преподаватель” и “курс”. Между этими сущностями существует связь ЧИТАЕТ.
сущность |
связь |
сущность |
|
||
Рис. 7.1 Сущности и связи |
Связь ЧИТАЕТ, существующая между двумя сущностями ПРЕПОДАВАТЕЛЬ и КУРС может быть графически представлена несколькими способами:
Диаграмма еr–экземпляров:
|
Рис. 7.2 Диаграмма ER-экземпляра |
В этом способе каждый преподаватель характеризуется номером преподавателя (НП) и каждый курс – названием курса (НК). Здесь видно, какой в точности курс читается каждым преподавателем.
Диаграмма er–типа:
|
Рис. 7.3 Диаграмма ER-типа |
Сущности изображаются прямоугольниками, связи в виде ромбов, ниже каждой сущности указывают атрибут или набор атрибутов, являющийся ключом сущности.
Терминология метода “Сущность-связь”
Термины, используемые в ER–методе, не могут быть определены строго, тем не менее, их необходимо определить.
Сущность определяется как некий объект, представляющий интерес для пользователей БД. Этот объект должен иметь экземпляры, отличающиеся друг от друга и допускающие однозначную идентификацию. Признак, который может помочь в отыскании сущности состоит в том, что сущность это как правило, существительное (в инфологической модели предметной области).
Связь представляет собой взаимодействие между двумя или более сущностями. При поиске сущностей следует иметь в виду, что связь, как правило, глагол (в инфологической модели ПО).
Атрибут есть свойство сущности. Например атрибутами сущности преподавателя могут быть: номер преподавателя, фамилия, телефон, должность, адрес и т.п.
Ключ сущности – это атрибут или набор атрибутов, значения которых однозначно определяют экземпляр сущности.
Ключ связи – набор ключей сущностей, соединяемых данной связью.
На первом этапе проектирования БД ER–методом необходимы только те атрибуты сущностей, которые являются их ключами. Другие атрибуты вместе с функциональными зависимостями, в которых они участвуют, будут добавлены на более поздних этапах проектирования.
Степень связи
Важной характеристикой связи между двумя и более сущностями является степень связи. Степень связи устанавливается из описания предметной области (из инфологической модели).
|
Пример 1: Каждый преподаватель читает не более одного курса, и каждый курс читается не более чем одним преподавателем (т.е. могут быть преподаватели которые ничего не читают и ни кем не читаемые курсы). |
|
не должны |
не должны |
|
Рис. 7.4 Диаграмма ER-экземпляра для примера 1 |
|
Пример 2: Каждый преподаватель читает только один курс, каждый курс читается не более чем одним преподавателем. |
|
должны |
не должны |
|
Рис. 7.5 Диаграмма ER-экземпляра для примера 2 |
|
Пример 3: Каждый преподаватель читает не более одного курса, каждый курс читается только одним преподавателем. |
|
не должны |
должны |
|
Рис. 7.6 Диаграмма ER-экземпляра для примера 3 |
|
Пример 4: Каждый преподаватель читает только один курс, каждый курс читается только одним преподавателем. |
|
должны |
должны |
|
Рис. 7.7 Диаграмма ER-экземпляра для примера 4 |
В рассмотренных примерах любой экземпляр сущности (как слева, так и справа) может быть связан максимум с одной сущностью с противоположной стороны. Такая связь определяется как связь, имеющая степень 1:1.