Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

Первая и вторая нормальные формы

Первая нормальная форма

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

Определение 1

Простым атрибутом называют атрибут, который содержит неделимые (атомарные) значения.

Определение 2

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

Определение 3

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

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

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

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

Замечание 1

Отношения в первой нормальной форме часто называют нормализованными отношениями.

Пример 1

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

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

«Первая и вторая нормальные формы» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ

Пример нормализации отношений

Е. Кодд описал алгоритм нормализации следующим образом:

  1. Необходимо начинать с отношения, которое находится на верху дерева. Берем его первичный ключ и расширяем каждое подчиненное отношение, вставляя домен или комбинацию доменов этого ключа.
  2. Первичный ключ каждого отношения, которое расширено таким образом, будет состоять из первичного ключа этого отношения, который был до расширения, и добавленного первичного ключа родительского отношения.
  3. Из родительского отношения вычеркиваем все непростые домены, удаляем верхний узел дерева. Такую же процедуру повторяем для каждого поддеревьева, которое осталось.

Вторая нормальная форма

Замечание 2

Зачастую первичный ключ отношения содержит несколько атрибутов (тогда он называется составным).

При этом рассматривается полная функциональная зависимость.

Замечание 3

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

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

Пример 2

Рассмотрим отношение ПОСТАВКИ, которое состоит из атрибутов Номер_поставщика, Товар, Стоимость.

Поставщиком могут поставляться различные товары, а разные поставщики могут поставлять один и тот же товар. Ключом отношения будет Номер_поставщика+Товар. В случае, если всеми поставщиками поставляется товар по одинаковой цене, будем иметь такие функциональные зависимости:

  • Номер_поставщика, товар $\to$ Стоимость
  • Товар $\to$ Стоимость

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

  • ПОСТАВКИ (Номер_поставщика, товар)
  • СТОИМОСТЬ_ТОВАРА (Товар, Стоимость).
Определение 4

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

Воспользуйся нейросетью от Автор24
Не понимаешь, как писать работу?
Попробовать ИИ
Дата написания статьи: 31.07.2016
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot