Нормализация данных в реляционных базах данных | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 10 августа, печатный экземпляр отправим 14 августа.

Опубликовать статью в журнале

Автор:

Научный руководитель:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №30 (529) июль 2024 г.

Дата публикации: 21.07.2024

Статья просмотрена: 1 раз

Библиографическое описание:

Шошина, Е. А. Нормализация данных в реляционных базах данных / Е. А. Шошина. — Текст : непосредственный // Молодой ученый. — 2024. — № 30 (529). — URL: https://moluch.ru/archive/529/116791/ (дата обращения: 27.07.2024).

Препринт статьи



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

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

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

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

В базах данных транзитивной зависимостью (ТЗ) называют связь между атрибутами (столбцами с данными) в одной таблице, которая вызывает функциональную зависимость. Как правило, ТЗ включает в себя минимум три атрибута, которые также являются функционально зависимыми. [1]

Первая нормальная форма (1NF):

– каждое поле таблицы содержит неделимое значение;

– ни одно ключевое поле не пусто;

– отсутствуют повторяющиеся группы полей или сами поля;

– строки таблицы не упорядочены.

Пример таблицы в первой нормальной форме представлен в таблице 1.

Таблица 1

Номер полиса

Вид страхования

Фамилия клиента

Возраст клиента

Сумма страховки

1

Автомобильное страхование

Смолин

23

50000

2

Медицинское страхование

Григорян

54

100000

3

Домашнее страхование

Павлов

19

200000

Неделимость значений: каждое поле содержит атомарное значение, например, «Вид страхования», «Фамилия клиента», «Возраст клиента» и «Сумма страховки» не содержат множественных значений.

Заполненность ключевых полей: ключевое поле «Номер полиса» не может быть пустым для любой строки.

Отсутствие повторяющихся групп полей: каждая строка содержит уникальный «Номер полиса».

Неупорядоченность строк: порядок строк в таблице не имеет значения.

Вторая нормальная форма (2NF):

– выполняются условия 1NF;

– первичный ключ однозначно определяет запись;

– все поля зависят от первичного ключа;

– первичный ключ не избыточен.

Пример таблиц в 2NF форме представлен в таблицах 2 и 3, оно подразумевает разделение на таблицы с информацией о полисах и клиентах.

Таблица 2

Номер полиса

Вид страхования

Сумма страховки

ID клиента

1

Автомобильное страхование

50000

1

2

Медицинское страхование

100000

2

3

Домашнее страхование

200000

3

Таблица 3

ID клиента

Фамилия клиента

Возраст клиента

1

Смолин

23

2

Григорян

54

3

Павлов

19

Условия 1NF выполнены: 2 и 3 уже находятся в первой форме.

Зависимость от первичного ключа: в таблице 2 «Вид страхования» и «Сумма страховки» зависят только от «Номера полиса», тогда как в таблице 3 «Фамилия клиента» и «Возраст клиента» зависят от «ID клиента».

Первичный ключ не избыточен: каждая таблица имеет четко определенный первичный ключ («Номер полиса» в таблице 2 и «ID клиента» в таблице 3), который однозначно идентифицирует записи.

Третья нормальная форма (3NF):

– выполняются условия 2NF;

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

Пример таблицы с видами страхования представлен в таблице 4.

Таблица 4

Вид страхования

Описание

Автомобильное страхование

Страхование транспортных средств

Медицинское страхование

Страхование здоровья и медицинских расходов

Домашнее страхование

Страхование недвижимости и имущества

Условия 2NF выполнены: таблица находится во второй нормальной форме.

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

Нормальная форма Бойса — Кодда (также известная как усиленная версия 3NF) применяется, когда отношение имеет два или более потенциальных ключа. Таблица может находиться в НФБК, только если каждая нетривиальная функциональная зависимость имеет потенциальный ключ, который служит детерминантом. НФБК устраняет аномалии, которые могут возникнуть при наличии нескольких потенциальных ключей, каждый из которых может быть использован для идентификации записи. [2]

Четвертая нормальная форма (4NF):

– выполняются условия 3NF;

– отсутствуют многозначные зависимости между атрибутами и уникальными ключами.

Пример таблиц, приведенных в 4NF, представлен в таблицах 5 и 6.

Таблица 5

Номер полиса

Сумма страховки

ID клиента

ID страховой компании

1

50000

1

1

2

100000

2

2

3

200000

3

1

Таблица 6

ID страховой компании

Название

Адрес

1

ООО «Страховка-Авто»

ул. Ленина, 10

2

ЗАО «Медицинская защита»

пр. Победы, 5

Условия 3NF выполнены: таблицы находятся в третьей нормальной форме.

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

Пятая нормальная форма (5NF):

– выполняются условия 4NF;

– отсутствуют сложные зависимые соединения.

Пример таблиц, приведенных в 5NF, представлен в таблицах 7 и 8.

Таблица 7

ID подразделения

Название

ID страховой компании

1

Отдел продаж

1

2

Отдел клиентов

1

3

Отдел убытков

2

Таблица 8

ID менеджера

Имя

ID подразделения

1

Смолин

1

2

Григорян

2

3

Павлов

3

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

Нормализация данных помогает минимизировать избыточность, устранить аномалии при изменениях и поддерживать целостность данных. Применение нормальных форм улучшает структуру базы данных, делая ее более гибкой и управляемой. Следование принципам позволяет создать эффективную и производительную систему управления базами данных. Первая нормальная форма требует, чтобы поля таблицы содержали неделимые значения и не было повторяющихся групп или полей. Вторая нормальная форма вводит требования, чтобы неключевые поля полностью зависели от первичного ключа. Третья нормальная форма исключает транзитивные зависимости между неключевыми полями. Нормальная форма Бойса-Кодда усиливает требования 3NF, гарантируя, что детерминантами всех нетривиальных функциональных зависимостей являются суперключи. Четвертая нормальная форма устраняет многозначные зависимости, а пятая нормальная форма исключает сложные зависимые соединения.

Литература:

  1. Агальцов, В. П. Базы данных: учебник: в 2 кн. Книга 1. Локальные базы данных / В. П. Агальцов. — Москва: ФОРУМ: ИНФРА-М, 2021. — 352 с.: ил. — (Высшее образование). — ISBN 978–5-8199–0377–3. — Текст: электронный. — URL: https://znanium.ru/catalog/product/1222075 (дата обращения: 17.07.2024). — Режим доступа: по подписке.
  2. Шустова, Л. И. Базы данных: учебник / Л. И. Шустова, О. В. Тараканов. — Москва: ИНФРА-М, 2023. — 304 с. + Доп. материалы [Электронный ресурс]. — (Высшее образование: Бакалавриат). — DOI 10.12737/11549. — ISBN 978–5-16–010485–0. — Текст: электронный. — URL: https://znanium.com/catalog/product/1986697 (дата обращения: 17.07.2024). — Режим доступа: по подписке.


Задать вопрос