Последние новости:

Поиск по сайту:

Лучше работать без определенной цели, чем ничего не делать (Сократ).

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

1 мин для чтения
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.

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

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

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

**ссылки nofollow

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

Мне кажется, что человек, который понимает язык этой статьи, уже знает ответ на вопрос, в чём разница между статическим и динамическим SQL. А я не понял. Я хотел понять, в чём разница между статическим и динамическим запросом. Яндекс даёт эту статью на первой странице в ответ на запрос «Что такое динамический запрос». Вроде статья должна ответить на этот вопрос, но уровень явно для академиков.

Статьи партнеров:

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x

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

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

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

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

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

close

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

close