Лекция 6.ppt
- Количество слайдов: 36
НОРМАЛИЗАЦИЯ 1
Цель нормализации Нормализация - метод создания набора отношений с заданными свойствами на основе некоторых требований к данным. 3
Избыточность данных и аномалии обновления staff. No s. Name position salary branch. No SL 21 John White Manager 30000 B 005 SG 37 Ann Beech Assistant 12000 B 003 SG 14 David Ford Supervisor 18000 В 003 SA 9 Mary Howe Assistant 9000 B 007 SG 5 Susan Brand Manager 24000 В 003 SL 41 Julie Lee Assistant 9000 B 005 branch. No b. Address В 005 22 Deer Rd, London В 007 16 Argyll St, Aberdeen B 003 163 Main St, Glasgow staff. No s. Name position salary branch. No b. Address SL 21 John White Manager 30000 B 005 22 Deer Rd, London SG 37 Ann Beech Assistant 12000 B 003 163 Main St, Glasgow SG 14 David Ford Supervisor 18000 В 003 163 Main St, Glasgow SA 9 Mary Howe Assistant 9000 B 007 16 Argyll St, Aberdeen SG 5 Susan Brand Manager 24000 В 003 163 Main St, Glasgow SL 41 Julie Lee Assistant 9000 B 005 22 Deer Rd, London 4
Функциональные зависимости Функциональная зависимость (functional dependency) описывает связь между атрибутами и является одним из основных понятий нормализации 5
Характеристики функциональных зависимостей Пусть реляционная схема имеет атрибуты (А, В, С, . . Z) Тогда база данных может быть представлена в виде одного универсального отношения R(А, В, С, . . . , Z) Из этого предположения следует, что каждый атрибут в базе данных имеет уникальное имя. 6
Функциональная зависимость Описывает связь между атрибутами отношения. Например, если в отношении содержащем атрибуты А и В, атрибут В функционально зависит от атрибута А (что обозначается как А (В)), то каждое значение атрибута А связано только с одним значением атрибута в. (Причем атрибуты А и В могут состоять из одного или нескольких атрибутов. ) 7
Функциональная зависимость Детерминантом функциональной зависимости называется атрибут или группа атрибутов, расположенная на диаграмме функциональной зависимости слева от стрелки. 8
Выявление функциональной зависимости 9
Выявление функциональной зависимости, которая остается действительной при всех условиях 10
Тривиальные функциональные зависимости Функциональная зависимость называется тривиальной, если она остается справедливой при любых условиях. К тому же зависимость является тривиальной, если и только если в правой части выражения, определяющего зависимость, приведено подмножество (но необязательно собственное подмножество) множества, которое указано в левой части (детерминанте) выражения. 11
Например: 12
Основные характеристики функциональных зависимостей определяют связь "один к одному" между атрибутами, приведенными в левой и правой частях выражения зависимости; n остаются справедливыми при любых условиях; n являются нетривиальными n 13
Множество всех функциональных зависимостей, которые могут быть выведены из заданного множества функциональных зависимостей X, называется замыканием X и записывается как X*. Для успешной работы необходимо определить ряд правил, позволяющих вычислить X* из X. 14
Правила вывода для функциональных зависимостей 1. Рефлексивность. Если В — подмножество А, то А→В. 2. Дополнение. Если А → В, то А, С → В, С. 3. Транзитивность. Если А → В и В → С, то А → С. 15
Правила вывода для функциональных зависимостей 4. Самоопределение. А → А. 5. Декомпозиция. Если А → В, С, то А → В и А → С. 6. Объединение. Если А → В и А → С, то А → В, С. 7. Композиция. Если А → В и C → D, то А, С → В, D. 16
Минимальное множество функциональных зависимостей Множество функциональных зависимостей Y покрывается множеством функциональных зависимостей X, если каждая функциональная зависимость из Y присутствует также в замыкании X*. Иными словами, каждая функциональная зависимость во множестве Y может быть выведена из X. 17
Минимальное множество функциональных зависимостей Множество функциональных зависимостей X является минимальным, если оно удовлетворяет следующим условиям: n Каждая зависимость в X имеет единственный атрибут в правой части. n Ни одну зависимость А → В в X нельзя заменить зависимостью С → В, где С является собственным подмножеством А, и получить в результате множество зависимостей, эквивалентное X. n Из множества X нельзя удалить ни одной зависимости и получить в результате множество зависимостей, эквивалентное X. 18
Процесс нормализации Нормализация — это формальный метод анализа отношений на основе их первичного ключа (или потенциальных ключей) и существующих функциональных зависимостей 19
Реляционные ключи Суперключ (superkey) Атрибут или множество атрибутов, которое единственным образом идентифицирует кортеж данного отношения. Потенциальный ключ. Суперключ, который не содержит подмножества, также являющегося суперключом данного отношения 20
Реляционные ключи Первичный ключ. Потенциальный ключ который выбран для уникальной идентификации кортежей внутри отношения. Внешний ключ. Атрибут или множество атрибутов внутри отношения, которое соответствует потенциальному ключу некоторого (может быть, того же самого) отношения. 21
Ненормализованная форма (ННФ). Таблица, содержащая одну или несколько повторяющихся групп данных. 22
Последовательность нормальных форм: первая нормальная форма (1 NF); n вторая нормальная форма (2 NF); n третья нормальная форма (3 NF); n нормальная форма Бойса-Кодда (BCNF); n четвертая нормальная форма (4 NF); n пятая нормальная форма, или нормальная форма проекции-соединения (5 NF или PJ/NF). n 23
Основные свойства нормальных форм: каждая следующая нормальная форма в некотором смысле лучше предыдущей; n при переходе к следующей нормальной форме свойства предыдущих нормальных свойств сохраняются. n 24
Первая нормальная форма (1 НФ). Отношение, в котором на пересечении каждой строки и каждого столбца содержится одно и только одно значение (значения всех атрибутов отношения атомарны ). 25
Первая нормальная форма (1 НФ). Для преобразования ненормализованной таблицы в первую нормальную форму (1 НФ) в исходной таблице следует найти и устранить все повторяющиеся группы данных. Повторяющейся группой называется группа, состоящая из одного или нескольких атрибутов таблицы, в которой возможно наличие нескольких значений для единственного значения ключевого атрибута (атрибутов) таблицы. 26
Способы исключения повторяющихся групп: 1. Повторяющиеся группы устраняются путем ввода соответствующих данных в пустые столбцы строк с повторяющимися данными. (Пустые места при этом заполняются дубликатами неповторяющихся данных. ) 27
Способы исключения повторяющихся групп: 2. Атрибут или группа атрибутов назначаются ключом ненормализованной таблицы, а затем повторяющиеся группы изымаются и помещаются в отдельные отношения вместе с копиями ключа исходной таблицы. Далее в новых отношениях устанавливаются свои первичные ключи. 28
Вторая нормальная форма (2 НФ) Полная функциональная зависимость. Если А и В - атрибуты отношения, то атрибут В находится в полной функциональной зависимости от атрибута А, если атрибут В является функционально зависимым от А, но не зависит ни от одного собственного подмножества атрибута А. 29
Вторая нормальная форма (2 НФ) Функциональная зависимость А → В является полной функциональной зависимостью, если удаление какого-либо атрибута из А приводит к утрате этой зависимости. Функциональная зависимость А → В называется частичной, если в А есть некий атрибут, при удалении которого эта зависимость сохраняется. 30
Например функциональная зависимость: staff. No, s. Name → branch. No Здесь каждая пара значений (staff. No, s. Name) связана с единственным значением branch. No. Однако эта функциональная зависимость не является полной, поскольку branch. No также функционально зависит от подмножества (staff. No, s. Name), т. е. от атрибута staff. No. 31
Вторая нормальная форма (2 НФ). Отношение, которое находится в первой нормальной форме и каждый атрибут которого, не входящий в состав первичного ключа, характеризуется полной функциональной зависимостью от этого первичного ключа. 32
Третья нормальная форма (ЗНФ) Транзитивная зависимость. Если для атрибутов А, В и С некоторого отношения существуют зависимости вида А → В и → С, это означает, что атрибут С транзитивно зависит от атрибута А через атрибут В (при условии, что атрибут А функционально не зависит ни от атрибута В, ни от атрибута С). 33
Третья нормальная форма (ЗНФ) Определение Отношение, которое находится а первой и во второй нормальных формах и не имеет атрибутов, не входящих в первичный ключ атрибутов, которые находились бы в транзитивной функциональной зависимости от этого первичного ключа. 34
Общее определение второй и третьей нормальных форм Вторая нормальная форма (2 НФ). Отношение, находящееся в первой нормальной форме, в котором каждый атрибут, отличный от атрибута первичного ключа, является полностью функционально независимым от любого потенциального ключа. 35
Общее определение второй и третьей нормальных форм Третья нормальная форма (ЗНФ). Отношение находящееся в первой и второй нормальной форме, в котором ни один атрибут, отличный от атрибута первичного ключа, не является транзитивно зависимым ни от одного потенциального ключа. 36
Нормальная форма Бойса-Кодда (НФБК) Отношение находится в НФБК тогда и только тогда, когда каждый его детерминант является потенциальным ключом. 37


