- •Основы проектирования баз данных.
- •Функциональные зависимости.
- •Аксиомы вывода.
- •Применение аксиом вывода.
- •Ориентированные ациклические графы вывода.
- •Основные определения.
- •Покрытия и эквивалентность.
- •Минимальные покрытия.
- •Кольцевые покрытия и составные зависимости.
- •Нормальные формы реляционных баз данных.
- •Первая нормальная форма бд.
- •Аномалии и вторая нормальная форма бд.
- •Избыточность данных и третья нормальная форма.
- •Многозначные зависимости и четвертая нормальная форма.
- •Нормальная форма вида «проекция-соединение».
- •Концепция модели «Сущность-связь».
- •Типы сущностей.
- •Атрибуты.
- •Типы атрибутов.
- •Типы связей.
- •Структурные ограничения.
Типы атрибутов.
«Надежда – это сон наяву». АРИСТОТЕЛЬ 384-322гг. до н.э.
Потенциальный ключ – атрибут или набор атрибутов, которые уникально идентифицируют отдельные экземпляры данного типа сущности.
У одного типа сущности может быть множество потенциальных ключей. Все они обладают уникальностью набора значений в любом экземпляре данного типа сущности. Более того, если удалить из потенциального ключа любой атрибут - эта особенность пропадает. Следовательно, потенциальный ключ – вариант идентификации (различения) экземпляров данного типа сущности в предметной области. Если потенциальный ключ состоит из нескольких атрибутов, он называется составным ключем,иначе он простой ключ и содержит только один атрибут.
Первичный ключ – выбранный из множества потенциальных ключей.
Обычно выбор первичного ключа осуществляется из соображений его размера: количества атрибутов в нем, требуемого пространства памяти и т.п. Но важно и условие сохранения уникальности ключа сущности в более широких, чем данная, предметных областей. Отдельная проблема – идентификация объектов в динамических представлениях предметных областей. Обычно она решается с помощью введения специальных имен, идентифицирующих экземпляры типа сущности. Непервичные ключи, которые тем не менее используются в реальной жизни, принято называть альтернативными ключами. В ER-диаграммах ключи представляются как атрибуты, но идентификаторы первичных ключей подчеркиваются.
Типы связей.
«Сначала должен возникнуть какой-то неосмысленый порыв к прекрасному...».
АРИСТОТЕЛЬ 384-322гг. до н.э.
Тип связи – осмысленная типизация ассоциации между разными типами сущностей.
Тип связи (relationship type) является набором ассоциаций между двумя (а возможно и более) типами сущностей – участников связей. Каждому типу связи присваивается идентификатор. Он трактуется как вид функции, поэтому идентификаторы связи часто имею форму глаголов. Как и в случае сущностей необходимо строго разделять понятия “тип связи” и “экземпляр связи” (т.е. связь просто).
Связь – осмысленная ассоциация между экземплярами сущностей разных типов.
Экземпляр связи (relationship instance) указывает на отдельные экземпляры сущностей, которые объединяются им. В простейшем случае мы можем трактовать связи как пары значений из экземпляров сущностей – участников (бинарная связь имеет степень связи - два).
Семантическая сеть – объектная диаграмма, представляющая экземпляры сущностей-участников и экземпляры связей.
На ER-даграммах связи представляются в виде ромба с указанием идентификатора типа связи. Тип связи рассматривается как сущность, построенная на других сущностях. Сильная связь имеет контур из одной линии, а слабая – двойной линии.
Степень связи – количество сущностей, охваченных данной связью (участников).
Кроме бинарной связи могут быть тернарные (три участника), кватернарные (четыре) и в общем случае n-арные. На рисунке в заголовке раздела приведены примеры связей различных степеней. Особое место занимает случай, когда связь задаётся на одних и тех же сущностях, но участвующих в связи в разных ролях. Такие типы связей принято называть рекурсивными. В таких случаях участники связи должны иметьролевые имена, которые позволяют различать вхождение (а, следовательно, и смысл) участия сущностей в связях. Остается добавить, что у связи могут быть свои собственные атрибуты (т.е. свойства). На ER-диаграмах ролевые имена указываются рядом с отрезками - связями сущностей и связей. Овалы представления атрибутов, соединенные с ромбом связи, обозначают её атрибуты.