Нормальні форми баз даних.
Привіт всім, і сьогодні ми поговоримо про те, що таке нормальні форми і як їх правильно використовувати.
нормальні форми - це правила, яких слід дотримуватися при правильної проектуванні бази даних.
Нормальних форм існує цілих 6 штук, проте зазвичай дотримуються всього лише 3 і цього більш ніж достатньо. Ось давайте їх і розберемо.
Перша нормальна форма
Щоб була дотримана перша форма, всі дані в полях повинні бути атомарний. Тобто одне поле - одне значення.
Відео: SQL. 16. Просто про нормальних формах
Уявімо, наприклад, що у нас є таблиця з учителями. Там є поле "уроки", куди записуються ті уроки, які веде даний учитель. У одного вчителя може бути відразу кілька уроків, вірно? І ви могли подумати, а чому б не записувати їх через кому?
математика,російськаАле так ні в якому разі робити не варто, бо ви порушите першу нормальну форму і вибирати дані буде не дуже зручно, правда?
Щоб це виправити, ви повинні створити 2 записи з одним і тим же вчителем.
| 1) валізці | математика |
| 2) валізці | російська |
Вітаю! Перша нормальна форма виконана. Давайте перейдемо до другої.
Друга нормальна форма
По-перше, ваша таблиця вже має бути в першій нормальній формі. По-друге, у вашій таблиці обов`язково повинен бути первинний ключ і всі записи повинні від нього залежати. Ті дані, що не залежать від даного ключа, повинні бути винесені в окрему таблицю-довідник.
Відео: Бази даних. Нормальні форми (nf) в реляційних базах даних
Наприклад, все той же приклад з учителями. Вчителі і уроки - дві різні таблиці, а не одна. Ви повинні створити поля id, урок, учитель в першій таблиці з уроками і створити другу таблицю з учителями, де будуть, наприклад, поля id, ім`я, прізвище.
Таблиця з уроками
| id | Lesson | Teacher |
Таблиця з учителями
| id | Name | Second name |
Тепер заповнимо таблицю з учителями
| id | Name | Second name |
| 1 | Сергій | валізок |
| 2 | Ігор | карапузиків |
| 3 | Петро | перший |
Ось такі вчителі працюють у нас. Тепер перейдемо до таблиці з уроками
| id | Lesson | Teacher |
| 1 | математика | 1 |
| 2 | російська | 1 |
| 3 | література | 3 |
Як ви, напевно, помітили, ми в поле teacher написали id з другої таблиці з уроками. Тепер, якщо нам потрібно буде змінити ім`я або прізвище у вчителя, нам потрібно буде змінити дані за все в одному місці.
Отже, щоб була дотримана друга форма, ви повинні всюди мати первинний ключ і виносити записи, що не залежать від первинного ключа в інші таблиці - довідники.
Вітаю! Ми розібралися з другої нормальною формою. Перейдемо до третьої, заключної.
Третя нормальна форма
Для початку ваша таблиця повинна бути в першій і другій нормальній формі.
Щоб була дотримана третя нормальна форма, у вас не повинно бути транзитивної залежності.
Наприклад, у нас є таблиця з такими полями
- Місто
- Адреса
- індекс
Тут у нас явно простежується транзитивній залежність. Навіщо нам поле Місто, якщо у нас є індекс? За індексом ми можемо зрозуміти, що за місто.
Відео: Вся правда про нормалізацію баз даних
Отже, ми розібралися з трьома найбільш важливими нормальними формами. Слідкуйте, щоб ваші таблиці завжди були в цих формах. Вдалого проектування баз даних! :)
Як правильно писати програми
Як вибрати неповторювані значення з бази даних.
Як зробити дизайн для сайту
Як зробити коментування на сайті
Як зберігати дані в формі
Як зробити реєстрацію та авторизацію користувачів на сайті
Математичні функції в sql.
Перевірка форми в jаvascript
Красива форма з індикатором заповнення.
Обробка форми в php
Псевдокласи css3 для перевірки полів - valid і invalid.
Робота з cookie в php
Php: безпека. Зберігання даних в cookies.
Html 5 атрибути для роботи з полями форми.
Динамічна перевірка форми на jаvascript
Розбиття і об`єднання рядків в php
Атрибут html5 - read only.
Localstorage. Локальна пам`ять на html5.
Скрипт форми зворотного зв`язку
Створення таблиць в html
Створення форм в html
Localstorage. Локальна пам`ять на html5.
Як зробити коментування на сайті
Створення форм в html
Скасування повторної відправки форми
Як зберігати дані в формі
Робота з cookie в php
Html 5 атрибути для роботи з полями форми.
Красива форма з індикатором заповнення.
Як зробити реєстрацію та авторизацію користувачів на сайті
Псевдокласи css3 для перевірки полів - valid і invalid.