Що таке перша нормальна форма?

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

Перша нормальна форма, записана як 1NF, встановлює основні правила нормалізації даних і є першою формою, яка використовується при нормалізації даних таблиць. Він встановлює певні основні принципи нормалізації даних, які необхідно виконувати в кожній таблиці. Деякі принципи наведені нижче:

  • Кожен стовпець повинен мати по одному атомному (значення, яке не можна розділити далі).
  • У кожному стовпчику таблиці немає складених значень та повторюваних значень, оскільки це ускладнює пошук значень стовпця, що має кілька значень. Отже, кожен стовпець повинен мати єдине унікальне значення.
  • Значення, що зберігаються в стовпці, повинні бути одного домену, щоб бути в 1NF.
  • Усі стовпці в таблиці повинні мати унікальні назви.
  • У таблиці повинен бути унікальний первинний ключ, який використовується для ідентифікації кожної записи по-різному.

Як працює перша нормальна форма?

Відповідно до основних принципів 1NF, згаданих вище,

  • Не повинно бути складених значень стовпця, який можна розділити далі. Якщо стовпець у таблиці має значення, яке можна розділити далі, то для цього атрибута слід створити окрему таблицю з різними стовпцями в цій таблиці з унікальний первинний ключ. Наприклад, у таблиці «Співробітник», для адреси співробітника, яку можна розділити далі, має бути окрема таблиця адреса «Співробітник_адрес», у якій «Первинний ключ» та «Номер будинку», «Місто» та «Пінкод» у різних стовпцях.

Співробітник таблиці (до 1NF)

Emp_idEmp_nameEmp_ageАдреса
101Раху25Колонія Xyz, агра, 258996
102Ракеш28Квартира 304, дорога xyz, Лакнау, 568975
103Рахул45Будинок №123, біля лікарні, варанасі, 245687

Оскільки Emp_address має стільки даних для адреси для одного працівника, щоб бути в 1NF, вищевказану таблицю можна розкласти на дві нижче задані таблиці:

Таблиця1: Декларації співробітників (після 1NF)

Emp_idEmp_nameEmp_age
101Раху25
102Ракеш28
103Рахул45

Таблиця2: адреса співробітника (після 1NF)

Emp_idEmp_housenoEmp_cityEmp_pincode
101Будинок № 564, колонія Xyzагра258996
102Плоский 304, дорога ксизlucknow568975
103Будинок №123, біля лікарніваранасі245687
    Для стовпця, який є нероздільним у 1NF, повинні бути атомні значення. Наприклад, у таблиці працівника може бути кілька Emp_projects, якими він / вона обробляв дотепер. Для того, щоб мати записи про всі проекти цього працівника, для кожного проекту працівника має бути окремий запис, який має унікальну цінність, а не проекти, розділені на ", "

Таблиця: Emp_projects (до 1NF)

Emp_idEmp_years_of_ex perienceEmp_deptEmp_projects
1013ІТabc, jkl
1022ІТbcd
1035РахункиAbc, cfg, xyz, hjk

Таблиця: Emp_projects (Після 1NF)

Emp_idEmp_years_of_ex perienceEmp_deptEmp_projects
1013ІТабс
1013ІТjkl
1022ІТbcd
1035РахункиAbc
1035Рахункиcfg
1035Рахункиксиз
1035Рахункиhjk

Таблиця: Emp_projects, що мають кілька повторюваних значень у наведеному вище прикладі, можна розділити далі на дві таблиці, щоб зменшити повторення:
У таблиці не повинно бути повторюваних значень.Повторення значень вимагає багато додаткової пам'яті, а також уповільнює пошук і оновлення, а обслуговування бази даних стає важким. Наприклад, у наведеній вище таблиці Employee_Projects є багато непотрібних повторюваних значень Emp_id, Emp_years_of_experience та Emp_dept, тому для цього потрібно створити нову таблицю, щоб зменшити повторення значень.

Таблиця1:

Emp_idEmp_years_of_experienc eEmp_dept
1013ІТ
1022ІТ
1035Рахунки

Таблиця2:

Emp_idEmp_projects
101абс
101jkl
102bcd
103Abc
103cfg
103ксиз
103hjk

Переваги першої нормальної форми

Нижче наведено деякі переваги першої нормальної форми (1NF):

  • Однією з головних переваг 1NF є те, що він видаляє непотрібні значення, що повторюються, створюючи окрему таблицю і, отже, не створює жодних проблем під час вставлення, видалення та оновлення значень у базі даних.
  • Робота з таблицями, що мають стовпці з кількома значеннями, розділеними на ', ' дуже складно під час пошуку конкретного значення в базі даних, розділивши всі значення стовпця і знову перетворивши їх у певний формат, витрачаючи багато часу і пам'яті в цьому. 1NF робить це легко, створюючи різні рядки для різних значень.
  • 1NF є основою і є головним принципом, якого слід дотримуватися під час створення бази даних, а отже, є найважливішою Нормальною формою для подальших нормалізацій таблиць з нормалізацією 2NF та 3NF.
  • 1NF важливий, оскільки створює функціональну залежність між двома таблицями за допомогою первинного ключа та зовнішнього ключа, який відіграє вирішальну роль під час роботи з таблицями бази даних.
  • 1NF дозволяє користувачам ефективно використовувати запити до бази даних, оскільки видаляє неоднозначність, видаляючи нульові та кратні значення стовпця, що створює основні проблеми в майбутньому під час оновлення та вилучення бази даних.

Висновок

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

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

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

  • Що таке MySQL?
  • Що таке MySQL схема?
  • Оператори MySQL
  • MySQL Server