Нормализация и нормальные формы отношений. Правила проектирования реляционных баз данных. Операции реляционной алгебры. Реляционное исчисление.

Нормальные формы

При наличии определенных зависимостей между атрибутами таблиц и дублированием данных в таблицах выделяют шесть нормальных форм: первая, вторая, третья, усиленная третья (НФБК), четвертая, пятая. Процесс проектирования БД с использованием метода нормальных форм является итерационным и заключается в последовательном переводе отношений из первой нормальной формы в нормальную форму более высокого порядка по определенным правилам. Каждая следующая нормальная форма ограничивает определенный тип функциональных зависимостей, сохраняет свойства предшествующей нормальной формы и утсраняет избыточное дублирование. Основная операция, применяемая при переходе отношения из одной нормальной формы в другую – это операция проекции.

Отношение находится в первой нормальной форме, если все его атрибуты являются простыми.

Отношение находится во второй нормальной форме, если оно находится в первой нормальной форме (каждый атрибут является простым) и каждый неключевой атрибут функционально полно зависит от первичного ключа, причем ключ, как правило, составной. Если имеет место частичная функциональная зависимость, то для ее утсранения необходимо использовать операцию проекции различных отношений на два новых следуюшим образом: построить проекцию без атрибутов, находящихся в частичной функциональной зависимости от составного ключа и построить проекции на части составного первичного ключа и атрибутов, зависящих от этих частей. Перевод таблиц во вторую нормальную форму обычно позволяет устранить явное избыточное дублирование.

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

На практике построение третьей нормальной формы в большинстве случаев является достаточным и приведенный к ней процесс проектирования БД завершается. Если же в отношении имеет место зависимость атрибутов составного ключа от неключевых атрибутов, то необходимо перейти к усиленной третьей нормальной форме. Отношение находится в НФБК, если оно находится в третьей нормальной форме и в нем отсутствуют зависимости ключей от неключевых атрибутов.

Кроме метода нормальных форм применяется метод ER-диаграмм. Если метод нормальных форм используется обычно при проектировании отношений небольших БД, то метод «сущность-связь» позволяет проектировать большие БД. Каждая сущность (информационный объект) представляется как отношение, а связи между сущностями позволяют установить связи между таблицами (отношения) и ввести ключевой атрибут в таблицу для установления этих связей.

Отношение находится в 4НФ, если оно находится в НФБК и в нем отсутствуют многозначные зависимости, не являющиеся функциональными.

Тот факт, что отношение может быть восстановлено без потерь соединением некоторых его проекций, известен как зависимость по соединению. Говорят, что отношение находится в 5НФ тогда и только тогда, когда любая зависимость по соединению в R определяется возможными ключами R. Другими словами, каждая проекция R содержит не менее одного возможного ключа и по крайней мере один непервичный атрибут.

РЕЛЯЦИОННАЯ АЛГЕБРА

Реляционная алгебра представляет собой набор операторов, использующих отношения в качестве аргументов, и возвращающие отношения в качестве результата. Таким образом, реляционный оператор выглядит как функция с отношениями в качестве аргументов: R = f (R1, R2,…, Rn). Реляционная алгебра является замкнутой, т.к. в качестве аргументов в реляционные операторы можно подставлять другие реляционные операторы, подходящие по типу: R = f (f1 (R11, R12,…),f2(R21, R22,…). Таким образом, в реляционных выражениях можно использовать вложенные выражения сколь угодно сложной структуры.

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

Оператор переименования атрибутов имеет следующий синтаксис: R RENAME Atr1, Atr2,…AS NewAtr1, NewAtr2,,…, где R - отношение, Atr1, Atr2,… - исходные имена атрибутов, NewAtr1, NewAtr2,… - новые имена атрибутов. В результате применения оператора переименования атрибутов получаем новое отношение, с измененными именами атрибутов. Пример. Следующий оператор возвращает неименованное отношение, в котором атрибут City_Num переименован в Cityld: City RENAME City_Num AS Cityld.

ТЕОРЕТИКО-МНОЖЕСТВЕННЫЕ ОПЕРАТОРЫ