Що таке друга нормальна форма?

  • У реляційній системі управління базами даних надзвичайно важливі послідовність даних та залежність. Як правило, Нормальні форми використовуються для уникнення надмірності даних. Надмірність даних призводить до таких аномалій, як оновлення, вставлення та видалення. Якщо в аномалії оновлення, якщо в таблиці є надлишкові дані, вони під час оновлення записів не оновлюються правильно, що призводить до непослідовності даних.
  • У випадку аномалії вставки ми можемо зрозуміти це краще, взявши приклад стовпця, який не може бути оновлений нульовими значеннями, якщо таблиця не дозволяє нульових значень. Аномалія видалення потрапляє у зображення, якщо нам потрібно видалити певний запис і якщо цей запис присутній в інших рядках таблиці, то, видаливши цей конкретний запис, буде видалено і запис з інших рядків.
  • Щоб подолати оновлення, вставити та видалити аномалії, дані потрібно нормалізувати. Нормалізація усуває зайві дані, а також забезпечує їх залежність. Також нормалізація допомагає логічно зберігати дані та скорочує простір для зберігання бази даних.
  • Різні нормальні форми, які зазвичай використовуються в системі управління реляційними базами даних, - це перша нормальна форма, друга нормальна форма, третя нормальна форма, нормальна форма Бойса-Кодда (BCNF) тощо. Для досягнення другої нормальної форми, перша нормальна форма повинна бути досягнутим першим, що є одним із критеріїв створення таблиці або даних у другій нормальній формі. Правило для першої нормальної форми (1NF) полягає в тому, що атрибут стовпця не може містити декількох значень, а він повинен містити атомні значення.

Як працює друга нормальна форма?

Перш ніж заглиблюватися в концепцію нормування, зупинимося на кількох фундаментальних елементах, задіяних у таблицях та відносинах бази даних. Ключ RDBMS використовується для однозначної ідентифікації записів у таблиці, а ключ може бути одним стовпцем або кількома стовпцями. Первинний ключ - це один стовпець, який використовується для однозначної ідентифікації записів. Складений первинний ключ складається з декількох стовпців, які також використовуються для ідентифікації унікальних записів. У другій звичайній формі нам потрібно досягти одноколонного первинного ключа. Зовнішній ключ в одній таблиці використовується для однозначної ідентифікації записів в іншій таблиці. У другій нормальній формі кожен неклавішний атрибут у відношенні повинен функціонально залежати від первинного ключа.

Нижче наведено кілька кроків, щоб переконатися, що дані перебувають у другій нормальній формі:

  1. Перша нормальна форма повинна бути досягнута.
  2. Видалення підмножини даних, застосовних до декількох рядків у таблиці, та розміщення їх у різних таблицях.
  3. Використання зовнішніх ключів для забезпечення зв’язків між створеними таблицями.

Приклади

Щоб краще зрозуміти нормальні форми, візьмемо приклад із наведеної нижче таблиці, а потім кроки для досягнення другої нормальної форми.

Візьмемо для прикладу нижню таблицю "учитель_деталей".

IdІм'яПредмети
1289 рікРамеш СоантМатематика, наука
5678Шруті ШахАнглійська
1267 рікНікхіл ДасІсторія, соціальні студії
3409Pooja SharmaЕкономіка

Наведена вище таблиця містить конкретні предмети, які викладає кожен вчитель. Тут стовпці "Предмети" не містять атомних значень, а для Id 1289 та 1267 в колонці "Предмети" присутній більше одного предмета. Як ми бачимо, що у стовпці "Предмети" немає атомних значень, нам потрібно спочатку зробити таблицю сумісною з Першою нормальною формою, дотримуючись наведеного нижче.

IdІм'яПредмети
1289 рікРамеш СоантМатематика
1289 рікРамеш СоантНаука
5678Шруті ШахАнглійська
1267 рікНікхіл ДасІсторія
1267 рікНікхіл ДасСоціальні дослідження
3409Pooja SharmaЕкономіка

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

Тут складені первинні ключі: "Id " та "Name". Стовпець "Предмети" - це не первинний атрибут. Також тут стовпчик "Предмети" залежить лише від стовпця " Ім'я ", який є частиною складеного первинного ключа. Отже таблиця не відповідає умові Другої нормальної форми.

Щоб таблиця відповідала другій нормальній формі, нам потрібно розбити вищевказану таблицю на дві таблиці, як показано нижче.

Таблиця_файл_інфо як показано нижче:

IdІм'я
1289 рікРамеш Соант
5678Шруті Шах
1267 рікНікхіл Дас
3409Pooja Sharma

Деталі таблиці_типи, як показано нижче:

IdПредмети
1289 рікМатематика
1289 рікНаука
5678Англійська
1267 рікІсторія
1267 рікСоціальні дослідження
3409Економіка

Ми вилучили початкову функціональну залежність із таблиці. Отже, у таблиці subject_details стовпець "Предмети" повністю залежить від первинного ключа таблиці, тобто "Id".

Переваги другої нормальної форми

Нижче наведено кілька переваг використання другої нормальної форми.

  1. Надмірні дані зменшуються ефективніше.
  2. Дані узгоджуються в базі даних.
  3. Це підвищує гнучкість у розробці бази даних.
  4. Це також покращує загальну організацію даних у базі даних.
  5. Це також покращує безпеку бази даних.

Висновок

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

Рекомендовані статті

Це було керівництвом до Другої нормальної форми. Тут ми обговорили, що таке друга нормальна форма? Як працює друга нормальна форма? разом з відповідним прикладом. Ви також можете ознайомитися з іншими запропонованими нами статтями, щоб дізнатися більше -

  1. Типи приєднань до SQL Server
  2. Що таке інжекція SQL?
  3. Питання щодо інтерв'ю Oracle PL / SQL
  4. Кар'єра в SQL
  5. Топ 6 типів приєднань до MySQL з прикладами