Что в реляционной модели считается нормализованным отношением

Нормализация отношений в реляционной модели

7.1. Понятие нормализация отношений. Цель нормализации. Типичные ограничения для реляционной модели данных. **

Нормализация отношений предназначена для устранения (минимизации) избыточности представления информации в реляционной базах данных. Иными словами, для обеспечения однократности ввода данных и обеспечения целостности. Существует специальный аппарат для преобразования данных от одной нормальной формы к другой, боле высокой. Нормальные формы формируются последовательно и по возрастанию (1НФ, 2НФ, 3НФ). Чем больше номер, тем больше ограничений на хранимые значения должно соблюдаться в отношении. Основными ограничениями на хранимые в базе данных значения являются отдельные виды функциональных зависимостей (см. определения ниже).

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

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

В теории реляционных баз данных обычно выделяется следующая последовательность нормальных форм:

· первая нормальная форма (1NF);

· вторая нормальная форма (2NF);

· третья нормальная форма (3NF);

· нормальная форма Бойса-Кодда (BCNF);

· четвертая нормальная форма (4NF);

· пятая нормальная форма, или нормальная форма проекции-соединения (5NF или PJ/NF).

Основные свойства нормальных форм:

· каждая следующая нормальная форма в некотором смысле лучше предыдущей;

· при переходе к следующей нормальной форме свойства предыдущих нормальных свойств сохраняются.

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

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

Определение 1. Функциональная зависимость

В отношении R атрибут Y функционально зависит от атрибута X (X и Y могут быть составными) в том и только в том случае, если каждому значению X соответствует в точности одно значение Y: R.X (r) R.Y.

Определение 2. Полная функциональная зависимость

Функциональная зависимость R.X (r) R.Y называется полной, если атрибут Y не зависит функционально от любого точного подмножества X.

Определение 3.Транзитивная функциональная зависимость

Определение 4. Неключевой атрибут

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

Определение 5. Взаимно независимые атрибуты

Два или более атрибута взаимно независимы, если ни один из этих атрибутов не является функционально зависимым от других.

Источник

ГОСы 2012

Реляционная модель (РМ) основана на понятии «отношения» (Relationship), она наиболее распространена сегодня.

Недостатками реляционной модели:

Основными понятиями модели являются: тип данных, домен, атрибут, кортеж, первичный ключ и отношение.

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

Под доменом понимают множество допустимых значений простого типа. Все элементы домена относятся к 1 типу данных и отвечают логическому условию. Элемент домена — число, символьная строка, дата и т. д.

Схемой отношения называют именованное множество пар (Ai, Di), i=1,k, где Ai — имя атрибута, Di — имя домена, k — ранг отношения. Например: Студенты ((имя, имена людей), (возраст, числа от 17 до 59), (номер паспорта, целые числа)) ранг=3.

Кортеж отношения — это множество пар вида «имя атрибута, значение атрибута», причем каждый атрибут отношения один и только один раз входит в кортеж. # (Саша, 19, 222222) или (Катя, 20, 353453) или (Настя, 18, 424242)

Отношение — это множество кортежей, соответствующих одной схеме отношения. Элементами отношений являются кортежи.
# R=

Фундаментальные свойства отношений:

Для связи между разными отношениями используется понятие внешнего ключа. Внешним ключом называется атрибут (совокупность атрибутов), который является ключом Ak в другом отношении R1 и его значения принадлежат домену Dk отношения R2, т.е отношение, в котором определен внешний ключ ссылается на другое отношение в котором такой же атрибут является первичным ключом.

Компоненты реляционной модели данных (согласно Дейту модель состоит из 3 частей)

Для описания структуры данных используются только нормализованные отношения. Для описания операций над данными используются два механизма: реляционная алгебра и реляционное исчисление. Первая базируется на теории множеств, а реляционные исчисления — на логическом аппарате исчисления предикатов 1-ого порядка.

В модели должны выполняться 2 базовых условия целостности:

РБД наиболее распространены в настоящее время. В РБД должна поддерживаться целостность данных. Если схема РБД неудачна, то она не обеспечивает этой целостности. Нарушение целостности называют аномалиями. Аномалии могут быть вызваны избыточностью отношений. Для устранения избыточности применяют нормализацию схем отношений.

Форма представления схемы РБД на каком-либо шаге этого процесса называется нормальной формой. Каждой нормальной форме соответствует некоторый определенный набор ограничений, и отношение находится в некоторой нормальной форме, если удовлетворяет свойственному ей набору ограничений. В РБД выделяется последовательность нормальных форм:

Основные свойства нормальных форм:

Дадим некоторые определения:

Функциональная зависимость. В отношении R атрибут Y функционально зависит от атрибута X — если каждому значению X соответствует в точности одно значение Y. Обозначается y:x→y (x функционально определяет y)

Полная функциональная зависимость. Функциональная зависимость y:x→y называется полной, если атрибут Y не зависит функционально от любого точного подмножества X

Транзитивная функциональная зависимость. Функциональная зависимость y:x→y называется транзитивной, если существует такой атрибут Z, что имеются функциональные зависимости x →z и z→y (обратная зависимость отсутствует).

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

Неключевой атрибут — любой атрибут отношения, не входящий в состав первичного ключа.

Взаимно независимые атрибуты. Два или более атрибута называются взаимно независимыми, если не один из них не зависит функционально от других атрибутов.

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

Нормализация

Первая нормальная форма (1NF)

Таблица находится в первой нормальной форме, если каждый её атрибут атомарен. Под выражением «атрибут атомарен» понимается, что атрибут может содержать только одно значение. Таким образом, не существует 1NF таблицы, в полях которых могут храниться списки значений. Для приведения таблицы к 1NF обычно требуется разбить таблицу на несколько отдельных таблиц.

Замечание: в реляционной модели отношение всегда находится в 1 (или более высокой) нормальной форме в том смысле, что иные отношения не рассматриваются в реляционной модели. То есть само определение понятия отношение заведомо подразумевает наличие 1NF.

Вторая нормальная форма (2NF)

Таблица находится во второй нормальной форме, если она находится в первой нормальной форме, и при этом любой её атрибут, не входящий в состав первичного ключа, функционально полно зависит от первичного ключа. Функционально полная зависимость означает, что атрибут функционально зависит от всего первичного составного ключа, но при этом не находится в функциональной зависимости от какой-либо из входящих в него атрибутов (частей). Или другими словами: в 2NF нет неключевых атрибутов, зависящих от части составного ключа (+ выполняются условия 1NF).

Третья нормальная форма (3NF)

Таблица находится в третьей нормальной форме (3NF), если она находится во второй нормальной форме 2NF и при этом любой ее неключевой атрибут зависит только от первичного ключа (Primary key, PK) (иначе говоря, один факт хранится в одном месте).

Таким образом, отношение находится в 3NF тогда и только тогда, когда оно находится во 2NF и отсутствуют транзитивные зависимости неключевых атрибутов от ключевых. Транзитивной зависимостью неключевых атрибутов от ключевых называется следующая: A → B и B → C, где A — набор ключевых атрибутов (ключ), B и С — различные множества неключевых атрибутов.

При решении практических задач в большинстве случаев третья нормальная форма является достаточной. Процесс проектирования реляционной базы данных, как правило, заканчивается приведением к 3NF.

Нормальная форма Бойса — Кодда (BCNF)

Это модификация третьей нормальной формы (в некоторых источниках именно 3NF называется формой Бойса — Кодда).

Таблица находится в BCNF, если она находится в 3NF, и при этом отсутствуют функциональные зависимости атрибутов первичного ключа от неключевых атрибутов. Таблица может находиться в 3NF, но не в BCNF, только в одном случае: если она имеет, помимо первичного ключа, ещё по крайней мере один возможный ключ. Все зависимые от первичного ключа атрибуты должны быть потенциальными ключами отношения. Если это условие не выполняется, для них создаётся отдельное отношение. Чтобы сущность соответствовала BCNF, она должна находиться в третьей нормальной форме. Любая сущность с единственным возможным ключом, соответствующая требованиям третьей нормальной формы, автоматически находится в BCNF.

Четвёртая нормальная форма (4NF)

Таблица находится в 4NF, если она находится в BCNF и не содержит нетривиальных многозначных зависимостей. Многозначная зависимость не является функциональной, она существует в том случае, когда из факта, что в таблице содержится некоторая строка X, следует, что в таблице обязательно существует некоторая определённая строка Y. То есть, таблица находится в 4NF, если все ее многозначные зависимости являются функциональными.

Пятая нормальная форма (5NF)

Доменно-ключевая нормальная форма (DKNF)

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

Шестая нормальная форма (6NF)

Таблица находится в 6NF, если она находится в 5NF и удовлетворяет требованию отсутствия нетривиальных зависимостей. Зачастую 6NF отождествляют с DKNF.

Источник

Нормализация отношений в реляционных базах данных

Что в реляционной модели считается нормализованным отношением. Смотреть фото Что в реляционной модели считается нормализованным отношением. Смотреть картинку Что в реляционной модели считается нормализованным отношением. Картинка про Что в реляционной модели считается нормализованным отношением. Фото Что в реляционной модели считается нормализованным отношением Что в реляционной модели считается нормализованным отношением. Смотреть фото Что в реляционной модели считается нормализованным отношением. Смотреть картинку Что в реляционной модели считается нормализованным отношением. Картинка про Что в реляционной модели считается нормализованным отношением. Фото Что в реляционной модели считается нормализованным отношением Что в реляционной модели считается нормализованным отношением. Смотреть фото Что в реляционной модели считается нормализованным отношением. Смотреть картинку Что в реляционной модели считается нормализованным отношением. Картинка про Что в реляционной модели считается нормализованным отношением. Фото Что в реляционной модели считается нормализованным отношением Что в реляционной модели считается нормализованным отношением. Смотреть фото Что в реляционной модели считается нормализованным отношением. Смотреть картинку Что в реляционной модели считается нормализованным отношением. Картинка про Что в реляционной модели считается нормализованным отношением. Фото Что в реляционной модели считается нормализованным отношением

Что в реляционной модели считается нормализованным отношением. Смотреть фото Что в реляционной модели считается нормализованным отношением. Смотреть картинку Что в реляционной модели считается нормализованным отношением. Картинка про Что в реляционной модели считается нормализованным отношением. Фото Что в реляционной модели считается нормализованным отношением

Что в реляционной модели считается нормализованным отношением. Смотреть фото Что в реляционной модели считается нормализованным отношением. Смотреть картинку Что в реляционной модели считается нормализованным отношением. Картинка про Что в реляционной модели считается нормализованным отношением. Фото Что в реляционной модели считается нормализованным отношением

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

Например, рассмотрим БД, состоящую из трех связанных таблиц:

СТУДЕНТ(номер зачетной книжки, Ф., И., О., дата рождения, группа), СЕССИЯ (номер зачётной книжки, оценка1, оценка2. оценка п, результаты сдачи сессии), СТИПЕНДИЯ(результаты сдачи сессии, размер стипендии).

Отношения студент и сессия имеют совпадающие ключи (номер зачетной книжки).

Что в реляционной модели считается нормализованным отношением. Смотреть фото Что в реляционной модели считается нормализованным отношением. Смотреть картинку Что в реляционной модели считается нормализованным отношением. Картинка про Что в реляционной модели считается нормализованным отношением. Фото Что в реляционной модели считается нормализованным отношением

Рис. 4.5. Связывание таблиц через ключи

Таблица СЕССИЯ имеет первичный КЛЮЧ (номер зачетной книжки) и содержит внешний ключ (результаты сдачи сессии), который обеспечивает ее связь с таблицей стипендия (рис. 10.5).

В реляционных базах данных определены три типа связей:

• один к одному (1:1) – любая запись в первой таблице может быть связана только с одной записью второй таблицы и наоборот;

• один ко многим (1:М) – любая запись первой таблицы связана с несколькими записями второй, но любая запись во второй таблице связана только с одной записью первой таблицы;

• многие ко многим (М:М) – каждой записи первой таблицы соответствуют несколько записей второй и наоборот. В явном виде эта связь в реляционных БД не поддерживается, но имеются способы ее косвенной организации путем создания дополнительных таблиц.

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

В реляционных базах данных отношения (таблицы) содержат как структурную, так и семантическую информацию. Структурная информация связана с объявлением отношений. Семантическая информация выражается множеством известных функциональных зависимостей между атрибутами отношений, имеющимися в схеме.

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

Итак, нормализация отношений – формальный аппарат ограничений на формирование таблиц, который позволяет устранить дублирование, обеспечивает непротиворечивость хранимых в базе данных, уменьшает трудозатраты на ведение БД.

Различают шесть нормальных форм:

1) 1НФ — первую нормальную форму;

2) 2НФ — вторую нормальную форму;

3) 3НФ — третью нормальную форму;

4) НФБК — нормальную форму Бойса –Кодда;

5) 4НФ — четвертую нормальную форму;

6) 5НФ — пятую нормальную форму.

Каждая нормальная форма определяет ограничения на данные:

• 1НФ, 2НФ, 3НФ – ограничивают зависимость не первичных атрибутов от ключей;

• НФБК – ограничивает зависимость первичных атрибутов;

• 4НФ – формирует ограничения на виды многозначных зависимостей;

• 5НФ – вводит другие типы зависимостей: зависимости соединения.

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

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

Что в реляционной модели считается нормализованным отношением. Смотреть фото Что в реляционной модели считается нормализованным отношением. Смотреть картинку Что в реляционной модели считается нормализованным отношением. Картинка про Что в реляционной модели считается нормализованным отношением. Фото Что в реляционной модели считается нормализованным отношением

Преобразование отношений к первой нормальной форме может привести к увеличению количества реквизитов (полей) отношения и изменению ключа. Например, отношение СТУДЕНТ (номер зачетной книжки, Ф., И., О., дата рождения, группа) находится в первой нормальной форме. Если бы поля Ф., И., О. были бы объединены в одно, то нормализация отношений состояла бы в фрагментации данного поля. Разработчики БД изначально строят так исходные отношения, чтобы они были в первой нормальной форме.

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

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

Для описания второй и третьей нормальных форм требуется ввести понятие о функциональной зависимости полей (атрибутов). Функциональная зависимость полей – это зависимость, при которой в экземпляре информационного объекта определенному значению ключевого поля соответствует только одно значение не ключевого поля. Таким образом, это логическая связь не ключевых полей с общим для них ключом.

В случае составного ключа вводится понятие функционально полной зависимости. Функционально полная зависимость не ключевых полей заключается в том, что каждое не ключевое поле функционально зависит от ключа, но не зависит ни от какой части составного ключа. Отношение будет находиться во второй нормальной форме, если оно находится в первой нормальной форме, и каждое не ключевое поле функционально полно зависит от составного ключа. Так отношение студент находится во второй нормальной форме, т. к. его не ключевые поля функционально зависят от ключа номер зачетной книжки. Отношение сессия, имеющее составной ключ номер зачетной книжки + результаты сдачи сессии находится в первой нормальной форме, но не находится во второй, т.к. поля оценка1, оценка2. оценка n не находятся в полной функциональной зависимости от составного ключа, а лишь от его составной части. Для перевода этого отношения во вторую нормальную форму необходимо исключить из него поля оценка1, оценка2. оценка n, т. е. исходное отношение надо разбить на два связанных отношения РЕЗУЛЬТАТЫ (номер зачетной книжки, оценка1., оценка2. оценка п) И СЕССИЯ(номер зачетной книжки, результаты сдачи сессии). Связь между ними будет осуществляться по полю номер зачетной книжки (рис. 10.6)

Что в реляционной модели считается нормализованным отношением. Смотреть фото Что в реляционной модели считается нормализованным отношением. Смотреть картинку Что в реляционной модели считается нормализованным отношением. Картинка про Что в реляционной модели считается нормализованным отношением. Фото Что в реляционной модели считается нормализованным отношением

Рис. 10.6. Вторая нормальная форма отношений

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

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

Для устранения транзитивной зависимости описательных полей необходимо произвести «расщепление» исходного информационного объекта. В результате такого расщепления часть полей удаляется из исходного объекта и включается в состав других, новых информационных объектов: СТУДЕНТ(номер зачетной книжки, Ф., И., О., дата рождения, группа), ГРУППА <группа, староста)(рис. 10.7).

Что в реляционной модели считается нормализованным отношением. Смотреть фото Что в реляционной модели считается нормализованным отношением. Смотреть картинку Что в реляционной модели считается нормализованным отношением. Картинка про Что в реляционной модели считается нормализованным отношением. Фото Что в реляционной модели считается нормализованным отношением

Рис. 10.7. Исключение транзитивной зависимости

Источник

Нормализация отношений в реляционной модели

Лекция 7

7.1. Понятие нормализация отношений. Цель нормализации. Типичные ограничения для реляционной модели данных. **

Нормализация отношений предназначена для устранения (минимизации) избыточности представления информации в реляционной базах данных. Иными словами, для обеспечения однократности ввода данных и обеспечения целостности. Существует специальный аппарат для преобразования данных от одной нормальной формы к другой, боле высокой. Нормальные формы формируются последовательно и по возрастанию (1НФ, 2НФ, 3НФ). Чем больше номер, тем больше ограничений на хранимые значения должно соблюдаться в отношении. Основными ограничениями на хранимые в базе данных значения являются отдельные виды функциональных зависимостей (см. определения ниже).

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

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

В теории реляционных баз данных обычно выделяется следующая последовательность нормальных форм:

· первая нормальная форма (1NF);

· вторая нормальная форма (2NF);

· третья нормальная форма (3NF);

· нормальная форма Бойса-Кодда (BCNF);

· четвертая нормальная форма (4NF);

· пятая нормальная форма, или нормальная форма проекции-соединения (5NF или PJ/NF).

Основные свойства нормальных форм:

· каждая следующая нормальная форма в некотором смысле лучше предыдущей;

· при переходе к следующей нормальной форме свойства предыдущих нормальных свойств сохраняются.

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

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

Определение 1. Функциональная зависимость

В отношении R атрибут Y функционально зависит от атрибута X (X и Y могут быть составными) в том и только в том случае, если каждому значению X соответствует в точности одно значение Y: R.X (r) R.Y.

Определение 2. Полная функциональная зависимость

Функциональная зависимость R.X (r) R.Y называется полной, если атрибут Y не зависит функционально от любого точного подмножества X.

Определение 3.Транзитивная функциональная зависимость

Определение 4. Неключевой атрибут

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

Определение 5. Взаимно независимые атрибуты

Два или более атрибута взаимно независимы, если ни один из этих атрибутов не является функционально зависимым от других.

Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *