1.2 Нормальные формы Flashcards
Реляционная модель данных
Реляционная модель данных (РМД) — логическая модель данных, прикладная теория построения баз данных, которая является приложением к задачам обработки данных таких разделов математики, как теория множеств и логика первого порядка.
Аспекты (составляющие) РМД:
1) Структурный — данные в базе данных представляют собой набор отношений.
2) Целостности — отношения (таблицы) отвечают определенным условиям целостности. РМД поддерживает декларативные ограничения целостности уровня домена (типа данных), уровня отношения и уровня базы данных.
3) Обработки (манипулирования) — РМД поддерживает операторы манипулирования отношениями (реляционная алгебра, реляционное исчисление).
Мы будем рассматривать именно структурный аспект.
Атрибут
Свойство некоторой сущности. Часто называется полем таблицы.
Домен атрибута
Множество допустимых значений, которые может принимать атрибут (тип данных)
Кортеж
Конечное множество взаимосвязанных допустимых значений атрибутов, которые вместе описывают некоторую сущность (строка таблицы).
Отношение
Конечное множество кортежей (таблица).
Степень (-арность) отношения
тоже самое, что и количество столбцов таблицы
Мощность отношения
Количество строк таблицы
Свойства отношения
В отношении нет одинаковых кортежей. Тело отношения есть множество кортежей и, как всякое множество, не может содержать неразличимые элементы. Таблицы же, напротив, могут содержать одинаковые строки.
Кортежи не упорядочены (сверху вниз). Причина та же - тело отношения есть множество, а множество не упорядочено. Одно и то же отношение может быть изображено разными таблицами, в которых строки идут в различном порядке. При этом в таблицах у нас в любом случае есть какой-то порядок – вне зависимости от того, указываем мы явную сортировку строк или нет, физически данные будут расположены в определенном порядке.
Свойства атрибутов
Атрибуты отношения не упорядочены (слева направо). Т.к. каждый атрибут имеет уникальное имя в пределах отношения, то порядок атрибутов не имеет значения. Одно и то же отношение может быть изображено разными таблицами, в которых столбцы идут в различном порядке.
Все значения атрибутов атомарны. Это следует из того, что лежащие в их основе атрибуты имеют атомарные значения.
Первая нормальная форма
Отношение находится в первой нормальной форме (1НФ) тогда и только тогда, когда в любом допустимом значении отношения каждый его кортеж содержит только одно значение для каждого из атрибутов.
Если говорить проще: все кортежи в отдельном атрибуте должны иметь значения одного домена, и эти значения не должны являться группой/массивом данных, т.е. должны быть атомарны
Потенциальный ключ, критерии выбора
Подмножество атрибутов отношения будем называть потенциальным ключом, если оно обладает следующими свойствами:
1) Свойство уникальности – в отношении не может быть двух различных кортежей с одинаковым значением ключа.
2) Свойство неизбыточности - никакое подмножество не обладает свойством уникальности.
Первичный/альтернативный и простой/составной ключ
Потенциальный ключ, состоящий из одного атрибута, называется простым. Потенциальный ключ, состоящий из нескольких атрибутов, называется составным.
Отношение может иметь несколько потенциальных ключей. Традиционно, один из потенциальных ключей объявляется первичным, а остальные - альтернативными.
Ключи-идентификаторы
Также, в современных СУБД повсеместно используются ключи-идентификаторы – некоторый специальный, суррогатный (искусственный) уникальный ключ. Распространенный пример такого ключа – инкрементальный, т.е. содержащий числовой идентификатор, который монотонно увеличивается для каждой новой строки.
Аномалии
- Аномалия вставки. В отношение нельзя вставить данные о преподавателе, который пока не участвует ни в одном блоке.
- Аномалия удаления. Если по курсу временно прекращены лекции, то при удалении данных о лекции по этому курсу будут удалены и данные о самом курсе. При этом, если был преподаватель, который работал только над этим курсом, то будут потеряны и данные об этом сотруднике.
- Аномалия обновления. Если необходимо изменить какую-либо информацию о преподавателе, то придётся изменять значения атрибутов во всех записях.
Часть этих аномалий нам поможет решить вторая нормальная форма.
2НФ
Отношение находится во второй нормальной форме (сокращённо 2НФ) тогда и только тогда, когда оно находится в первой нормальной форме и каждый его неключевой атрибут неприводимо зависим от первичного ключа.
Неприводимость означает, что в составе потенциального ключа отсутствует меньшее подмножество атрибутов, от которого можно также вывести данную функциональную зависимость. Для неприводимой функциональной зависимости часто используется эквивалентное понятие «полная функциональная зависимость».
Перефразируя,
Отношение находится во второй нормальной форме тогда и только тогда, когда оно находится в первой нормальной форме и нет неключевых атрибутов, зависящих от части сложного ключа.