Нормализация — это процесс организации данных в базе данных, включающий создание таблиц и установление отношений между ними в соответствии с правилами, которые обеспечивают защиту данных и делают базу данных более гибкой, устраняя избыточность и несогласованные зависимости. Избыточность данных приводит к непродуктивному расходованию свободного места на диске и затрудняет обслуживание баз данных.
Вложение | Размер |
---|---|
blohina_nomer_1_19.01.2021_23a.docx | 60.09 КБ |
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПРАВОСУДИЯ»
РЕФЕРАТ
по дисциплине Информационные технологии в деятельности суда
«Нормализация данных в базе данных»
Москва, 2021
СОДЕРЖАНИЕ
ВВЕДЕНИЕ .................................................................................................................3
1. Нормализация. Назначение и необходимость применения .....................4
2. Нормализация реляционных баз данных ...................................................5
2.1 Первая нормальная форма .........................................................................6
2.2 Вторая нормальная форма .........................................................................7
2.3 Третья нормальная форма ..........................................................................8
2.4 Нормальная форма Бойса – Кодда ............................................................9
2.5 Четвертая нормальная форма ..................................................................10
2.6 Пятая нормальная форма .........................................................................10
ЗАКЛЮЧЕНИЕ .........................................................................................................12
СПИСОК ЛИТЕРАТУРЫ.........................................................................................13
ВВЕДЕНИЕ
Базы данных - это совокупность структур, предназначенных для хранения больших объемов информации и программных модулей, осуществляющих управление данными, их выборку, сортировку и другие подобные действия.
Нормализация - это метод проектирования базы данных, который организует таблицы таким образом, чтобы уменьшить избыточность и зависимость данных. Нормализация делит большие таблицы на меньшие таблицы и связывает их, используя отношения. Целью нормализации является устранение избыточных (бесполезных) данных и обеспечение логического хранения данных.
Изобретатель реляционной модели Эдгар Кодд предложил теорию нормализации с введением первой нормальной формы, и он продолжил расширять теорию второй и третьей нормальной формой. Позже он присоединился к Раймонду Ф. Бойсу для разработки теории нормальной формы Бойса-Кодда.
Актуальность темы. При построении баз данных необходимо следовать определённым правилам. Эти правила получили название нормализации баз данных. Нормализация базы данных является не обязательной, но эти правила существенно упростят работу по составлению запросов и способствуют улучшению масштабируемости.
Проектирование баз данных, как правило, играет одну из ключевых ролей в большинстве проектов. Грамотно спроектированная база позволяет без особых проблем вносить изменения, изменять структуру системы. Так как сейчас наиболее популярны реляционные базы данных.
1. Нормализация. Назначение и необходимость применения
Нормализация – это процесс (процедура) приведения таблиц базы данных к ряду нормальных форм (НФ) с целью избежания избыточности в базе данных, аномалий вставки, редактирования и удаления данных. Таблицы могут иметь неэффективную или не подходящую структуру, которую нужно нормализовать. Нормализация предусматривает разбивку исходной таблицы (отношения) на несколько новых таблиц (отношений) [Зафиевский, А. В.].
Правильное применение механизма нормализации к базе данных дает следующие взаимосвязанные преимущества:
Процесс нормализации включает в себя использование так называемых нормальных форм. На сегодняшний день известны следующие нормальные формы (рисунок 1) [Нестеров]:
База данных считается правильно спроектированной (оптимальной или приближенной к оптимальной), если она отвечает требованиям нормальных форм. Не обязательно применять все 5 нормальных форм. Если количество атрибутов (столбцов) в базе данных небольшое, то достаточным есть применение первых трех нормальных форм. Взаимосвязь нормальных форм изображена на рисунке 1.
Рисунок 1. Взаимосвязь нормальных форм
Основные свойства нормальных форм состоят в том, что каждая следующая нормальная форма лучше предыдущей и при переходе к следующей нормальной форме свойства предыдущих сохраняются.[1]
Более подробно все эти нормальные формы рассмотрим в следующем параграфе.
2.1 Первая нормальная форма
Таблица находится в первой нормальной форме, если каждый её атрибут атомарен. Под выражением «атрибут атомарен» понимается, что атрибут может содержать только одно значение. Таким образом, не существует 1NF таблицы, в полях которых могут храниться списки значений. Для приведения таблицы к 1NF обычно требуется разбить таблицу на несколько отдельных таблиц.
Замечание: в реляционной модели отношение всегда находится в 1 (или более высокой) нормальной форме в том смысле, что иные отношения не рассматриваются в реляционной модели. То есть само определение понятия отношение заведомо подразумевает наличие 1NF.
Пример приведения таблицы к первой нормальной форме
Исходная, ненормализованная, таблица (1):
Сотрудник | Номер телефона |
Иванов И. И. | 283–56–82 |
Петров П. Ю. | 708–62–34 |
Таблица (2), приведённая к 1NF:
Сотрудник | Номер телефона |
Иванов И. И. | 283–56–82 |
Иванов И. И. | 390–57–34 |
Петров П. Ю. | 708–62–34 |
Атомарность атрибутов. Вопрос об атомарности атрибутов решается на основе семантики данных, то есть их смыслового значения. Атрибут атомарен, если его значение теряет смысл при любом разбиении на части или переупорядочивании. И наоборот, если какой-либо способ разбиения на части не лишает атрибут смысла, то атрибут неатомарен. Одно и то же значение может быть атомарным или неатомарным в зависимости от смысла этого значения. Например, значение «4286» является
Хорошим способом принятия решения о необходимости разбиения атрибута на части является вопрос: «будут ли части атрибута использоваться по отдельности?». Если да, то атрибут следует разделить (но так, чтобы сохранились осмысленные части атрибута). Далее необходимо снова задаться тем же вопросом для новой структуры и так до тех пор, пока не останется атрибутов, допускающих разбиение.
Примеры неатомарного атрибута, часто встречающиеся на практике: составные поля в виде строки идентификаторов, разделённых, скажем, запятыми: 100,32,168,1045.
2.2 Вторая нормальная форма
Таблица находится во второй нормальной форме, если она находится в первой нормальной форме, и при этом любой её атрибут, не входящий в состав первичного ключа, функционально полно зависит от первичного ключа. Функционально полная зависимость означает, что атрибут функционально зависит от всего первичного составного ключа, но при этом не находится в функциональной зависимости от какой-либо из входящих в него атрибутов (частей). Или другими словами: в 2НФ нет неключевых атрибутов, зависящих от части составного ключа (+ выполняются условия 1НФ).
Пример приведения таблицы ко второй нормальной форме.
Пусть Начальник и Должность вместе образуют первичный ключ в такой таблице (3):
Начальник | Должность | Зарплата | Наличие компьютера |
Гришин | Кладовщик | 20000 | Нет |
Васильев | Программист | 40000 | Есть |
Васильев | Кладовщик | 25000 | Нет |
Зарплату сотруднику каждый начальник устанавливает сам, но её границы зависят от должности. Наличие же компьютера у сотрудника зависит только от должности, то есть зависимость от первичного ключа не полная.
В результате приведения к 2NF получим две таблицы (4):
Начальник | Должность | Зарплата |
Гришин | Кладовщик | 20000 |
Васильев | Программист | 40000 |
Васильев | Кладовщик | 25000 |
Здесь первичный ключ, как и в исходной таблице (5), составной, но единственный не входящий в него атрибут Зарплата зависит теперь от всего ключа, то есть полно.
Должность | Наличие компьютера |
Кладовщик | Нет |
Программист | Есть |
2.3 Третья нормальная форма
Таблица находится в третьей нормальной форме, если она находится во второй нормальной форме, и при этом любой её неключевой атрибут функционально зависит только от первичного ключа. Или что тоже самое – «нет зависимостей неключевых атрибутов от других неключевых атрибутов + 2НФ».
При решении практических задач в большинстве случаев третья нормальная форма является достаточной. Процесс проектирования реляционной базы данных, как правило, заканчивается приведением к 3NF.
Пример приведения таблицы (6) к третьей нормальной форме:
Фамилия | Отдел | Телефон |
Гришин | 1 | 11–22–33 |
Васильев | 1 | 11–22–33 |
Петров | 2 | 44–55–66 |
В результате приведения к 3NF получим две таблицы (7,8):
Фамилия | Отдел |
Гришин | 1 |
Васильев | 1 |
Петров | 2 |
Отдел | Телефон |
1 | 11–22–33 |
2 | 44–55–66 |
2.4 Нормальная форма Бойса – Кодда
Между третьей и четвертой формами существует еще одна разновидность — нормальная форма Бойса—Кодда (НФБК). Все зависимые от первичного ключа атрибуты должны быть потенциальными ключами отношения. Если это условие не выполняется для них создаётся отдельное отношение. Чтобы сущность соответствовала НФБК, она должна находиться в третьей нормальной форме. Любая сущность с единственным возможным ключом, соответствующая требованиям третьей нормальной формы, автоматически находится в НФБК.
Пример приведения таблицы (9) к нормальной форме Бойса—Кодда:
Номер клиента | Дата собеседования | Время собеседования | Номер комнаты | Номер сотрудника |
С345 | 13.10.03 | 13.00 | 103 | А138 |
С355 | 13.10.03 | 13.05 | 103 | А136 |
С368 | 13.09.03 | 13.00 | 102 | А154 |
С366 | 13.09.03 | 13.30 | 105 | А207 |
В результате приведения к форме Бойса—Кодда получим две таблицы (10, 11):
Номер клиента | Дата собеседования | Время собеседования | Номер Сотрудника |
С345 | 13.10.03 | 13.00 | А138 |
С355 | 13.10.03 | 13.05 | А136 |
С368 | 13.09.03 | 13.00 | А154 |
С366 | 13.09.03 | 13.30 | А207 |
Дата собеседования | Номер сотрудника | Номер комнаты |
13.10.03 | А138 | 103 |
13.10.03 | А136 | 103 |
13.09.03 | А154 | 102 |
13.09.03 | А207 | 105 |
Пример ситуации 3NF, но не BCNF: отношение имеет два (или более) возможных ключа, которые являются составными и имеют общий атрибут. Однако на практике как правило 3NF эквивалентна BCNF.
2.5 Четвертая нормальная форма
Таблица находится в 4NF, если она находится в BCNF и не содержит нетривиальных многозначных зависимостей. Многозначная зависимость не является функциональной, она существует в том случае, когда из факта, что в таблице содержится некоторая строка X, следует, что в таблице обязательно существует некоторая определённая строка Y.
То есть, таблица находится в 4NF, если все ее многозначные зависимости являются функциональными.
2.6 Пятая нормальная форма
Таблица находится в 5NF, если она находится в 4NF и любая многозначная зависимость соединения в ней является тривиальной.
Пятая нормальная форма в большей степени является теоретическим исследованием, и практически не применяется при реальном проектировании баз данных. Это связано со сложностью определения самого наличия зависимостей «проекции — соединения», поскольку утверждение о наличии такой зависимости должно быть сделано для всех возможных состояний БД.
ЗАКЛЮЧЕНИЕ
При том, что идеи нормализации весьма полезны для проектирования баз данных, они отнюдь не являются универсальным или исчерпывающим средством повышения качества проекта БД. Это связано с тем, что существует слишком большое разнообразие возможных ошибок и недостатков в структуре БД, которые нормализацией не устраняются. Несмотря на эти рассуждения, теория нормализации является очень ценным достижением реляционной теории и практики, поскольку она даёт научно строгие и обоснованные критерии качества проекта БД и формальные методы для усовершенствования этого качества. Этим теория нормализации резко выделяется на фоне чисто эмпирических подходов к проектированию,[3] которые предлагаются в других моделях данных. Более того, можно утверждать, что во всей сфере информационных технологий практически отсутствуют методы оценки и улучшения проектных решений, сопоставимые с теорией нормализации реляционных баз данных по уровню формальной строгости.
Нормализацию иногда упрекают на том основании, что «это просто здравый смысл», а любой компетентный профессионал и сам «естественным образом» спроектирует полностью нормализованную БД без необходимости применять теорию зависимостей. Однако, как указывает К. Дейт, нормализация в точности и является теми принципами здравого смысла, которыми руководствуется в своём сознании зрелый проектировщик, то есть принципы нормализации — это формализованный здравый смысл. Между тем, идентифицировать и формализовать принципы здравого смысла — весьма трудная задача, и успех в её решении является существенным достижением.
СПИСОК ЛИТЕРАТУРЫ
1. Зафиевский, А. В. Базы данных: учебное пособие / А. В. Зафиевский, А. А. Короткин, А. Н. Лататуев; Яросл. гос. ун-т им. П. Г. Демидова. – Ярославль : ЯрГУ, 2012. – 164 с.
2. Нестеров, С. А. Базы данных : учебник и практикум для академического бакалавриата / С. А. Нестеров. - М.: Издательство Юрайт, 20167. 230 с.
Интернет ресурс:
3. Чистов Д.В. Информационные системы в экономике [Электронный ресурс]. Режим доступа – URL: https://studref.com/361517/ekonomika/normalizatsiya_otnosheniy_relyatsionnyh_dannyh (дата обращения: 19.01.2021).
[1] Чистов Д.В. Информационные системы в экономике [Электронный ресурс]. Режим доступа – URL: https://studref.com/361517/ekonomika/normalizatsiya_otnosheniy_relyatsionnyh_dannyh (дата обращения: 19.01.2021).
Нечаянная победа. Айзек Азимов
Зимовье зверей
Стрижонок Скрип. В.П. Астафьев
Сказка про Серого Зайку
Мост из бумаги для Киры и Вики