Реферат на тему:


Воспользуйтесь поиском к примеру Реферат        Грубый поиск Точный поиск






Загрузка...
нормализация

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

План

1. Постановка задачи

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

3. Денормализации

Постановка задачи

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

Избыточность данных в БД является нежелательным явлением, так как приводит к увеличению объема памяти, замедляет работу БД. Избыточность данных является результатом в первую очередь дублирование данных. Различают неубыточное и убыточное дублирования данных. Полностью устранять избыточность не требуется, так как при этом невозможно будет поддерживать БД как единое целое. Следует только минимизировать избыточность, оставив необходимое дублирование данных.

Дублирование данных создает проблемы при выполнении операций с БД. Эти проблемы возникают при попытке сделать операции: редактирование, добавление или удаление данных.

Аномалиями называется такая ситуация в БД, которая приводит к противоречий в БД, либо существенно усложняет обработку данных. Различают аномалии модификации, добавления и удаления.

Пример. Рассмотрим отношение Студент (табл. 7.1).

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

при этом возможны ошибки (в случае неверного ввода фамилии), которые нарушат целостность БД.

Аномалия добавления возникает при добавлении информации о новом студента, при этом необходимо вводить информацию, которая уже есть в БД: название факультета, фамилия декана. Кроме того невозможно создать новую группу пока не существует студентов, в ней занимаются.

Аномалия изъятиявозникает при попытке удалить данные о студенте, который в группе пока еще один, например Лемешко. В этом случае исчезнет информация о группе ИУСТ-22.

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

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

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

Атрибут B функционально зависит от A, если каждому значению A соответствует в точности одно значение B. Математическая запись функциональной зависимости (ФЗ): A ^ B

Пример. Функциональные зависимости:

Студент ^ Группа; Группа ^ Факультет;

Преподаватель, Студент, Дисциплина ^ Оценка.

Если существует ФЗ A ^ B, то это означает, что во всех кортежах с одинаковым значением атрибута A атрибут B будет иметь также одно и то же значение. A и B могут состоять из нескольких атрибутов.

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

Первая нормальная форма. Отношение находится в 1НФ тогда и только тогда, когда все его атрибуты являются атомарными.

Значение атрибута считается атомарным, если оно является неделимым во всех приложениях.

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

степенью детализации и должен поддерживаться во всех приложениях (табл. 7.5).

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

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

Пример. Рассмотрим отношение Студент (табл. 7.6).

Функциональные зависимости:

№ зачет. кн., Дисциплина ^ Фамилия, Группа, Оценка № зачет. кн. ^ Фамилия, Группа

Для приведения данного отношение к 2НФ необходимо разбить его на проекции, при этом должна быть выполнена

условие восстановления исходного отношения без потерь. Проекции имеют следующий вид (табл. 7.7 ... 7.8).

Отсутствие потерь при декомпозиции отношения R (x, y, z) на отношение Rj (x, y) и R2 (x, z) выполняется, если от общего атрибута двух полученных отношений (x) зависит хотя бы один атрибут из двух оставшиеся (y или z), то есть если выполняется (x ^ y) или (x ^ z).

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

Атрибут C транзитивно зависит от атрибута A, если для атрибутов A, B, C выполняются следующие условия A ^ B и B ^ C, но обратная зависимость отсутствует.

Пример. Рассмотрим отношение Студент (табл. 7.9).

Функциональные зависимости: № зачет. кн. ^ Фамилия, Группа, Факультет Группа ^ Факультет

Между атрибутами существует транзитивная зависимость. Для того чтобы предотвратить это необходимо выполнить декомпозицию отношения (табл. 7.10, 7.11):

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

Пример. Рассмотрим отношение Специальность (табл. 7.12).

Предположим, что на каждой специальности определеннуюдисциплину может преподавать только один преподаватель и каждый преподаватель преподает только одну дисциплину. В этом случае имеют место такие зависимости:

Специальность, Дисциплина ^ Преподаватель Преподаватель ^ Дисциплина

Отношение находится в 3НФ, но неключевой атрибут Преподаватель определяет атрибут Дисциплина, входит в ключ.

Для того чтобы избавиться аномалий необходимо выполнить декомпозицию отношения (табл. 7.13, 7.14).

Четвертая нормальная форма. Отношение находится в 4НФ тогда и только тогда, когда в случае существования многозначной зависимости A ^^ B все остальные атрибуты отношения функционально зависят от A.

В отношении R (A, B, C) существует многозначная зависимость A ^^ B в том и только в том случае, когда множество значений B, соответствует паре значений A и C зависит только от A и не зависит от C.

Отношение R (A, B, C) можно разбить без потерь информации на отношение Rj (A, B) и R2 (A, C) в том и только в том случае, если существуют многозначные зависимости A ^^ B и A ^^ C.

Пример. Рассмотрим отношение Кафедра (табл.7.15).

В данном отношении существуют две многозначные зависимости:

Кафедра ^^ Преподаватель Кафедра ^^ Группа

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

Для того, чтобы свести отношения к 4НФ, необходимо выполнить его декомпозицию (табл. 7.16, 7.17).

Пятая нормальная форма. Отношение находится в 5НФ тогда и только тогда, когда любая зависимость соединения в отношении исходит из существования некоторого возможного ключа в отношении.

Отношение R (X, Y, ..., Z) удовлетворяет зависимости соединения (X, Y, ..., Z тогда и только тогда, когда R восстанавливается без потерь информации путем соединения своих проекций на X , Y, ..., Z. Зависимость соединения является обобщением функциональной и многозначной зависимостей.

Пример. Рассмотрим отношение Занятия: Занятия (Студент Преподаватель Дисциплина) Каждый студент слушает лекции многих преподавателей, каждый преподаватель преподает для многих студентов, каждый студент изучает много дисциплин, каждый преподаватель преподает много

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

Если отношение R спроектировать на составные атрибуты СО, СД, ВД, то соединение этих проекций даст исходное отношение. Это означает, что в отношении Занятия существовала зависимость соединения. Результатом декомпозиции отношения Занятия будет получение таких отношений: R1 (Студент Преподаватель), R2 (Студент, Дисциплина), R3 (Преподаватель Дисциплина).

Для возведения исходного отношения к 5НФ выполняют его декомпозиции на отношение, количество которых превышает два.

Результаты сведение к нормальных форм приведены в табл. 7.18.

денормализации

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

денормализации применяется в тех случаях, когда нормализована БД не удовлетворяет требованиям, предъявляемым к производительности системы. Денормализации может применяться в следующих случаях:

- объединение таблиц со связями "один к одному";

- дублирование неключевых атрибутов в связях "один ко многим" для уменьшения количества соединений;

- дублирование атрибутов внешнего ключа в связях "один ко многим" для уменьшения количества соединений;

- дублирование атрибутов "многие ко многим" для уменьшения количества соединений;

- создание таблиц из данных, содержащихся в другихтаблицах;

- введение групп полей, которые повторяются.

Применяя денормализации следует учитывать, что этот процесс имеет следующие негативные последствия:

- приводит к появлению аномалий БД;

- снижает гибкость системы;

- может уменьшить время на ответы к БД, но при этом замедляет операции обновления данных;

- может усложнить физическую реализацию системы.

Литература

1. Гайдамакин Н.А. Автоматизированные информационные системы, базы и банки данных. Вводный курс. - М .: Гелиос АРВ, 2002. - 368 с.

2. Гайна А. Организация баз данных и знаний. Языка баз данных Конспект лекций.-К.: КНУСА, 2002. - 64 с.

3. Гайна Г.А., Попович Н.Л. Организация баз данных и знаний. Организация реляционных баз данных: Конспект лекций. - М.: КНУБА, 2000. - 76 с.

4. Гарсиа-Молина Г., Ульман Д., Уидом Д. Системы баз данных. М .: Издательский дом "Вильямс", 2003. - 1088 с.

5. Григорьев Ю.А., Ревунков Г.И. Банки данных. М .: Изд-во МГТУ им. Н.Э.Баумана, 2002. - 320 с.

6. Грофф Дж. Вайнберг П. Энциклопедия SQL. - СПб .: Питер, 2003. - 896 с.

7. Дейт К.Дж. Введение в системы баз данных. - М .: Диалектика, 1998. - 784 с.

8. Дыгой С.М. Проектирование и внедрение баз данных. М .: Финансы и статистика, 1995. - 208 с.

9. Карпова Т.С. Базы данных: модели, разработка, реализация. - СПб .: Питер, 2001. - 304 с.

10. Когаловский М.Р. Энциклопедия технологий баз данных.- М .: Финансы и статистика, 2002. - 800 с.

11. Конноли Т., Бегг К. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. - М .: Издательский дом "Вильямс", 2003. - 1440 с.

12. Кренке Д. Теория и практика построения баз данных. - СПб .: Питер, 2003. - 800 с.

13. Малыхина М.П. Базы данных: основы, проектирование, внедрение. - СПб .: БХВ-Петербург, 2004. - 512 с.

14. Роб П., Коронел К. Системы баз данных: проектирование, реализация и управление. - СПб .: БХВ-Петербург, 2004. - 1040 с.

Загрузка...