Что называется аномалией в терминах баз данных

BestProg

Нормализация. Понятие и необходимость применения. Аномалии модификации. Примеры

Содержание

Поиск на других ресурсах:

1. Нормализация. Назначение и необходимость применения

Нормализация – это процесс (процедура) приведения таблиц базы данных к ряду нормальных форм (НФ) с целью избежания избыточности в базе данных, аномалий вставки, редактирования и удаления данных. Таблицы могут иметь неэффективную или не подходящую структуру, которую нужно нормализовать. Нормализация предусматривает разбивку исходной таблицы (отношения) на несколько новых таблиц (отношений).

Правильное применение механизма нормализации к базе данных дает следующие взаимосвязанные преимущества:

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

База данных считается правильно спроектированной (оптимальной или приближенной к оптимальной), если она отвечает требованиям нормальных форм. Не обязательно применять все 5 нормальных форм. Если количество атрибутов (столбцов) в базе данных небольшое, то достаточным есть применение первых трех нормальных форм. Взаимосвязь нормальных форм изображена на рисунке 1.

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Рисунок 1. Взаимосвязь нормальных форм

2. Понятие избыточности данных. Пример

Избыточность данных возникает при неправильном проектировании таблицы базы данных. В этом случае таблица содержит повторяющиеся группы данных. Такие группы данных возникают, когда осуществляется попытка записать в одну ячейку таблицы более одного значения.

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

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Рисунок 2. Структура таблицы базы данных учебного заведения

Для примера в таблицу внесены следующие данные (фрагмент таблицы).

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Рисунок 3. Таблица с заполненными данными. Избыточность данных

В вышеприведенной таблице избыточность данных проявляется в следующих определениях:

3. Аномалия вставки. Пример

Аномалия вставки проявляется в случаях, когда нужно добавить данные к таблице. Здесь может возникнуть ситуация, когда для вставки данных нужно добавлять (выгадывать) лишние (несуществующие) данные. Иными словами, в базу данных невозможно записать данные об одной сущности, не указав данных о другой сущности. Значит, аномалия вставки – это добавление нежелательной или несуществующей (выдуманной) информации об одной сущности в момент вставки информации о другой сущности.

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Рисунок 4. Таблица с данными об успеваемости в учебном заведении

Пусть в эту базу данных нужно добавить нового преподавателя математики (столбцы Преподаватель, Дисциплина), который недавно принят на работу. Для этого необходимо, чтобы новый преподаватель обязательно оценил хотя бы одного студента. Иначе, в таком представлении базы данных, добавить данные будет невозможно. Значит, при добавлении преподавателя, нужно выгадывать несуществующие данные оценивания студента. Это и есть аномалия вставки.

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Рисунок 5. Пример аномалии вставки. Добавление преподавателя в базу данных требует указания информации о студенте

То же самое можно сказать и о студенте. Если в базу данных нужно добавить студента, который будет оценен спустя некоторое время (в конце семестра), то нужно выгадывать оценку, которую он получит из дисциплины, которая еще только изучается. Преподаватель на этот момент может быть уже известен.

4. Аномалия редактирования. Пример

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

Значит аномалия редактирования возникает в случаях, когда в таблице базы данных существуют повторяющиеся данные. Такие данные тяжело обновлять при их редактировании, поскольку нужно вносить изменения во все ячейки таблицы, в которых эти данные фигурируют. Если при изменении повторяемых данных в одной ячейке не изменить так же эти данные в других ячейках, то компьютер будет воспринимать эти данные как разные (в отличие от человека).

Аномалия редактирования – это вынужденная необходимость изменения (обновления) данных во всей таблице в случае их изменения (обновления) в одной ячейке таблицы с целью избежания их двузначного трактования.

Пример. Задана таблица базы данных учета успеваемости в учебном заведении. Пусть преподаватель физики Петренко М.М. вышла замуж и изменила фамилию на Маркевич. Теперь во всех ячейках столбца (атрибута) Преподаватель нужно изменить имя преподавателя Петренко М.М. на Маркевич М.М. (рисунок 4).

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Рисунок 6. Аномалия редактирования. Редактирование одних и тех же данных в одной ячейке требует изменения этих данных в других ячейках

5. Аномалия удаления. Пример

Аномалия удаления проявляется в случаях, когда нужно удалить данные из таблицы. Аномалия удаления – это потеря одних данных в таблице при удалении других данных в таблице.

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Рисунок 7. Аномалия удаления. При удалении информации об оценивании студента теряется информация о преподавателе кафедры

Источник

Что называется аномалией в терминах баз данных

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Аномалии

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

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

Сегодняшняя лекция посвящена вопросу, «какие проблемы связанные с хранилищами данных мы можем предотвратить на этапе планирования?». Здесь нам на помощь приходит реляционная алгебра, которая в конечном счете будет задействована при хранении данных в базе данных.

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Аномалии вставки (INSERT)

Пример: Отношение «сторудник_проект» нельзя вставить данные о проекте, над которым пока не работает ни один сотрудник.

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Аномалии обновления (UPDATE)

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

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Аномалии удаления (DELETE)

При удалении некоторых данных может произойти потеря другой информации. Например, если закрыть проект «Космос» и удалить все строки, в которых он встречается, то будут потеряны все данные о сотруднике Петрове. Если удалить сотрудника Сидорова, то будет потеряна информация о том, что в отделе номер 2 находится телефон 33-22-11. Если по проекту временно прекращены работы, то при удалении данных о работах по этому проекту будут удалены и данные о самом проекте (наименование проекта). При этом если был сотрудник, который работал только над этим проектом, то будут потеряны и данные об этом сотруднике.

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Для предотвращения появления аномалий на этапе проектирования применяют аппарат математической логики. Стоит отметить что ER-модели оперируют несколько другими терминами, ем реляционная алгебра. Так для обозначения отношений в ER-моделях используют термин «Сущность». В реляционной алгебре термину «Связь» (Relationship) отвечают понятие зависимости, уже знакомое Вам из дисциплин математического цикла. Напомним, что зависимости можно разделить на функциональные и многозначные.

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Пусть задано отношение R, которое содержит наборы атрибутов А и В. В отношении R набор атрибутов В функционально зависит от А и А функционально определяет В тогда и только тогда, когда в любой момент времени каждому значению проекции R[A] отвечает ровно одно значение R[В].

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

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

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Процесс устранения потенциальной противоречивости и избыточности данных в отношениях реляционной базы данных называется нормализацией исходных схем отношений.

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

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

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Пример: Приведение отношения к 1НФ

Отношение SHIPMENT (ОТГРУЗКА) является ненормализованным. Оно содержит повторяющиеся группы, представляющие массив значений, 1st Consignment, 2st Consignment, 3st Consignment (партии грузов).

Для такого отношения следует ввести бизнес-правило, требующее, чтобы груз состоял не более чем из трех партий.

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Использование отношения, представленного не в 1НФ, может породить следующие проблемы:

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Приведение отношения SHIPMENT к 1НФ заключается в изъятии данных о партиях груза из отношения SHIPMENT и создании для них связанного подчиненного отношения CONSIGNMENT (ПАРТИЯ_ГРУЗА).

Результат приведения отношения SHIPMENT к 1НФ показан на слайде.

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Все нормальные формы «вложены» друг в друга. Если отношение удовлетворяет 2 нормальной форме, значит оно должно удовлетворять и 1 нормальной форме. Если отношение удовлетворяет 3 нормальной форме, оно должно удовлетворять 1 и 2 нормальным формам.

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Атрибут отношения считается ключевым если он является элементом какого-либо ключа отношения. В противном случае атрибут будет считаться неключевым атрибутом.

Так в отношении (Город, Адрес, Почтовый_индекс) все атрибуты являются ключевыми, поскольку при заданных ФЗ (город, адрес) почтовый_индекс и почтовый_индекс → город ключами являются пары (город, адрес) и (адрес, почтовый_индекс).

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

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Пример. Приведение отношения ко 2НФ.

Отношение SHIPMENT содержит частичную ФЗ: неключевой атрибут Ship Capacity (грузоподъемность корабля) не зависит от ключевого атрибута Departure Date (даты убытия), а зависит от ключевого атрибута Ship Registration Number (регистрационный номер корабля).

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Использование отношения, представленного не во 2НФ, может породить следующие проблемы:

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Приведение отношения SHIPMENT ко 2НФ заключается в изъятии атрибутов Отношения SHIPMENT и создании для нее связанного подчиненного отношения SHIP.

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

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

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Возможна следующая проблема: наличие транзитивной зависимости не позволяет связать значения Y и Х, если не существует значения А, связанного со значением Y. Это затрудняет вставку и обновление данных, которые необходимо выполнить сразу для пары связей, а в случае удаления данных приводит к потере связи.

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Пример. Приведение отношения к 3НФ. Отношение SHIPMENT содержит транзитивную ФЗ: атрибут Customs Declaration (таможенная декларация) является по своей сути свойством атрибутов Origin (пункт отправления) и Destination (пункт назначения).

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Нормальные формы выских порядков

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

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

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

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

Иными словами, НФБК допускает наличие только таких ФЗ, в которых ключ определяет один или более других атрибутов

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Пример: в отношение (Город, Адрес, Почтовый_индекс), находящееся в 3НФ, невозможно записать кортеж для города с известным почтовым индексом, если не известен адрес с этим почтовым индексом. Данное отношение не находится в НФБК, так как имеет место ФЗ Почтовый_индексГород, а атрибут почтовый_индекс не является ключом этого отношения.

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Отношение находится в четвертой нормальной форме ( 4НФ ), если оно находится в 3НФ или НФБК и все независимые многозначные ФЗ разнесены в отдельные отношения с одним и тем же ключом.

Иными словами, 4НФ применяется при наличии в отношении более чем одной многозначной ФЗ и требует, чтобы отношение не содержало независимых многозначных ФЗ.

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Пример. Приведение к 4НФ

Рассмотрим отношение, содержащее сведения о кораблях (Ship), совершаемых ими рейсах (Voyage) и капитанах (Captain)

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Отношение находится в НФБК и содержит только многозначные ФЗ.

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Приведение отношения к 4НФ заключается в выделении для каждой многозначной ФЗ своего отношения представлено на слайде.

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Нормализация отношений выполнялась путем разложения (декомпозиции) схем отношений.

Очевидно, что при таком подходе должен соблюдаться принцип обратимости: соединение проекций должно приводить к исходным отношениям.

Это предполагает отсутствие потери кортежей; появление ранее не существовавших кортежей; сохранение ФЗ (семантика взаимосвязей между данными не должна нарушаться).

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Декомпозиция схем отношений не всегда гарантирует обратимость. Это обстоятельство связано с существованием класса ФЗ по соединению.

Если отношение удовлетворяет ФЗ по соединению, то оно может быть восстановлено по своим проекциям.

Отношения, содержащие более трех Многозначных ФЗ, требуют особого внимания при построении логической модели реляционной базы данных. Также 4НФ не устраняет избыточность данных полностью, поэтому требуется дальнейшая декомпозиция схем отношений.

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Отношение находится в пятой нормальной форме ( 5НФ ), если оно находится в 4НФ и удовлетворяет зависимости по соединению относительно своих проекций.

5НФ называют также нормальной формой с проецированием соединений. Она используется для разрешения трех и более отношений, которые связаны более чем тремя ФЗ по типу «многие-ко-многим»

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

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

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

Источник

Нормализация баз данных простыми словами

Приветствую всех посетителей сайта Info-Comp.ru! Сегодня мы с Вами поговорим о нормализации базы данных, узнаем, что это такое, какие нормальные формы базы данных существуют и зачем вообще проводить нормализацию базы данных.

Что называется аномалией в терминах баз данных. Смотреть фото Что называется аномалией в терминах баз данных. Смотреть картинку Что называется аномалией в терминах баз данных. Картинка про Что называется аномалией в терминах баз данных. Фото Что называется аномалией в терминах баз данных

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

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

Реляционная база данных

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

Реляционная база данных – это упорядоченная информация, связанная между собой определёнными отношениями.

Логически такая база данных представлена в виде таблиц, в которых и лежит вся эта информация.

Примечание! Если Вас интересует язык SQL, рекомендую пройти мой онлайн-курс по основам SQL, который ориентирован на изучение SQL как стандарта, таким образом, Вы сможете работать в любой системе управления базами данных. Курс включает много практики: онлайн-тестирование, задания и многое другое.

Нормализация баз данных

В реляционных базах данных есть такое понятия, как «Нормализация».

Нормализация – это процесс удаления избыточных данных.

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

Нормализация – это метод проектирования базы данных, который позволяет привести базу данных к минимальной избыточности.

Избыточность устраняется, как правило, за счёт декомпозиции отношений (таблиц), т.е. разбиения одной таблицы на несколько.

Зачем нормализовать базу данных?

У Вас может возникнуть вопрос – а зачем вообще нормализовать базу данных и бороться с этой избыточностью?

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

Теперь давайте поговорим о самой избыточности данных, что же это такое.

Избыточность данных – это когда одни и те же данные хранятся в базе в нескольких местах, именно это и приводит к аномалиям.

Так как в этом случае необходимо добавлять, изменять или удалять одни и те же данные в нескольких местах. Например, если не выполнить операцию в каком-нибудь одном месте, то возникает ситуация, когда одни данные не соответствуют вроде как точно таким же данным в другом месте.

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

Идентификатор предметаНаименование предметаМатериал
1СтулМеталл
2СтолМассив дерева
3КроватьЛДСП
4ШкафМассив дерева
5КомодЛДСП

А теперь допустим, что у нас возникла необходимость подкорректировать название материала, вместо «Массив дерева» нужно написать «Натуральное дерево», и чтобы это сделать нам необходимо внести изменения сразу в несколько строк, так как предметов, изготовленных из массива дерева, несколько, а именно 2: стол и шкаф.

А теперь представьте, что по каким-то причинам мы внесли изменения только в одну строку, в итоге в нашей таблице будет и «Массив дерева», и «Натуральное дерево».

Идентификатор предметаНаименование предметаМатериал
1СтулМеталл
2СтолНатуральное дерево
3КроватьЛДСП
4ШкафМассив дерева
5КомодЛДСП

Какое из этих названий будет правильным? А если представить, что мы можем внести еще какое-то новое значение при добавлении новых записей, например, просто «Дерево».

В этом случае в нашей таблице в скором времени будет и «Массив дерева», и «Натуральное дерево», и просто «Дерево», и вообще, что угодно, ведь это просто текст.

Идентификатор предметаНаименование предметаМатериал
1СтулМеталл
2СтолНатуральное дерево
3КроватьЛДСП
4ШкафМассив дерева
5КомодЛДСП
6ТумбаДерево

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

При этом, обязательно стоит отметить, что в нашей таблице всего 5 записей, а теперь представьте, что их миллион!

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

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

Идентификатор предметаНаименование предметаИдентификатор материала
1Стул2
2Стол1
3Кровать3
4Шкаф1
5Комод3

Материалы, из которых изготовлены предметы мебели.

Идентификатор материалаМатериал
1Массив дерева
2Металл
3ЛДСП

В этом случае когда нам потребуется изменить название материала, мы будем вносить изменение только в одном месте, т.е. править только одну строку.

Таким образом, представляя материалы в виде отдельной сущности и создавая для нее отдельную таблицу, мы устраняем описанную выше аномалию.

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

Нормальные формы базы данных

В целом процесс нормализации базы данных выглядит следующим образом: мы, следуя определённым правилам и соблюдая определенные требования, проектируем таблицы в базе данных.

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

Иными словами, следуя определённым правилам и соблюдая определенные требования мы приводим базу данных к определенной нормальной форме.

Нормальная форма базы данных – это набор правил и критериев, которым должна отвечать база данных.

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

Отсюда можно сделать вывод, что чем выше нормальная форма, тем меньше аномалий в базе будет.

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

Иными словами, процесс перехода от одной нормальной формы к следующей – это усовершенствование базы данных. Так как если база данных находится в какой-то определённой нормальной форме – это означает, что в базе данных отсутствует определенный вид аномалий.

Существует 5 основных нормальных форм базы данных:

Однако выделяют еще дополнительные нормальные формы:

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

База данных считается нормализованной, если она находится как минимум в третьей нормальной форме (3NF).

В реальном мире нормализация до третьей нормальной формы (3NF) является обычной, стандартной практикой, так как 3NF устраняет достаточное количество аномалий, при этом производительность базы данных, а также удобство ее использования не снижается, что нельзя сказать о всех последующих формах.

Ситуации, при которых требуется нормализовать базу данных до четвертой нормальной формы (4NF), в реальном мире встречаются достаточно редко.

Заметка! Если Вас интересует язык SQL, рекомендую почитать мою книгу «SQL код», которая ориентирована на изучение SQL как стандарта, после прочтения книги Вы сможете писать SQL запросы в любой системе управления базами данных.

Если говорить о всех последующих нормальных формах (5NF, DKNF, 6NF), то в реальной жизни трудно даже представить ситуации, при которых потребуется нормализовать базу данных до этих форм.

Иными словами, 5NF, DKNF, 6NF – это в большей степени теоретические нормальные формы, немного отстраненные от реального мира.

Стоит отметить, что приведение базы данных к какой-то конкретной нормальной форме, обязательно требует, чтобы эта база данных уже находилась в предыдущей нормальной форме. Другими словами, если Вы хотите нормализовать базу данных до третьей нормальной формы, то база уже должна находиться во второй нормальной форме, т.е. нельзя нормализовать базу данных до третьей формы, если она еще не нормализована до второй.

Описание нормальных форм базы данных

В следующих статьях представлено подробное описание каждой нормальной формы и приведены примеры.

На сегодня это все, надеюсь, материал был Вам полезен и интересен, пока!

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *