Зміст курсу
Реляційні Бази Даних та Нормалізація
Реляційні Бази Даних та Нормалізація
Перша Нормальна Форма
Ненормована форма
Нормовані форми - це правила оптимізації вигляду та структури бази даних. База даних, яка не відповідає цим правилам, називається ненормованою базою даних, яка може мати надлишковість, неузгодженість та інші проблеми, пов'язані з даними.
Примітка
Ненормована форма - це форма бази даних, яка порушує будь-яку з нормальних форм.
Розглянемо приклад:
Є таблиця Customer (Клієнт) зі стовпчиками Customer та Phone Number (Номер телефону), але це виглядає погано. Давайте нормалізуємо її!
Перша нормальна форма
Правила першої нормальної форми:
- Кожна таблиця повинна мати унікальний первинний ключ - мінімальний набір стовпців, який ідентифікує запис. (Зазвичай використовується ID).
- Кожен атрибут повинен мати тільки одне значення, а не декілька значень.
На прикладі ненормованої форми ви можете побачити дві сутності: Клієнт і Номер телефону. Вони не мають унікальних ключів і можуть викликати проблеми з ідентичними іменами клієнтів. Також видно, що атрибут Номер телефону має декілька значень.
Приведемо базу даних до першої нормальної форми:
Круто! Тепер у нас є дві таблиці! Ми створили нову таблицю "Phone Number" і звʼязок "Customer ID" в цій таблиці.
Крім того, Перша нормальна форма означає, що кожна таблиця повинна мати унікальний ключ (первинний ключ). У таблиці Customer є первинні ключі Customer ID, а в таблиці Phone Numbers - унікальні номери телефонів.
Примітка
Стовпець Customer ID в таблиці Phone Number повинен мати зовнішній ключ.
Якщо ви хочете використовувати номер телефону через таблицю Customer, ви можете використовувати операції
JOIN
.
Перша нормальна форма дозволяє сортувати і впорядковувати дані за допомогою запитів: Якщо в одній комірці міститься багато номерів телефонів, їх сортування та впорядкування може значно ускладнитися. Для цього потрібно буде витягти номери телефонів з кожної комірки, розділити їх і скласти новий набір даних.
Примітка
Атрибут або група атрибутів, які однозначно ідентифікують кожен рядок, називається первинним ключем. Усі атрибути, які складають первинний ключ, називаються атрибутами ключа.
Дякуємо за ваш відгук!