11413

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

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторная работа № 1. Нормализация баз данных. Задание: 1. Спроектировать реляционную базу данных состоящую из четырех связанных отношений. 2. Произвести нормализацию БД до третьей нормальной формы. Нормализация данных Один и тот же набор данных в реляцио...

Русский

2013-04-07

36 KB

62 чел.

Лабораторная работа № 1. Нормализация баз данных.

Задание:

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

2. Произвести нормализацию БД до третьей нормальной формы.

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

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

а) исключить ненужное повторение данных;

б) обеспечить быстрый доступ к данным;

в) обеспечить целостность данных.

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

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

  •  первая нормальная форма (1NF);
  •  вторая нормальная форма (2NF);
  •  третья нормальная форма (3NF);
  •  нормальная форма Бойса-Кодда (BCNF);
  •  четвертая нормальная форма (4NF);
  •  пятая нормальная форма, или нормальная форма проекции-соединения (5NF или PJ/NF).

Основные свойства нормальных форм:

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

(Бритва Оккама – не плоди сущностей сверх необходимого, а тут плодить нужно)

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

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

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

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

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

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

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

Третья нормальная форма. (Снова определение дается в предположении существования единственного ключа.) 

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

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

Форма Бойса-Кодда.

Таблица находится в форме Бойса-Кодда, если:

1) удовлетворяет требованиям третьей нормальной формы;

2) в ней отсутствуют зависимости атрибутов составного ключа от неключевых атрибутов.

Четвертая нормальная форма устраняет нетривиальные многозначные зависимости. Если таблица содержит два и более никак не связанных между собой многозначных атрибута, то по требованиям первой нормальной формы нам потребуется сделать отдельную запись для каждого значения каждого многозначного атрибута. Общее число записей будет равно числу сочетаний значений, принимаемых многозначными атрибутами, и может быть очень большим. Легко увидеть, что часть информации повторяется. Следовательно, для уменьшения избыточности информации и устранения возможности появления несогласованного состояния данных необходимо прибегнуть к дальнейшей декомпозиции отношения.

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

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

1. Разрабатывайте схему данных таким образом, чтобы можно было легко объяснить ее, т. е. не комбинируйте атрибуты независимых объектов и не создавайте сложные связи.

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

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


 

А также другие работы, которые могут Вас заинтересовать

10201. Психолого-педагогическое сопровождение застенчивых детей старшего дошкольного возраста в группе ДОУ 307.5 KB
  Застенчивые люди испытывают большие трудности в установлении межличностных контактов; пассивны в деятельности и жизнедеятельности в целом; чрезмерно озабочены оценкой себя другими людьми; более зависимы от других, ранимы, внушаемы, поддаются давлению со стороны окружения
10202. Организация циклов. Алгоритмическая структура циклов 50.5 KB
  Лабораторная работа № 3 Тема: Организация циклов Цель работы: освоить алгоритмическую структуру цикл а также работу команд в данной структуре. Образец решения задач. Задача № 1. Напишите программу печати таблицы перевода расстояний из километров в метры для значен
10203. Работа с простой переменной. Алгоритмы целочисленной арифметики 58 KB
  Лабораторная работа № 4 Тема: Работа с простой переменной. Алгоритмы целочисленной арифметики Цель работы: освоить работу с простой переменной и алгоритмами их обработки при решении задач целочисленной арифметики. Типовые алгоритмы обработки простой переменной Р
10204. Подпрограммы. Процедуры и функции 35 KB
  Лабораторная работа № 5 Тема: Подпрограммы. Процедуры и функции Цель работы: отработать навыки использования подпрограмм процедур и функций при написании программного кода. Образцы решения задачи. Задача № 1. Определить количество и сумму цифр в числе. Анализ по...
10205. РАЗВИТИЕ ВНИМАНИЯ СТАРШИХ ДОШКОЛЬНИКОВ В ИГРОВОЙ ДЕЯТЕЛЬНОСТИ 527.5 KB
  В дошкольном возрасте эти изменения касаются всех видов и свойств внимания. В целом, ребенок становится более сосредоточенным, у него появляется способность распределять внимание между различными предметами и переключаться с одного сложного объекта на другой.
10206. Организация перевозок скоропортящихся грузов на направлении 1.91 MB
  В курсовой работе необходимо определить особенности и условия перевозок скоропортящихся грузов на направлении, рассчитать годовую потребность для погрузки, количество «холодных поездов», произвести теплотехнический расчет, разработать технологию обслуживания рефрижераторного подвижного состава, схему размещения пунктов экипировки и технологического обслуживания
10207. Использование модулей при написании программного кода 69.5 KB
  Лабораторная работа № 8 Тема: Модули Цель работы: отработать навыки использования модулей при написании программного кода. Образец решения задачи. Задача № 1. Вставьте в двумерный массив строку из нулей после строки с номером t. Анализ постановки задачи В задаче ...
10208. Разработка карты наладки для обработки деталей на токарном станке с ЧПУ 23 KB
  Лабораторная работа №1 Разработка карты наладки для обработки деталей на токарном станке с ЧПУ Контрольные вопросы: 1. Назначение технологической документации. 2. Виды и классификация технологической документации. 3. Назначение карты наладки. Задание. 1. ...
10209. Изучение пульта оператора токарного станка с ЧПУ 34 KB
  Лабораторная работа №2 Изучение пульта оператора токарного станка с ЧПУ Цель работы: Ознакомление с пультом системы ЧПУ и режимы работы данной системы. Задание Изучить пульт управления станком; система Электроника НЦ–31; изучить работу станка в различных ре