Файл: Нормализация реляционной модели данных методом декомпозиции отношений.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 09.12.2023
Просмотров: 506
Скачиваний: 4
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
ПРАКТИЧЕСКАЯ РАБОТА 7
Тема: Нормализация реляционной модели данных методом декомпозиции отношенийПорядок выполнения работы-
Для указанного варианта задания выполнить нормализацию отношений методом декомпозиции с учетом выделенных функциональных зависимостей. -
Представить результат в виде нормализованной реляционноймодели. -
Оформить отчет по работе.
-
Титульный лист. -
Реляционная таблица для заданного варианта. -
Описание первичных ключей и функциональных зависимостей для заданного отношения (таблицы). -
Нормализованная реляционная модель до уровня 3НФ с описанием всех этапов проведения анализа исходной таблицы и выполняемых декомпозиций. Для каждой полученной в результате декомпозиции таблицы должны быть описаны все функциональные зависимости. -
Вывод по результатам работы.
Теоретическиесведения
Нормализация – метод создания набора отношений с заданными свой- ствами на основе некоторых требований к данным. Процесс нормализации – формальный метод для оптимизации столбцов отношений и устранения аномалий.Избыточность данных и аномалииобновленияОсновная цель проектирования реляционной БД – группирование атрибутов в отношениях таким образом, чтобы минимизировать избыточность данных (сокращение объема вторичной памяти для хранения БД) и повышение надежности при работе с данными.Обычно процесс проектирования отношений реляционной БД ведется на основе разработанной ER-диаграммы или на основе просто здравого смысла разработчика. В общем случае при таком подходе расположение атрибутов в отношениях неоптимальное. При работе с отношениями, содержащими избыточные данные, могут возникать проблемы – аномалии обновления. Аномалии обновления делят на три вида:-
аномалии вставки – возникают при добавлении новых несогласованных данных (нарушающих целостность данных вотношении); -
аномалии изменения – возникают при изменении части ранее введенных данных; частичное обновление сведений приведет к нарушению целостности данныхотношения; -
аномалии удаления – возникают при удалении строк изотношений.
Обычно для решения проблем избыточности и аномалий выполняется деление отношения на такие отношения, в которых избыточности не будет. Для выполнения такого процесса необходимо выявить все зависимости между атрибутами отношения (потеря одной такой зависимости меняет модель внешнего мира).Функциональные зависимостиВыявление смысловой зависимости между данными – один из способов формализации смысловой информации о данных.Функциональная зависимость описывает связь типа «многие-к-одному» между атрибутами отношения, где «много» – детерминант функциональной зависимости. Функциональная зависимость является семантическим свойством атрибутов отношения.Если в отношении R, содержащем атрибуты A и B, атрибутBфункционально зависит от атрибута A (А является детерминантом атрибута B)A B,то в каждом кортеже этого отношения каждое конкретное значение атрибута A всегда связано только с одним значением атрибута B. Особенности функциональных зависимостей, лежащие в основе процесса нормализации:
-
функциональная зависимость является специализированным правилом целостности – она накладывает ограничения на допустимые значения атрибутов отношений; эту особенность можно использовать при обновлении БД, т.к. зная, какие функциональные зависимости есть в отношении, можно понять, нарушат ли новые данные целостность данныхотношения; -
функциональная зависимость является обобщением понятия потенциального ключа; функциональные зависимости позволяют определить все потенциальные ключи отношения (и соответственно – первичный ключ): все атрибуты отношения, которые не являются частью первичного (или потенциального) ключа, должны функционально зависеть от этого ключа; если не все остальные атрибуты отношения зависят от некоторого детерминанта, то этот детерминант не является потенциальным ключом этогоотношения.
Суть процесса нормализации:
-
внормализованныхотношенияхнеразрешаются никакие функциональныезависимости,кромефункциональныхзависимостей вида K A,гдеK –потенциальныйключотношенияR,аA–неключевой атрибут; -
еслижеотношениеRимеетфункциональныезависимостиB A , где B не являетсяпотенциальнымключом,товотношенииRбудет наблюдаться избыточностьданных.
-
1НФ. Отношение находится в 1НФ тогда и только тогда, когда в любом допустимом значении этого отношения каждый кортеж содержит только одно значение для каждого из атрибутов, т.е. это значение не имеет внутренней структуры (множество, таблица и т.п.). Отношения в 1НФ имеют большое количество аномалийобновления. -
2НФ. Отношение находится в 2НФ тогда и только тогда, когда оно находится в 1НФ, и каждый атрибут отношения, не входящий в состав первичного ключа, характеризуется полной функциональной зависимостью от этого первичного ключа.
-
3НФ. Отношение находится в 3НФ тогда и только тогда, когда оно находится в 2НФ и не имеет не входящих в первичный ключ атрибутов, которые находились бы в транзитивной функциональной зависимости от этого первичного ключа.
Рекомендации по выполнениюработы
Этап 1. Выделить функциональные зависимости для каждого отношения исходной реляционной схемы. Проверить практический смысл выделенных функциональных зависимостей.Этап 2. Для каждого отношения (включая и вновь создаваемые) последовательно применить правила нормальных форм. При несоблюдении текущего правила в отношении выполнить его декомпозицию (удалить проблемный атрибут из отношения с образованием нового отношения, первичным ключом которого будет детерминант рассматриваемой функциональной зависимости (этот атрибут только копируется в новое отношение)). Нормализованное отношение должно удовлетворять как минимум 3НФ.Этап 3. Для полученной нормализованной реляционной схемы проверить смысл ссылок.Этап 4. Реализовать полученные реляционные отношения в виде таблиц в среде целевойСУБД.Этап 5. Оформить отчет по работе.Пример приведения отношения к 3НФРассмотрим отношение «Экзаменационная ведомость»| Код студента | Фамилия | Код экзамена | Предмет и дата | Оценка |
| 1 | Иванов | 1 | Математика, 05.06.2019 | 4 |
| 2 | Петров | 1 | Математика, 05.06.2019 | 5 |
| 1 | Иванов | 2 | Физика, 10.06.2019 | 5 |
| 2 | Петров | 2 | Физика, 10.06.2019 | 5 |
Первичный ключ таблицы состоит из атрибутов: Код студента,Код экзаменаОтношение находится в первой нормальной форме (1НФ), если все атрибуты отношения принимают простые значения (атомарные или неделимые), не являющиеся множеством или кортежем из более элементарных составляющих. Наше отношение не находится в 1НФ.Приведем отношение к 1НФ:
| Код студента | Фамилия | Код экзамена | Предмет | Дата | Оценка |
| 1 | Иванов | 1 | Математика | 05.06.2019 | 4 |
| 2 | Петров | 1 | Математика | 05.06.2019 | 5 |
| 1 | Иванов | 2 | Физика | 10.06.2019 | 5 |
| 2 | Петров | 2 | Физика | 10.06.2019 | 5 |