Головна

Нормалізація реляційних баз даних. Нормальні форми 1НФ, 2НФ, 3НФ.

  1. Amp; 27. Реформи Петра I: початок модернізації Росії.
  2. Amp; 51. Буржуазні реформи 60-70-х років XIX століття і. їх значення.
  3. II. Селім Ш. Реформи в Османській імперії
  4. III етап статистичного дослідження - обробка отриманий даних.
  5. III. рідкісні форми
  6. L-форми бактерій, їх особливості та роль в патології людини. Фактори, що сприяють утворенню L-форм. Мікоплазми та захворювання, викликані ними.
  7. Microsoft Word: Створення форми

Нормалізація - перетворення вихідного відносини за певними правилами і отримання іншого ставлення, яке еквівалентно іншого ставлення. Форми вкладені одна в одну. Знаходження відносини в старшій формі, в деякому сенсі, більш переважно.

Визначення 1НФ. Відношення знаходиться в першій 1НФ, якщо всі його атрибути атомарний, тобто якщо жоден з його атрибутів можна розділити на більш прості атрибути, які відповідають якимось іншим властивостям описуваної суті.

Будемо називати вихідне відношення основним, а значення неатомарного атрибута - підлеглим. Для того, щоб нормалізувати вихідне відношення, атрибути якого неатомарни, необхідно об'єднати схеми основного і підлеглого відносин.

Алгоритм нормалізації відносини до 1НФ:

1. створити нове ставлення, схема якого буде отримана шляхом злиття основної та підлеглої схем вихідного відносини в одну;

2. для кожного кортежу вихідного відносини включити в новий стільки рядків, скільки кортежів міститься в підлеглому відношенні цього кортежу;

3. заповнити значення атрибутів нового відносини, відповідних атрибутів підлеглого відносини;

4. заповнити рядки нового відносини значеннями атомарних атрибутів вихідного;

 R1
 код  статус  Місто  товар  Кількість
 Москва
 Москва
 Москва
 Москва
 Москва
 Москва
 Ростов
 Ростов
 Ростов
 Москва
 Москва
 Москва

Недоліки 1НФ розглянемо на прикладі ставлення R1 з наступними ФЗ: {код, товар} -> {кількість}; {Код} -> {місто}; {Код} -> {статус}; {Місто} -> {статус}, первинний ключ щодо {код, товар}.

Дане відношення має надмірністю (для кожного постачальника вказано місто і статус). Надмірність призводить до різних аномалій:

1. аномалія вставки. Не можна додати інформацію про постачальника, який не поставив жодного товару;

2. аномалія видалення. Можливо, що з видаленням деякої рядка таблиця (видалення поставки) зникне інформація про постачальника;

3. аномалія оновлення. Проблема виникає в тому випадку, якщо необхідно перемістити постачальника з одного міста в інший. Наприклад, 1 з Москви в Новгород. Для цього необхідно відкоригувати всі записи про постачання від цього постачальника;

Для вирішення цієї проблеми замінимо ставлення декількома проекціями. В одне включимо первинний ключ і все неключових атрибути, неприводимого залежні від первинного ключа. В інші проекції - неключових атрибути, приводимо залежні від первинного ключа і та частина первинного ключа, від якої дані атрибути неприводимого залежать. Отже отримаємо 2 відносини R2 і R3:

 R2    R3
 код  товар  Кількість    код  статус  Місто
 Москва
 Ростов
 Ростов
 Москва
 Новгород
 

ФЗ для відносини R2: {код, товар} -> {кількість}.

ФЗ для відношення R3: {код} -> {місто}, {код} -> {статус}, {місто} -> {статус}.

Такі відносини дозволяють подолати зазначені суперечності:

1. можна додати постачальника з Новгорода, яка не поставляв товар;

2. можна видалити товар з кодом 2 від постачальника з кодом 3, а відомості про постачальника залишаться;

3. для того, щоб перемістити постачальника 1 з Москви в Новгород, досить поміняти запис щодо R3.

Фізичний сенс протиріч щодо R1 в тому, що це відношення описує не один об'єкт (поставку товару) а два: постачання і постачальника.

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

Проблеми, що виникають в R3:

1. аномалія вставки. Не можна включити місто з деяким статусом з якого немає жодного постачальника;

2. аномалія видалення. Видаливши постачальника 5, видалимо інформацію про те, що Новгороду був встановлений статус 30;

3. аномалія оновлення. Інформація про статус повторюється, таким чином змінивши статус Москви з 20 на 30 необхідно відкоригувати кілька записів.

Фізичний сенс протиріччя той же: інформація про два об'єкти предметної області (місто і постачальник) знаходиться в одному відношенні.

Формальною ознакою неналежність R3 до 3НФ є наявність транзитивной ФЗ для цього відносини неприводимого безліч ФЗ: {код} > {місто} і {місто} > {статус}.

 R5:    R6:
 код  Місто    Місто  статус
 Москва  Москва
 Ростов  Ростов
 Ростов  Новгород
 Москва    Казань
 Новгород  

Для вирішення проблеми знайдемо про R3 проекції, в які включимо первинний ключ і атрибут, перед яким здійснюється транзитивній залежність і в другому відношенні цей же атрибут і атрибут, транзитивно залежить від первинного ключа вихідного відносини. Отримаємо відносини R5 і R6. ФЗ для відносини R5: {код} -> {статус}. ФЗ для відносини R6: {місто} > {статус}.

Кожне відношення описує тільки одну сутність (об'єкт предметної області).

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

Метрики Холстеда. | Основні реляційні операції над відносинами.


Фізична і логічна організація мереж. Мережеві топології. Способи маршрутизації. | Поняття протоколу. Семиуровневая модель взаємодії відкритих систем. | Методи зв'язку між апаратурою в мережі. Методи вирішення конфліктів при множинному доступі. | Обмін файлами. Служба архівів FTP. | Мова гіпертекстової розмітки HTML. | Шість типів технологій структурно-модульного проектування. |

© 2016-2022  um.co.ua - учбові матеріали та реферати