Хороша земля, да народ плох (Bona Terra, Mala Gens) (Латинская пословица).

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

1 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
27 апреля 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)
);

 

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

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

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

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

 

Просмотров: 181

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

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

    Добавить комментарий

    Войти с помощью: 

    Ваш e-mail не будет опубликован. Обязательные поля помечены *

    Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

    badge
    Обратный звонок 1
    Отправить
    galka

    Спасибо! Ваша заявка принята

    close
    galka

    Спасибо! Ваша заявка принята

    close