Добавил:
rushevamar@mail.ru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры бд.docx
Скачиваний:
111
Добавлен:
17.06.2021
Размер:
4.93 Mб
Скачать

1 Нормальня форма

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

Для приведения сущности к первой нормальной форме необходимо:

  1. Разделить сложные атрибуты на атомарные

  2. Для групп повторяющихся атрибутов создать новую сущность

  3. Установить с новыми сущностями связи 1:М

  4. Разделить атрибуты, хранящие разную смысловую информацию, на односмысловые

25.Нормализация данных. Вторая нормальная форма.

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

Процесс нормализации – постепенное приведение сущности к нормальным формам

2 Нормальная форма

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

Если сущность имеет простой первичный ключ (1 атрибут) и находится в 1 нормальной форме, то она автоматически находится и во 2 нормальной форме.

Для приведения сущности ко 2-ой нормальной форме необходимо:

  1. Выделить неключевые атрибуты, зависящие от одной и той же части первичного ключа

  2. Поместить эти атрибуты в новую сущность

  3. Установить с новой сущностью связи типа 1:М

  4. Повторить указанные выше действия, если это возможно

Приведение ко 2-ой нормальной форме позволяет избежать следующих аномалий:

  1. Аномалия вставки: невозможно ввести данные о сотруднике, если он в данный момент не руководит ни одним проектом

  2. Аномалия обновлений: если сотрудник руководит несколькими проектами и данные о сотруднике меняются, то необходимо корректировать несколько кортежей сущности проекта. Если выполнить нормализацию, то достаточно ввести изменения лишь в 1 кортеж сущности сотрудника.

  3. Аномалия удаления: если сотрудник временно прекращает руководство проекта, то данные о нем теряются

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

  1. Нормализация данных. Третья нормальная форма и нормальная форма Кодда-Бойса.

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

Процесс нормализации – постепенное приведение сущности к нормальным формам.

Сущность находится в 3-й нормальной форме, если она находится во 2-й нормальной форме, и между ее не ключевыми атрибутами отсутствует функциональная зависимость.

Сущность находится в 3-й нормальной форме, если она находится во 2-й и каждый ее неключевой атрибут нетранзитивно зависит от первичного ключа.

Транзитивная зависимость:

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

Для приведения сущности к 3-й нормальной форме необходимо:

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

  2. Поместить эти атрибуты в новую сущность

  3. Установить в новой сущности связь типа 1:М

  4. Повторить указанные выше действия, если это возможно

После приведения в 3-й нормальной форме получим:

Приведение в 3-й форме позволяет избежать след. аномалий:

  1. Аномалия вставки: невозможно ввести данные об окладе, если соответствующую должность не занимает ни один сотрудник

  2. Если должность занимает несколько сотрудников и оклад по должности меняется, то необходимо корректировать несколько кортежей сущности сотрудник; если выполнить нормализацию, то достаточно внести изменения лишь в 1 кортеж сущности должность.

  3. Если удалить сотрудника, занимающего уникальную должность, то данные об окладе теряется.

Причиной этих аномалий является избыточность данных, обусловленная тем, что в одной и той же сущности сотрудник хранится информация и о сотрудниках и о должностных окладах.

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

Т. о. форма Кодда-Бойса запрещает функциональную зависимость между неключевыми атрибутами и альтернативными ключами, но разрешает из между неключевыми атрибутами и альтернативными ключами.

Если сущность имеет только один возможный ключ, то нормальная форма Кодда-Бойса совпадает с 3-й нормальной формой.