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

База данных – Третья нормальная форма (3NF)

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
27.04.2017
База данных - Третья нормальная форма (3NF)

Таблица находится в третьей нормальной форме, когда выполнены следующие условия:

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

CREATE TABLE CUSTOMERS(
   CUST_ID       INT              NOT NULL,
   CUST_NAME     VARCHAR (20)      NOT NULL,
   DOB           DATE,
   STREET        VARCHAR(220),
   CITY          VARCHAR(130),
   STATE         VARCHAR(130),
   ZIP           VARCHAR(13),
   EMAIL_ID      VARCHAR(256),
   PRIMARY KEY (CUST_ID)
);

 

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

CREATE TABLE ADDRESS(
   ZIP           VARCHAR(13),
   STREET        VARCHAR(220),
   CITY          VARCHAR(130),
   STATE         VARCHAR(130),
   PRIMARY KEY (ZIP)
);

 

Следующий шаг будет изменить таблицу клиентов, как показано ниже:

CREATE TABLE CUSTOMERS(
   CUST_ID       INT              NOT NULL,
   CUST_NAME     VARCHAR (20)      NOT NULL,
   DOB           DATE,
   ZIP           VARCHAR(13),
   EMAIL_ID      VARCHAR(256),
   PRIMARY KEY (CUST_ID)
);

 

Преимущества удаления переходных зависимостей, в основном два.

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

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

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

 

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Если статья понравилась, то поделитесь ей в социальных сетях:

Читайте также

5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: