Нормализация. Понятие и необходимость применения. Аномалии модификации. Примеры
Содержание
- 1. Нормализация. Назначение и необходимость применения
- 2. Понятие избыточности данных. Пример
- 3. Аномалия вставки. Пример
- 4. Аномалия редактирования. Пример
- 5. Аномалия удаления. Пример
- Связанные темы
Поиск на других ресурсах:
1. Нормализация. Назначение и необходимость применения
Нормализация – это процесс (процедура) приведения таблиц базы данных к ряду нормальных форм (НФ) с целью избежания избыточности в базе данных, аномалий вставки, редактирования и удаления данных. Таблицы могут иметь неэффективную или не подходящую структуру, которую нужно нормализовать. Нормализация предусматривает разбивку исходной таблицы (отношения) на несколько новых таблиц (отношений).
Правильное применение механизма нормализации к базе данных дает следующие взаимосвязанные преимущества:
- минимизируются затраты на сохранение данных (избыточность данных). Другими словами, уменьшается размер базы данных;
- с возрастанием размера базы данных не так заметно возрастают временные затраты на доступ к данным;
- отсутствуют аномалии модификации в базе данных. К аномалиям модификации относятся аномалии вставки, редактирования и удаления данных.
Процесс нормализации включает в себя использование так называемых нормальных форм. На сегодняшний день известны следующие нормальные формы (рисунок 1):
- первая нормальная форма (1НФ);
- вторая нормальная форма (2НФ);
- третья нормальная форма (3НФ);
- нормальная форма Бойса-Кодда (НФБК);
- четвертая нормальная форма (4НФ);
- пятая нормальная форма (5НФ).
База данных считается правильно спроектированной (оптимальной или приближенной к оптимальной), если она отвечает требованиям нормальных форм. Не обязательно применять все 5 нормальных форм. Если количество атрибутов (столбцов) в базе данных небольшое, то достаточным есть применение первых трех нормальных форм. Взаимосвязь нормальных форм изображена на рисунке 1.
Рисунок 1. Взаимосвязь нормальных форм
⇑
2. Понятие избыточности данных. Пример
Избыточность данных возникает при неправильном проектировании таблицы базы данных. В этом случае таблица содержит повторяющиеся группы данных. Такие группы данных возникают, когда осуществляется попытка записать в одну ячейку таблицы более одного значения.
Пример. Пусть задана база данных учета учебного процесса в некотором учебном заведении, которая описывается таблицей (одной из таблиц) со следующей структурой
Рисунок 2. Структура таблицы базы данных учебного заведения
Для примера в таблицу внесены следующие данные (фрагмент таблицы).
Рисунок 3. Таблица с заполненными данными. Избыточность данных
В вышеприведенной таблице избыточность данных проявляется в следующих определениях:
- для идентификации студента (столбец Студент) группа данных «Номер зачетки» — «Адрес» повторяется. Достаточно указать только поле Студент, а данные о номере зачетной книжки и адрес держать в другой связанной таблице. Тогда данные полей «Номер зачетки» и «Адрес» не будут повторяться лишний раз. Как следствие, размер таблиц базы данных будет меньше;
- лишним есть указание кафедры для преподавателя, поскольку преподаватель может быть закреплен только за одной кафедрой. Название кафедры и его связь с преподавателем целесообразно сохранять в другой (связанной) таблице.
⇑
3. Аномалия вставки. Пример
Аномалия вставки проявляется в случаях, когда нужно добавить данные к таблице. Здесь может возникнуть ситуация, когда для вставки данных нужно добавлять (выгадывать) лишние (несуществующие) данные. Иными словами, в базу данных невозможно записать данные об одной сущности, не указав данных о другой сущности. Значит, аномалия вставки – это добавление нежелательной или несуществующей (выдуманной) информации об одной сущности в момент вставки информации о другой сущности.
Пример. Задана следующая база данных, которая основана на одной таблице. В таблице определяется информация о преподавателях (Преподаватель, Дисциплина, Кафедра), студентах (Студент, Номер зачетки, Адрес), успеваемость студентов (Оценка).
Рисунок 4. Таблица с данными об успеваемости в учебном заведении
Пусть в эту базу данных нужно добавить нового преподавателя математики (столбцы Преподаватель, Дисциплина), который недавно принят на работу. Для этого необходимо, чтобы новый преподаватель обязательно оценил хотя бы одного студента. Иначе, в таком представлении базы данных, добавить данные будет невозможно. Значит, при добавлении преподавателя, нужно выгадывать несуществующие данные оценивания студента. Это и есть аномалия вставки.
Рисунок 5. Пример аномалии вставки. Добавление преподавателя в базу данных требует указания информации о студенте
То же самое можно сказать и о студенте. Если в базу данных нужно добавить студента, который будет оценен спустя некоторое время (в конце семестра), то нужно выгадывать оценку, которую он получит из дисциплины, которая еще только изучается. Преподаватель на этот момент может быть уже известен.
⇑
4. Аномалия редактирования. Пример
Бывают случаи, когда в таблице базы данных данные в некоторой ячейке нужно отредактировать (поправить). Причиной этому могут быть, например, ошибки ввода или изменение некоторых названий с течением времени через весомые причины. Если корректируемые данные сохранены в одном экземпляре, то проблем нет. Если же корректируемые данные сохраняются во многих ячейках таблицы, то возникает так называемая аномалия редактирования.
Значит аномалия редактирования возникает в случаях, когда в таблице базы данных существуют повторяющиеся данные. Такие данные тяжело обновлять при их редактировании, поскольку нужно вносить изменения во все ячейки таблицы, в которых эти данные фигурируют. Если при изменении повторяемых данных в одной ячейке не изменить так же эти данные в других ячейках, то компьютер будет воспринимать эти данные как разные (в отличие от человека).
Аномалия редактирования – это вынужденная необходимость изменения (обновления) данных во всей таблице в случае их изменения (обновления) в одной ячейке таблицы с целью избежания их двузначного трактования.
Пример. Задана таблица базы данных учета успеваемости в учебном заведении. Пусть преподаватель физики Петренко М.М. вышла замуж и изменила фамилию на Маркевич. Теперь во всех ячейках столбца (атрибута) Преподаватель нужно изменить имя преподавателя Петренко М.М. на Маркевич М.М. (рисунок 4).
Рисунок 6. Аномалия редактирования. Редактирование одних и тех же данных в одной ячейке требует изменения этих данных в других ячейках
⇑
5. Аномалия удаления. Пример
Аномалия удаления проявляется в случаях, когда нужно удалить данные из таблицы. Аномалия удаления – это потеря одних данных в таблице при удалении других данных в таблице.
Пример. Пусть в таблице базы данных по ошибке было введено оценивание по дисциплине Информатика, которую перенесли на следующие семестры обучения. Автоматически, при удалении строки с дисциплиной «Информатика», будет потеряна строка с данными о преподавателе (Левитан М.К), который преподает эту дисциплину и название кафедры (Математические дисциплины).
Рисунок 7. Аномалия удаления. При удалении информации об оценивании студента теряется информация о преподавателе кафедры
⇑
Связанные темы
⇑