Главная страница

Лекции и практики (1). Курс лекций и материалы для практических занятий


Скачать 1.01 Mb.
НазваниеКурс лекций и материалы для практических занятий
Дата17.03.2023
Размер1.01 Mb.
Формат файлаdocx
Имя файлаЛекции и практики (1).docx
ТипКурс лекций
#996812
страница51 из 75
1   ...   47   48   49   50   51   52   53   54   ...   75

Четвертая нормальная форма (4НФ).


Отношение находится в 4НФ, если оно находится в 3НФ и в нем отсут- ствуют нетривиальные многозначные зависимости.

Отрицательный момент в нарушении 4НФ заключается в том, что в одно отношение включаются независящие друг от друга атрибуты. Например, у кни- ги «Язык программирования СИ» (табл. 9.1) два автора и два редактора, но это не значит, что редактор Садчиков редактировал автора Бочкова, а редактор Се- дов – автора Субботина. А если у книги нет автора или редактора, то соответ- ствующие поля останутся пустыми (null). Т.е. в отношении КНИГИ–АВТОРЫ–РЕДАКТОРЫ(табл. 9.4) атрибуты Authorи Editorобразуют две многозначные зависимости от ключа, и при этом значения этих атрибутов не зависят друг от друга. Поэтому для приведения отношения к 4НФ нужно разбить его на два от- ношения КНИГИ–АВТОРЫи КНИГИ–РЕДАКТОРЫ(табл. 9.7, 9.8).

Таблица 9.7. Отношение

КНИГИ–АВТОРЫ(4НФ)

Таблица 9.8. Отношение

КНИГИ–РЕДАКТОРЫ(4НФ)







20

Субботин Д.




20

Седов П.

10

Джехани Н.

10

Красилов А.

35

Соловьев Г.

10

Перминов О.

35

Никитин В.

11

Некрасов А.

11

Попов Э.В.

44

Витенберг Э.

89

Коутс Р.

89

Шаньгин В.

89

Влейминк И.




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

Примечание. Есть ещё т.н. третья усиленная форма (НФБК нормальная форма Бойса- Кодда) и 5НФ. Описание этих форм можно найти в [1].

Нормализация сокращает дублирование данных, но появление новых от- ношений усложняет схему базы данных.

      1. Денормализация отношений

Иногда после нормализации отношений проводят их денормализацию. Обоснованием денормализации может служить требование обеспечения опре- делённой производительности для критических запросов. В нормализованной БД одна сущность ПрО разбивается на несколько отношений, и для получения исходного отношения требуется выполнить операцию соединения. Эта опера- ция занимает много времени, поэтому нормализация может привести к паде- нию производительности БД. Денормализация бывает нескольких видов:

  1. Восходящая.

Подразумевает перенос некоторой информации из подчинённого отношения в родительское. Например, для схемы ЗАКАЗЫ<–>> СТРОКИ ЗАКАЗОВобычно нужно знать общую сумму заказа, которая является вычисляемой величиной. Если эти вычисления производятся часто, то для повышения эф- фективности можно добавить в отношение ЗАКАЗЫполе Общая сумма. При этом возникает проблема обеспечения актуальности значения этого поля: пересчёт общей суммы при добавлении новой строки заказа, при удалении и при модификации позиций заказа. Обычно эта проблема решается програм- мно (в приложении) или с помощью триггеров БД.

  1. Нисходящая.

В этом случае информация переносится из родительского отношения в под- чинённое. Например, в схеме ДОЛЖНОСТИ<–>> СОТРУДНИКИможно в качестве внешнего ключа использовать поле Названиедолжности, а не идентификатор. Для этого название в отношении ДОЛЖНОСТИдолжно быть определено как unique. Это позволяет избежать соединения отношений при запросе должности сотрудника.

  1. Разбиение одного отношения на два.

В одно отношение помещаются все атрибуты сущности, которые связаны с экземпляром сущности как 1:1. Но бывает так, что запись имеет большую длину за счёт наличия атрибутов большого объёма (графические данные, текстовые описания и проч.). Если данные этих атрибутов редко использу- ются, то можно выделить в отдельное отношение атрибуты большого объё-

ма. Для связи с исходным отношением вводится уникальный внешний ключ. А для получения исходного отношения создаётся представление (view), ко- торое является соединением двух полученных отношений.

После нормализации/денормализации получается окончательная концеп- туальная схема БД, на основе которой проводится физическое проектирование.

Далее рассмотрим пример проектирования БД с использованием метода "сущность-связь" и нормализации отношений.
    1. 1   ...   47   48   49   50   51   52   53   54   ...   75


написать администратору сайта