Бази даних. Нормалізація. Поняття та необхідність застосування. Аномалії модифікації. Приклади

Нормалізація. Поняття та необхідність застосування. Аномалії модифікації. Приклади


Зміст


Пошук на інших ресурсах:




1. Нормалізація. Призначення та необхідність застосування

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

Правильне застосування механізму нормалізації до бази даних дає наступні взаємозв’язані переваги:

  • мінімізуються витрати на зберігання даних (надлишковість даних). Іншими словами, зменшується розмір бази даних;
  • зі зростанням розміру бази даних не так помітно зростають часові затрати на доступ до даних;
  • відсутні аномалії модифікації в базі даних. До аномалій модифікації належать аномалії вставки, редагування та видалення даних.

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

  • перша нормальна форма (1НФ);
  • друга нормальна форма (2НФ);
  • третя нормальна форма (3НФ);
  • нормальна форма Бойса-Кодда (НФБК);
  • четверта нормальна форма (4НФ);
  • п’ята нормальна форма (5НФ).

База даних вважається правильно спроектованою (оптимальною або наближеною до оптимальної), якщо вона відповідає вимогам нормальних форм. Не обов’язково застосовувати всі 5 нормальних форм. Якщо кількість атрибутів (стовпців) у базі даних невелика, то достатнім є застосування перших трьох нормальних форм. Взаємозв’язок нормальних форм відображено на рисунку 1.

Нормальні форми. Взаємозв’язок нормальних форм

Рисунок 1. Взаємозв’язок нормальних форм

 

2. Поняття надлишковості даних. Приклад

Надлишковість даних виникає при неправильному проектуванні таблиці бази даних. У цьому випадку таблиця містить групи даних, що повторюються. Такі групи даних виникають, коли здійснюється спроба записати в одну комірку таблиці більше одного значення.

Приклад надлишковості даних.

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

Структура таблиці бази даних навчального закладу

Рисунок 2. Структура таблиці бази даних навчального закладу

Для прикладу в таблицю внесено наступні дані (фрагмент таблиці).

Надлишковість даних. Приклад

Рисунок 3. Таблиця з заповненими даними. Надлишковість даних

У вищенаведеній таблиці надлишковість даних проявляється у наступних визначеннях:

  • для ідентифікації студента (стовпчик Студент) група даних “Номер залікової”“Адреса” повторюється. Достатньо вказати тільки поле Студент, а дані про номер залікової книжки та адресу тримати в іншій зв’язаній таблиці. Тоді дані полів “Номер залікової” та “Адреса” не будуть повторюватись зайвий раз. Як наслідок, розмір таблиць бази даних буде менший;
  • зайвим є вказання кафедри для викладача, оскільки викладач може бути закріплений тільки за однією кафедрою. Назву кафедри та її зв’язок з викладачем доцільно зберігати в іншій (зв’язаній) таблиці.

 

3. Аномалія вставки. Приклад

Аномалія вставки проявляється тоді, коли потрібно додати дані до таблиці. Тут може виникнути ситуація, коли для вставки даних потрібно додавати (вигадувати) зайві (неіснуючі) дані. Іншими словами, в базу даних неможливо записати дані про одну сутність, не вказавши даних про іншу сутність. Отже, аномалія вставки – це додавання небажаної або неіснуючої (вигаданої) інформації про одну сутність в момент вставки інформації про іншу сутність.

Приклад. Задана наступна база даних, що основана на одній таблиці. У таблиці визначається інформація про викладачів (Викладач, Дисципліна, Кафедра), студентів (Студент, Номер залікової, Адреса), успішність студентів (Оцінка).

Аномалія вставки. Приклад. Таблиця з даними успішності в навчальному закладі

Рисунок 4. Таблиця з даними успішності в навчальному закладі

Нехай в цю базу даних потрібно додати нового викладача математики (стовпчики Викладач, Дисципліна), який нещодавно прийнятий на роботу. Для цього необхідно, щоб новий викладач обов’язково оцінив хоча б одного студента. Інакше, у такому представленні бази даних, додати дані буде неможливо. Виходить, що додаючи викладача, потрібно вигадувати неіснуючі дані оцінювання студента. Це і є аномалія вставки.

Бази даних. Нормалізація. Приклад аномалії вставки

Рисунок 5. Приклад аномалії вставки. Додавання викладача в базу даних потребує вказування інформації про студента

Те саме можна сказати і про студента. Якщо в базу даних потрібно додати студента, який буде оцінений через деякий час (в кінці семестру), то потрібно вигадувати оцінку, яку він отримає з дисципліни, що вивчається. Викладач на цей момент може бути вже відомий.

 

4. Аномалія редагування. Приклад

Бувають випадки, коли в таблиці бази даних дані в деякій комірці потрібно відредагувати (поправити). Причиною цьому можуть бути, наприклад, помилки вводу чи зміна деяких назв з часом через вагомі причини. Якщо дані, що потрібно відкорегувати, збережені в одному екземплярі, то проблем немає. Якщо ж дані, що корегуються, зберігаються в багатьох комірках таблиці, то виникає так звана аномалія редагування.

Отже, аномалія редагування виникає у випадках, коли в таблиці бази даних існують дані, які повторюються. Такі дані важко оновлювати при їх редагуванні, оскільки потрібно вносити зміни в усі комірки таблиці, в яких ці дані фігурують. Якщо при зміні повторюваних даних в одній комірці не змінити так само ці дані в інших комірках, то комп’ютер буде сприймати ці дані як різні (на відміну від людини).

Аномалія редагування – це вимушена необхідність зміни (оновлення) даних у всій таблиці у випадку їх зміни (оновлення) в одній комірці таблиці з метою уникнення їх двоякого трактування.

Приклад. Задана таблиця бази даних обліку успішності в навчальному закладі. Нехай викладач фізики Петренко М.М. вийшла заміж і змінила прізвище на Маркевич. Тепер у всіх комірках стовпця (атрибуту) Викладач потрібно змінити ім’я викладача Петренко М.М. на Маркевич М.М (рисунок 6).

Бази даних. Нормалізація. Аномалія редагування. Приклад

Рисунок 6. Аномалія редагування. Редагування тих самих даних в одній комірці вимагає зміни цих даних в інших комірках

 

5. Аномалія видалення. Приклад

Аномалія видалення проявляється тоді, коли потрібно видалити дані з таблиці. Аномалія видалення – це втрата одних даних в таблиці при видаленні інших даних в таблиці.

Приклад. Нехай в таблиці бази даних помилково було введено оцінювання з дисципліни Інформатика, яку перенесли на наступні семестри навчання. Автоматично при видаленні рядка з дисципліною “Інформатика” буде втрачено рядок з даними про викладача (Левко М.К), який викладає цю дисципліну та назву кафедри (Математичні дисципліни).

Нормалізація. Бази даних. Аномалія видалення

Рисунок 7. Аномалія видалення. При видаленні інформації про оцінювання студента втрачається інформація про викладача кафедри

 


Теми, близькі за змістом