Бази даних �та інформаційні системи
Нормалізація
Лекції 10, 11, 12
Лекція 9,10
План лекції
Вступ.
Висновок
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
2
Вступ
Класична нормалізація
Нормальна форма - властивість відношення в реляційній моделі даних, що характеризує його з погляду надмірності, яка потенційно призводить до логічно помилкових результатів вибірки або зміни даних.
Нормальна форма визначається як сукупність вимог, яким має задовольняти відношення.
Нормалізація - процес перетворення відносин бази даних (БД) до вигляду, що відповідає нормальним формам.
Тип підходу до проектування БД:
ВИСХІДНИЙ
Базова методологія:
ПОБУДОВА ВІДНОШЕНЬ НА ОСНОВІ АНАЛІЗУ
ФУКНЦІОНАЛЬНИХ ЗАЛЕЖНОСТЕЙ
Підхід запропонований Е.Ф. Коддом у 1972 р.
1НФ, 2НФ, 3НФ - 1972р.;
НФБК - 1974р;
4НФ - 1977р.;
5НФ - 1979р.�
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
3
Мета та варіанти застосування нормалізації
Варіанти застосування нормалізації до проєктування РМД:
Мета нормалізації - знайти оптимальне груповання атрибутів для кожного відношення в схемі, що дає змогу запобігти можливому виникненню аномалій оновлень і мінімізувати надмірність даних.
Зауваження!
Нормалізація призначена для приведення структури БД до вигляду, що забезпечує мінімальну логічну надмірність, і не має на меті зменшення або збільшення продуктивності роботи, або ж зменшення або збільшення фізичного обсягу бази даних.
Кінцевою метою нормалізації є зменшення потенційної суперечливості інформації, що зберігається в базі даних, що досягається шляхом декомпозиції відношень у такий спосіб, щоб у кожному відношенні зберігалися тільки первинні факти (тобто факти, які не виводяться з інших збережених фактів).
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
4
Логічне проектування
Цей етап включає такі кроки
Додатковий аналіз:
�
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
5
Надмірність даних і аномалії оновлень
Приклад1
БП:
Таблиця 1.1 - Відношення Співробітник
Таблиця 1.2 - Відношення Відділення
Таблиця 2 - Відношення Співробітник_Відділення
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
6
СпіврІН | Співробітник ПІБ | Посада | Зарплата | ВіддІН |
1 | Петров І.І. | Менеджер | 5000 | О5 |
2 | Сидоров А.А. | Асистент | 2000 | О3 |
3 | Вовк М.К. | Секретар | 1500 | О3 |
4 | Абрамова І.Т. | Асистент | 2300 | О7 |
5 | Кисиленко Т.В | Менеджер | 5500 | О3 |
6 | Зайцева А.В. | Асистент | 3000 | О5 |
ВіддІН | ВіддАдреса |
О3 | м.Харків, пр.Науки, 15, оф.203 |
О5 | м.Донецьк, пл. Повстання, 3а, оф.30 |
О7 | м.Київ, вул.Будівельників, 43, оф 2 |
СпіврІН | Співробітник ПІБ | Посада | Зарплата | ВіддІН | ВіддАдреса |
1 | Петров І.І. | Менеджер | 5000 | О5 | м.Донецьк, пл. Повстання, 3а, оф.30 |
2 | Сидоров А.А. | Асистент | 2000 | О3 | м.Харків, пр. Науки, 15, оф.203 |
3 | Вовк М.К. | Секретар | 1500 | О3 | м.Харків, пр. Науки, 15, оф.203 |
4 | Абрамова І.Т. | Асистент | 2300 | О7 | м.Київ, вул.Будівельників, 43, оф 2 |
5 | Кисиленко Т.В | Менеджер | 5500 | О3 | м.Харків, пр. Науки, 15, оф.203 |
6 | Зайцева А.В. | Асистент | 3000 | О5 | м.Донецьк, пл. Повстання, 3а, оф.30 |
Надмірність даних і аномалії оновлень
Схема 1
Співробітник_ Відділення (СпіврІН, СпіврПІБ, Посада, Зарплата, ВіддІН, ВіддАдреса)
Схема 2
Співробітник (СпіврІН, СпіврПІБ, Посада, Зарплата, ВіддІН)
Відділення (ВіддІН, ВіддАдреса)
Порівняння схем:
Співробітник_Відділення - містить надлишкові дані:
відомості про адресу відділення повторюються для кожного співробітника
Надмірність даних призводить до аномалій оновлення:
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
7
Надмірність даних і аномалії оновлень
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
8
Схема 1
Співробітник_ Відділення (СпіврІН, СпіврПІБ, Посада, Зарплата, ВіддІН, ВіддАдреса)
Схема 2
Співробітник (СпіврІН, СпіврПІБ, Посада, Зарплата, ВіддІН)
Відділення (ВіддІН, ВіддАдрес)
Аномалії вставки
Ситуація 1. Необхідно вставити інформацію про нового співробітника
Схема 1: Під час вставки відомостей про нового співробітника у відношення Співробітник_Відділення необхідно вказати і відомості про відділення компанії (ВіддАдреса), в якому ці співробітники працюють.
Схема 2: Проблем не виникне, оскільки для кожного співробітника необхідно ввести тільки номер відділення компанії.
Ситуація 2. Необхідно вставити інформацію про нове відділення
Схема 1: Під час вставки відомостей про нове відділення, яке ще не має власних співробітників, потрібно присвоїти значення NULL усім атрибутам опису співробітників, включно зі Співробітником (порушення цілісності сутності).
Схема 2: Проблем не виникне, оскільки відомості про відділення вводяться незалежно від співробітників.
Аномалії видалення
Ситуація. Видалення останнього співробітника відділення
Схема 1: Видалиться інформація про відділення.
Схема 2: Проблем не виникне, оскільки відомості про відділення зберігаються окремо від співробітників
Аномалії модифікації
Ситуація. Зміна атрибутів для деякого відділення, наприклад, інформації про адресу.
Схема 1: Необхідно оновити поле ВіддАдрес значення в рядках для всіх співробітників відділення.
Схема 2: Проблем не виникне, оскільки відомості про відділення зберігаються окремо від співробітників
Перевага схеми 2:
Властивості з'єднання без втрат і збереження залежності
�
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
9
Процес декомпозиції має 2 властивості:
З'єднання без втрат - дає змогу відновити будь-який кортеж вихідного відношення, використовуючи кортежі менших відношень, отримані в результаті декомпозиції.
Збереження залежності - дає змогу зберегти обмеження, накладені на вихідні відносини, за допомогою накладення деяких обмежень на кожне з менших відносин, отриманих після декомпозиції.
Функціональні залежності
В основу нормалізації покладено концепцію функціональної залежності (functional dependency).
Функціональною залежністю (ФЗ) атрибута b від атрибута а у відношенні R - називається такий зв'язок між атрибутами, коли кожне значення атрибута а однозначно визначає значення атрибута b (визначає тільки одне значення атрибута b), причому під атрибутом а може також розумітися і група атрибутів
Позначення:
Атрибут b функціонально залежить від атрибута а:
а → b
ФЗ визначається на основі обмежень ПрО (бізнес-правилами)
Детермінант ФЗ - атрибут або група атрибутів, від якого розглядається залежність
�
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
10
Функціональні залежності
Приклади:
БП: Співробітник обіймає тільки одну посаду
Кожну посаду може займати багато співробітників
СпівробІН → Посада (1:1) ФЗ
2 → Асистент
СпівробІН - детермінант ФЗ
---------------------------------------------------------------------
Посада → СпівробІН (1:М)
→ 2
Асистент → 4
→ 6
�
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
11
×
×
×
Функціональні залежності
Зауваження!
1. Нехай а → b, тоді якщо два рядки мають одне й те саме значення атрибута а,
то вони обов'язково мають одне й те саме значення атрибута b.
Однак для заданого значення атрибута b може існувати кілька значень атрибута а.
2. Функціональна залежність є властивістю реляційної схеми, а не властивістю конкретного екземпляра, тобто має виконуватися для всіх можливих значень, а не для тих, що зберігаються в атрибуті в певний момент часу.
Приклад.
У будь-який момент часу:
СпівробІН → Співроб_ПІБ (1:1) ФЗ
У певний момент часу:
Співроб_ПІБ → СпівробІН (1:1),
але може змінитися на (1:М), отже, не є ФЗ.
3) Тривіальні ФЗ, тобто залежності, коли в правій частині визначено підмножину множини, що вказана в лівій частині (детермінанті), справедливі завжди, але не надають жодної додаткової інформації про можливі обмеження.
Приклади тривіальних залежностей:
СпівробІН, Співроб_ПІБ → Співроб_ПІБ
СпівробІН, Співроб_ПІБ → СпівробІН
�
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
12
Функціональні залежності
Приклад 1 Функціональні залежності відношення СпівробітникВідділення
БП:
Функціональні залежності:
ФЗ1: СпіврІН → СпівПІБ, Посада, Зарплата, ВіддІН, ВіддАдреса
ФЗ2: ВіддІН → ВіддАдреса
ФЗ3: ВіддАдреса → ВіддІН
ФЗ4: ВіддІН, Посада → Зарплата
ФЗ5: ВіддАдреса, Посада → Зарплата
�
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
13
СпіврІН | Співробітник ПІБ | Посада | Зарплата | ВіддІН | ВіддАдреса |
1 | Петров І.І. | Менеджер | 5000 | О5 | м.Донецьк, пл. Повстання, 3а, оф.30 |
2 | Сидоров А.А. | Асистент | 2000 | О3 | м.Харків, пр.Науки, 15, оф.203 |
3 | Вовк М.К. | Секретар | 1500 | О3 | м.Харків, пр. Науки, 15, оф.203 |
4 | Абрамова І.Т. | Асистент | 2300 | О7 | м.Київ, вул.Будівельників, 43, оф 2 |
5 | Кисиленко Т.В | Менеджер | 5500 | О3 | м.Харків, пр. Науки, 15, оф.203 |
6 | Зайцева А.В. | Асистент | 3000 | О5 | м.Донецьк, пл. Повстання, 3а, оф.30 |
Функціональні залежності
Виявлення первинного ключа відношення
з використанням функціональних залежностей
1 Для виявлення потенційних ключів необхідно знайти атрибут (або групу атрибутів), що однозначно ідентифікує кожен рядок у цьому відношенні
2. Якщо відношення має кілька потенційних ключів, необхідно вибрати первинний. Усі атрибути, які не входять до складу первинного ключа, мають бути функціонально залежними від цього ключа.
Приклад 1. Відношення Співробітник_Відділення
Єдиним потенційним ключем відношення Співробітник_Відділення, а отже, і його первинним ключем, є атрибут СотрІН
�
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
14
Функціональні залежності
Висновки:
У процесі нормалізації потрібно враховувати такі основні характеристики залежностей між атрибутами:
�
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
15
Нормалізація
Нормалізація - це формальний метод аналізу відносин на основі їхнього первинного ключа (або потенційних ключів, як у випадку НФБК) та наявних функціональних залежностей.
Опис.
Процес включає низку правил, які використовуються для перевірки окремих відносин таким чином, щоб уся база даних могла бути нормалізована до бажаного ступеня нормалізації
Якщо деяка вимога не задовольняється, то відношення, що порушує дану вимогу, має бути декомпозовано на відношення, кожне з яких задовольняє всім правилам нормалізації.
Для РМД обов'язковим є задоволення вимогам 1НФ.
Усі інші НФ використовуються за бажанням проєктувальників.
Рекомендується виконувати нормалізацію до 3НФ.
Ненормалізована форма (ННФ) - таблиця, що містить одну або кілька повторюваних груп даних (багатозначні абрибути).
�
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
16
Нормалізація
Ненормалізована форма (ННФ) - таблиця, що містить одну або кілька повторюваних груп даних.
Групою, що повторюється, називають групу, яка складається з одного і більше атрибутів таблиці, у якій можлива наявність кількох значень для єдиного значення ключового атрибута ненормалізованої таблиці.
Приклад 2
Відомості про об'єкти нерухомості, орендовані клієнтом Іванов І.І.
Рисунок 1.1 - Вихідні дані
Таблиця 0 - Ненормалізована таблиця Клієнт_Оренда_Об'єкт_Власник
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
17
стор1 | Агентство Квартал Відомості про оренду об'єктів нерухомості | Дата 25.11.07 | ||||
| Номер клієнта: К68 ПІБ клієнта: Іванов І.І. |
| ||||
Номер об'єкта | Адреса об'єкта | Дата початку оренди | Дата закінч. оренди | Плата | Номер власника | Найменування власника |
Кв4 | м.Харків вул.Єсеніна 6, кв7 | 1.03.2005 | 1.11.2005 | 600 | 45 | Васильченко В.А. |
Д5 | Харківська область, сел. Руська Лозова 14 | 15.06.2006 | 25.08.2006 | 1400 | 67 | Філатов В.К. |
Номер Клієнта | ПІБ Клієнта | Номер об'єкта | Адреса об'єкта | Дата початку оренди | Дата закінч. оренди | Плата | Номер власника | Найменування власника |
К68 | Іванов І.І. | Кв4 | м.Харків вул.Єсеніна 6, кв7 | 1.03.2005 | 1.11.2005 | 600 | 45 | Васильченко В.А. |
Д5 | Харківська область, сел. Руська Лозова 14 | 15.06.2006 | 25.08.2006 | 1400 | 67 | Філатов В.К. | ||
К67 | Петров С.С. | Д7 | Харківська область, сел.Циркуни 45 | 14.08.2007 | 14.08.2007 | 1500 | 36 | Соловйов К.К. |
Кв4 | м.Харків вул.Єсеніна 6, кв7 | 1.2.2007 | 1.12.2007 | 1000 | 45 | Васильченко В.А. |
Ненормалізована форма (ННФ)
Приклад 2 (продовження)
БП:
Таблиця 0 - Ненормалізована таблиця Клієнт_Оренда_Об'єкт_Власник
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
18
Номер Клієнта | ПІБ Клієнта | Номер об'єкта | Адреса об'єкта | Дата початку оренди | Дата закінч. оренди | Плата | Номер власника | Найменування власника |
К68 | Іванов І.І. | Кв4 | м.Харків вул.Єсеніна 6, кв7 | 1.03.2022 | 1.11.2022 | 600 | 45 | Васильченко В.А. |
Д5 | Харківська область, сел. Руська Лозова 14 | 15.06.2023 | 25.08.2026 | 1400 | 67 | Філатов В.К. | ||
К67 | Петров С.С. | Д7 | Харківська область, сел.Циркуни 45 | 14.08.2023 | 14.08.2023 | 1500 | 36 | Соловйов К.К. |
Кв4 | м.Харків вул.Єсеніна 6, кв7 | 1.2.2023 | 1.12.2023 | 600 | 45 | Васильченко В.А. |
Приклад 2 (продовження)
Проектування на основі побудови ER - моделі
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
19
Перша нормальна форма (1НФ)
Визначення:
Перша нормальна форма (1НФ) - відношення, у якому на перетині кожного рядка і кожного стовпчика міститься тільки одне атомарне значення.
Вимога 1НФ:
1. Відсутність повторюваних груп.
2. Наявність первинного ключа.
Дії для приведення до 1НФ:
Для усунення повторюваних груп існує 2 підходи:
а) групи, що повторюються, усуваються шляхом введення в порожні рядки даних, що повторюються;
Аналіз: вноситься деяка надмірність даних, яку в результаті подальшої нормалізації буде усунуто.
б) групи, що повторюються, вилучають і поміщають в окреме відношення разом із копіями ключа вихідної таблиці. Далі в нових відношеннях встановлюються первинні ключі. За наявності груп, що повторюються, кількох рівнів цей прийом застосовують кілька разів доти, доки груп, що повторюються, не залишається.
Аналіз: - дані мають меншу надмірність
- складнощі пов'язані з виділенням повторюваних груп
Зауваження! У разі вибору підходу а отримане 1НФ - відношення декомпозується під час подальшої нормалізації на ті самі відношення, що виходять у разі застосування підходу б.
�
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
20
Перша нормальна форма (1НФ)
Приклад 2 (продовження)
Таблиця 0 - Ненормалізована таблиця Клієнт_Оренда_Об'єкт_Власник
Дії для приведення до 1НФ (приклад):
1.Вибір ключового атрибута ненормалізованої таблиці.
ПК: НомерК
2. Пошук груп, що повторюються.
Структура групи, що повторюється:
(НомерО, АдресаО, ДатаН, ДатаО, Плата, НомерВ, НазваВ)
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
21
Номер Клієнта | ПІБ Клієнта | Номер об'єкта | Адреса об'єкта | Дата початку оренди | Дата закінч. оренди | Плата | Номер власника | Найменування власника |
К68 | Іванов І.І. | Кв4 | м.Харків вул.Єсеніна 6, кв7 | 1.03.2022 | 1.11.2022 | 600 | 45 | Васильченко В.А. |
Д5 | Харківська область, сел. Руська Лозова 14 | 15.06.2023 | 25.08.2026 | 1400 | 67 | Філатов В.К. | ||
К67 | Петров С.С. | Д7 | Харківська область, сел.Циркуни 45 | 14.08.2023 | 14.08.2023 | 1500 | 36 | Соловйов К.К. |
Кв4 | м.Харків вул.Єсеніна 6, кв7 | 1.2.2023 | 1.12.2023 | 600 | 45 | Васильченко В.А. |
Перша нормальна форма (1НФ)
Приклад 2 (продовження)
3. Усунення повторюваних груп.
Підхід а:
- група, що повторюється, усувається за допомогою введення в кожен рядок з описом Об'єкта нерухомості відповідних відомостей про Клієнта
Отримуємо відношення:
Клієнт_Оренда_Об'єкт_Власник(НомерК, НомерО, ПІБ_К, АдресаО, ДатаН, ДатаО, Плата, НомерВ, НазваВ)
Таблиця 1 - Відношення Клієнт_Оренда_Об'єкт_Власник (1НФ)
Потенційні ключі:
НомерК, НомерО
НомерК, ДатаН
НомерО, ДатаН
Первинний ключ:
НомерК, НомерО
Висновок: Відношення Клієнт_Оренда_Об'єкт_Власник перебуває в 1НФ.� Аналіз: Відношення схильне до аномалій оновлення
�
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
22
Номер Клієнта | ПІБ Клієнта | Номер об'єкта | Адреса об'єкта | Дата початку оренди | Дата закінч. оренди | Плата | Номер власника | Найменування власника |
К68 | Іванов І.І. | Кв4 | м.Харків вул.Єсеніна 6, кв7 | 1.03.2005 | 1.11.2005 | 600 | 45 | Васильченко В.А. |
К68 | Іванов І.І. | Д5 | Харківська область, сел. Руська Лозова 14 | 15.06.2006 | 25.08.2006 | 1400 | 67 | Філатов В.К. |
К67 | Петров С.С. | Д7 | Харківська область, сел.Циркуни 45 | 14.08.2007 | 14.08.2007 | 1500 | 36 | Соловйов К.К. |
К67 | Петров С.С. | Кв4 | м.Харків вул.Єсеніна 6, кв7 | 1.2.2007 | 1.12.2007 | 600 | 45 | Васильченко В.А. |
Перша нормальна форма (1НФ)
Приклад 2 (продовження)
3. Усунення повторюваних груп.
Підхід б:
- група, що повторюється, усувається з ненормалізованого відношення і поміщається в інше відношення разом із копією вихідного ключового атрибута (НомерК), потім для нового відношення вибирається власний первинний ключ
Отримуємо відношення:
Клієнт (НомерК, ПІБ_К)
Оренда_Об'єкт_Власник (НомерК, НомерО, АдресаО, ДатаН, ДатаО, Плата, НомерВ, НазваВ )
Висновок: Відношення
Клієнт,
Оренда_Об'єкт_Власник
перебувають в 1НФ.
Аналіз: Відношення Оренда_Об'єкт_Власник також має надмірність, отже, схильне до аномалій оновлень
� Увага!!! Далі використовуємо результат підходу а
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
23
Друга нормальна форма (2НФ)
2НФ - застосовується до відносин зі складовим ПК
Якщо відношення в 1НФ і має простий ПК, то воно вже в 2НФ і треба відразу перевіряти вимоги до 3НФ.
Заснована на вимозі повної функціональної залежності від ПК
Повна функціональна залежність
Повна ФЗ а → b - ФЗ, за якої b функціонально залежить від повного значення атрибута а і не залежить від жодної підмножини повного значення атрибута а.
Приклад повної залежності
ФЗ: НомерК, НомерО → ДатаН
Приклад часткової залежності
ФЗ: НомерК, НомерО → Плата,
оскільки за БП 4:Оплата залежить від об'єкта нерухомості
За часткової залежності виникають аномалії оновлення.
Наприклад, при зміні значення Плата для об'єкта Кв4
необхідно оновити 2 рядки.
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
24
Друга нормальна форма (2НФ)
Визначення:
2НФ - відношення перебуває в 1НФ і кожен атрибут, що не входить до складу первинного ключа, характеризується повною функціональною залежністю від цього первинного ключа
Вимога 2НФ:
1 Відношення перебуває в 1НФ.
2. Відсутність ЧФЗ від складеного ключа.
Дії для приведення до 2НФ:
Для усунення ЧФЗ:
Частково залежні атрибути видаляють із відношення і поміщають у нове відношення разом із копією їхнього детермінанту, детермінант, що залишився, у старому відношенні виступатиме як FК.
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
25
Друга нормальна форма (2НФ)
Приклад 2 (продовження)
Дії для приведення до 2НФ (приклад):
Клієнт_Оренда_Об'єкт_Власник
(повну ФЗ від ПК, часткові, транзитивні).
ФЗ0: НомерК, НомерО → ПІБ_К, АдресаО, ДатаН, ДатаО, Плата, НомерВ, НазваВ
- ФЗ від ПК
ФЗ1: НомерК, НомерО → ДатаН, ДатаО; - Повна ФЗ від ПК (ПФЗ)
ФЗ2: НомерК → ПІБ_К; - Часткова ФЗ від ПК (ЧФЗ)
ФЗ3: НомерО → АдресаО, Плата, НомерВ, НазваВ; - Часткова ФЗ від ПК (ЧФЗ)
ФЗ4: НомерВ → НазваВ; - Транзитивна залежність (ТФЗ)
2. Усунення ЧФЗ.
Оренда (НомерК(FК), НомерО(FК),ДатаН, ДатаО)
Клієнт (НомерК, ПІБ_К)
Об'єкт_Власник (НомерО, АдресаО, Плата, НомерВ, НазваВ)
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
26
2НФ
Друга нормальна форма (2НФ)
Приклад 2 (продовження)
Таблиця 2.1 - Відношення Клієнт (2НФ)
�Таблиця 2.2 - Відношення Об'єкт_Власник (2НФ)
Таблиця 2.3 - Відношення Оренда (2НФ)
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
27
Номер Клієнта | ПІБ Клієнта |
К68 | Іванов І.І. |
К67 | Петров С.С. |
Номер об'єкта | Адреса об'єкта | Плата | Номер власника | Найменування власника |
Кв4 | м.Харків вул.Єсеніна 6, кв7 | 600 | 45 | Васильченко В.А. |
Д5 | Харківська область, сел. Руська Лозова 14 | 1400 | 67 | Філатов В.К. |
Д7 | Харківська область, сел.Циркуни 45 | 1500 | 36 | Соловйов К.К. |
Номер Клієнта | Номер об'єкта | Дата початку оренди | Дата закінч. оренди |
К68 | Кв4 | 1.03.2022 | 1.11.2022 |
К68 | Д5 | 15.06.2023 | 25.08.2026 |
К67 | Д7 | 14.08.2023 | 14.08.2023 |
К67 | Кв4 | 1.2.2023 | 1.12.2023 |
Третя нормальна форма (3НФ)
Транзитивна залежність:
Якщо для атрибутів а, b, c деякого відношення існують залежності
а → b, b → c,
то кажуть, що атрибут c транзитивно залежить від атрибута а через атрибут b
(за умови, що атрибут а функціонально не залежить ні від атрибута b,
ні від атрибута с)
Наявність транзитивних ФЗ призводить до аномалій оновлення
Визначення 3НФ:
3НФ - відношення перебуває у 2НФ і не містить неключових атрибутів, які перебували б у транзитивній ФЗ від цього первинного ключа.
Вимога 3НФ:
1) Відношення перебуває у 2НФ.
2) Відсутність ТФЗ від ПК.
Дії для приведення до 3НФ:
Для усунення ЧФЗ:
Транзитивно залежні атрибути видаляють із відношення і поміщають у нове відношення разом із копією їхнього детермінанту, детермінант, що залишився, у старому відношенні виступатиме як FК
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
28
Третя нормальна форма (3НФ)
Приклад 2 (продовження)
Дії для приведення до 3НФ (приклад):
Оренда (НомерК(ВК), НомерО(ВК),ДатаН, ДатаО)
ФЗ1: НомерК, НомерО → ДатаН, ДатаО; - Повна ФЗ від ПК
Клієнт (НомерК, ПІБ_К)
ФЗ2: НомерК → ПІБ_К; - Повна ФЗ від ПК
Об'єкт_Власник (НомерО, АдресаО, Плата, НомерВ, НазваВ)
ФЗ3: НомерО → АдресаО, Плата, НомерВ, НазваВ; - Повна ФЗ від ПК
ФЗ4: НомерВ → НазваВ; - Транзитивна залежність
2. Усунення ТФЗ.
Оренда (НомерК(FК), НомерО(FК),ДатаН, ДатаО)
Клієнт (НомерК, ПІБ_К)
Об'єкт (НомерО, АдресаО, Плата, НомерВ(FК))
Власник (НомерВ, НазваВ)
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
29
3НФ
Третя нормальна форма (3НФ)
Приклад 2 (продовження)
Таблиця 2.1 - Відношення Клієнт (3НФ)
�Таблиця 2.2.1 - Відношення Об'єкт (3НФ)
Таблиця 2.2.2.2 - Відношення Власник (3НФ)
Таблиця 2.3 - Відношення Оренда (3НФ)
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
30
Номер Клієнта | ПІБ Клієнта |
К68 | Іванов І.І. |
К67 | Петров С.С. |
Номер Клієнта | Номер об'єкта | Дата початку оренди | Дата закінч. оренди |
К68 | Кв4 | 1.03.2022 | 1.11.2022 |
К68 | Д5 | 15.06.2023 | 25.08.2026 |
К67 | Д7 | 14.08.2023 | 14.08.2023 |
К67 | Кв4 | 1.2.2023 | 1.12.2023 |
Номер об'єкта | Адреса об'єкта | Плата | Номер власника |
Кв4 | м.Харків вул.Єсеніна 6, кв7 | 600 | 45 |
Д5 | Харківська область, сел. Руська Лозова 14 | 1400 | 67 |
Д7 | Харківська область, сел.Циркуни 45 | 1500 | 36 |
Номер власника | Найменування власника |
45 | Васильченко В.А. |
67 | Філатов В.К. |
36 | Соловйов К.К. |
Третя нормальна форма (3НФ)
Приклад 2 (продовження)
Схема декомпозиції
відношення Клієнт_Оренда_Об'єкт_Власник (в 1НФ)
на 4 відношення Клієнт, Оренда, Об'єкт, Власник у 3НФ
Клієнт_Оренда_Об'єкт_Власник (1НФ)
Клієнт Оренда Об'єкт_Власник (2НФ)
Клієнт Оренда Об'єкт Власник (3НФ)
Зауваження!!!
1) процес нормалізації полягає в декомпозиції первинного відношення за допомогою послідовного виконання кількох операцій ПРОЕКЦІЇ реляційної алгебри;
2) отримані в результаті декомпозиції відношення забезпечують формування вихідного відношення без втрат, шляхом використання операції ПРИРОДНОГО З'ЄДНАННЯ
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
31
Приклад 1. Закріплення матеріалу. ПО"Чемпіонат з автоперегонів Формула-1"
Рисунок - Фрагмент документа "Чемпіонат з автоперегонів Формула-1"
БП: 1. У команді м.б. тільки кілька Гонщиків, Гонщик може бути тільки в одній команді та з одної Країні.
2. Кількість кіл залежить від перегонів
3. В одну дату на трасі проходить тільки 1 змагання
Крок1. Перетворення до 1НФ:
Чемпіонат (ІН_Ком, НазваКом, ІН_Траса, НазваТраса, Протяж, Кiльк_кiл, МiсцеГонщ, ДатаПерегонів, ІН_Гонщ, ПІБ_Гонщ, Краї́наГонщ)
Крок 2!!!!. Первинний ключ 1НФ: ІН_Траса, ДатаПерегонів, ІН_Гонщ
ХНУРЕ кафедра Інформатики доц. Яковлева О.В. http://infdbis.blogspot.com/
32
Номер і назва команди | Номер і назва траси | Протяж�ність, км | Кількість кіл у перегонах | Місце гонщика | Дата проведення перегонів | Гонщик �(номер і ПІБ) | Країна гонщика |
3. Maclaren-Mercedes | 10.Le-Man | 5 | 56 | 2 3 | 10.05.2022 | 4.Култхард Д. 8.Монтойя Х.П. | Ірландія Колумбія |
5. Ferrari | 1 4 | 7.Шумахер М. 11.Барікелло Р. | Німеччина Бразилія | ||||
5. Ferrari | 3.RoadX | 25 | 15 | 1 3 | 1.08.2022 | 7. Шумахер М. 11.Барікелло Р. | Німеччина Бразилія |
........ | ........ | | ...... | ........ | ......... | ......... |
|
Номер і назва команди | Номер і назва траси | Протяжність, км | Кількість кіл у перегонах | Місце гон- щика | Дата проведення перегонів | Гонщик �(номер і ПІБ) | Країна гонщика |
3.Maclaren-Mercedes | 10.Le-Man | 5 | 56 | 2 | 10.05.2022 | 4.Култхард Д. | Ірландія |
3.Maclaren-Mercedes | 10.Le-Man | 5 | 56 | 3 | 10.05.2022 | 8.Монтойя Х.П. | Колумбія |
5.Ferrari | 10.Le-Man | 5 | 56 | 1 | 10.05.2022 | 7.Шумахер М. | Німеччина |
5.Ferrari | 10.Le-Man | 5 | 56 | 4 | 10.05.2022 | 11.Барікелло Р. | Бразилія |
5.Ferrari | 3. RoadX | 25 | 15 | 1 | 1.08.2024 | 7.Шумахер М. | Німеччина |
5.Ferrari | 3. RoadX | 25 | 15 | 3 | 1.08.2024 | 11.Барікелло Р. | Бразилія |
........ | ........ | | ...... | ........ | ......... | ......... |
|
Приклад1.Закріплення матеріалу. "Чемпіонат з автоперегонів Формула-1"
Крок3. Виписуємо ФЗ (ПФЗ, ЧФЗ, ТФЗ)
ФЗ0: ІН_Траса, ДатаПерегонів, ІН_Гонщ → ІН_Ком, НазваКом, НазваТраса, Протяж, Кiльк_кiл, МiсцеГонщ, ПІБ_Гонщ, Краї́наГонщ - ФЗ від ПК 1НФ
ФЗ1: ІН_Траса, ДатаПерегонів, ІН_Гонщ → МiсцеГонщ - Повна ФЗ від ПК 1НФ
ФЗ2: ІН_Траса → НазваТраса, Протяж - Часткова ФЗ від ПК 1НФ
ФЗ3: ІН_Гонщ → ПІБ_Гонщ, Краї́наГонщ, ІН_Ком, НазваКом - Часткова ФЗ від ПК 1НФ
ФЗ4: ІН_Траса, ДатаПерегонів → Кiльк_кiл - Часткова ФЗ від ПК 1НФ
ФЗ5: ІН_Ком → НазваКом - Транзитивна залежність 1НФ
Крок4. Перетворення до 2НФ (прибираємо часткову ФЗ, залишаються тільки повні ФЗ від ПК)
Траса (ІН_Траса, НазваТраса, Протяж ) (ФЗ2)
ГонщикКоманда (ІН_Гонщ, ПІБ_Гонщ, Краї́наГонщ, ІН_Ком, НазваКом )(ФЗ3) залишилася транзитивна ФЗ Перегони (ІН_Траса(FK), ДатаПерегонів, Кiльк_кiл) (ФЗ4)
РезультатПерегонів (ІН_Траса, ДатаПерегонів(FK), ІН_Гонщ(FK), МiсцеГонщ) (ФЗ1)
Крок5. Перетворення до 3НФ (прибираємо транзитивні ФЗ від ПК)
Траса (ІН_Траса, НазваТраса, Протяж ) (ФЗ2)
Гонщик (ІН_Гонщ, ПІБ_Гонщ, Краї́наГонщ, ІН_Ком (FK)) (ФЗ3)
Команда (ИН_Ком, НазваКом) (ФЗ5)
Перегони (ІН_Траса(FK), ДатаПерегонів, Кiльк_кiл) (ФЗ4)
РезультатПерегонів (ІН_Траса, ДатаПерегонів(FK), ІН_Гонщ(FK), МiсцеГонщ) (ФЗ1)
ХНУРЕ кафедра Інформатики доц. Яковлева О.В. http://infdbis.blogspot.com/
33
Приклад 1. Закріплення матеріалу
Схема БД ПЗ "Чемпіонат з автоперегонів Формула-1"
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
34
�В-05 ПО "Навчальний процес на 2022/2023"
БП:
Дод. ПЗ "План дипломного проектування на 2022/2023"
БП: 8. Студенти 4,5 курсів крім вивчення планових дисциплін займаються написанням дипломної роботи одного з типів: бакалаврська робота, робота магістра
9. За кожним студентом 4,5 курсу (бакалавром, магістром) закріплюють керівника (викладача), а також тему дипломної роботи і призначають підприємство (Базу практики) для проходження переддипломної практики, студент може проходити практику на будь-якій Базі практики.
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
35
Номер групи
| Кількість студентів | Факультет | Номер, назва предмета | Кількість годин | Номер, ПІБ викладача | Кафедра | Навантаження викладача |
ІФ-20-2 | 27 | ІФ
| 1.Моделювання систем | 60 | 44. Петров П.П. | АСУ | 60 |
ІФ-20-2 | 31 | 8. Іміт. моделювання | 60 | 23. Сидоров Г.Л. 8. Алексєєв Д.Б.
| 40 20 | ||
ЕК-20-1 | 25 | ПММ | 6. Маркетинг | 30 | 5. Іванов В.К. 4. Галкін П.П. | Маркетингу | 10 20 |
ПМ-20-1 | 28 | ПММ | 1. Моделювання систем | 80 | 44. Петров П.П. | АСУ | 80 |
...... | ..... | ....... | ........ | ....... | ......... | ........ | |
�В-05 ПО "Навчальний процес на 2011/2012"
БП:
�Рисунок
Дод. ПЗ "План дипломного проектування на 2011/2012"
8. Студенти 4,5 курсів:
9. Студенти 3-5 курсів:
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
36
Номер групи
| Кількість студентів | Факультет | Назва дисципліни | Кількість годин | П.І.Б. викладача | Кафедра | Навантаження викладача |
ІФ-10-2 | 27 | ІФ
| Моделювання систем | 60 | Петров П.П. | АСУ | 60 |
ІФ-10-2 | 31 | Іміт. моделювання | 60 | Сидоров Г.Л. Алексєєв Д.Б.
| 40 20 | ||
ЕК-11-1 | 25 | ПММ | Маркетинг | 30 | Іванов В.К. Галкін П.П. | Маркетингу | 10 20 |
ПМ-10-1 | 28 | ПММ | Моделювання систем | 80 | Петров П.П. | АСУ | 80 |
...... | ..... | ....... | ........ | ....... | ......... | ........ | |
Приклад3.Закріплення матеріалу "Відомості про проєкти 1"
Рисунок - Дан фрагмент документа "Відомості про проекти"
БП: 1. На проєкті має працювати хоча б 1 виконавець
2. Виконавець бере участь у кількох проєктах, але тимчасово може не брати участі в проєктах
3. Замовник може замовляти більше 1 проєкту, у проєкту тільки 1 замовник
4. У виконавця тільки 1 посада, яка не залежить від проєкту
5.Оклад залежить від посади
6. Бюджет проєкту призначається замовником і не залежить від кількості та кваліфікації виконавців
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
37
Номер, назва проєкту | Дата початку виконання | Дата завершення проєкту | Код, П.І.Б. виконавців | Посада | Бюджет проекту | Код, назва підприємства - замовника | Адреса замовника |
2. Голосовий набір текстів | 02.10.2003 | 02.02.2004 | 1. Іванов В.К. 6. Сидоров Г.Л. | Доцент Асистент | 96000 | 47. ПП "Прогрес" | пр. Свободи 32 |
3. Система розпізнавання графічних образів | 02.02.2003 | 02.05.2004 | 7. Петров Л.І. 1. Іванов В.К. | Доцент Доцент | 25000 | ||
5. Система навігації мобільного робота | 02.05.2003 | 02.06.2004 | 19. Яковлєв С.А. | Асистент | 40000 | 67.Зав. ім. Малишева
| пров. Світлий вул.12 |
6. Система автоматизації бухгалтерського обліку | 02.10.2003 | 01.02.2004 | 6. Сидоров Г.Л. 19. Яковлєв С.А. | Асистент Асистент | 70000 | 44. Зав. ім. Леніна | вул. Пушкінська, 65 |
|
|
|
|
|
|
|
|
Приклад4.Закріплення матеріалу "Лікування в санаторіях України"
Рисунок - Дан фрагмент документа "Лікування в санаторіях України"
БП:1. Тривалість процедури залежить від тільки самої процедури
2. Кількість сеансів процедури залежить від процедури і клієнта, в його конкретний заїзд
3. Клієнт в одну дату може заїжджати тільки в один санаторій
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
38
Назва санаторію | Розташування санаторію | Середньорічна температура в місті | Паспортні дані пацієнта | П.І.Б. пацієнта | Адреса пацієнта | Дата заїзду | Термін (дн.) |
Лікувальна процедура
| Тривалість процедури (мни) | Кількість сеансів | |
Код процедури
| Назва процедури | ||||||||||
Волга | Ялта | +10 | ММ 345676 | Іванов І.І. | вул. Гагаріна 23
| 02.09.2003
| 4 | В-23 | Басейн | 40 | 4 |
ММ 874598 | Іванов С.І. | 21 | В-23 | Басейн | 40 | 10 | |||||
Ф-2 | Масаж | 30 | 10 | ||||||||
Э-22 | Електротерапія | 15 | 7 | ||||||||
ММ 768756 | Іванова Н.І. | 21 | Ф-2 | Масаж | 30 | 10 | |||||
В-23 | Басейн | 40 | 12 | ||||||||
Ф-1 | Гімнастика | 45 | 8 | ||||||||
ПК 764598 | Іванова О.К. | 21 | В-23 | Басейн | 40 | 8 | |||||
Р-34 | Кислор. коктейль | 45 | 15 | ||||||||
Э-22 | Електротерапія | 15 | 5 | ||||||||
КК 678998 | Петров П.П. | пр. Перемоги 12 | 02.09.2003 | 14 | В-23 | Басейн | 40 | 8 | |||
Р-34 | Кислор. коктейль | 45 | 15 | ||||||||
Э-22 | Електротерапія | 15 | 5 | ||||||||
Дюльбер | Місхор | +9 | ММ567845 | Сидоров С.С. | Вул Леніна, 54 | 04.09.2003 | 14 | В-21 | Душ Шарко | 15 | 5 |
|
|
|
|
|
|
|
|
|
|
|
|
�
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
39
Приклад5. Дано фрагмент документа "Історико-культурні цінності"
БП:
1.Номер історико-культурної цінності унікальний, отже, цінність може бути встановлена тільки в одному місці.
2 Історико-культурна цінність обов'язково має автора, яких може бути більше одного автора.
3. Період роботи авторів над однією історико-культурною цінністю може відрізнятися (наприклад, проєкт розробив один автор, другий автор його реалізував). Один і той самий автор може працювати над цінністю кілька разів (наприклад, розробляв проєкт, у виготовленні участі не брав, потім брав участь в установці)
Місто | Населення (тис. чол.) | Рік встановлення | Тип | Номер історико-культурної цінності | Присвята/ назва | Код автора, П.І.Б. автора | Період участі автора у створенні |
Донецьк
| 1000
| 1949 | Барельєф | Б32 | Визволителям Донбасу | 098, Іванов І.І. 56, Петров П.П. 098, Іванов І.І. | 01.01.1948 - 01.12.1948 01.01.1949 - 01.06.1949 02.06.1949 - 15.07.1949 |
1996 | Бюст | Б56 | Т.Г. Шевченко | 55, Сидоров С.С. | 15.06.1995 - 05.12.1995 | ||
...... | ...... |
| ...... | ...... |
| ||
Луганськ | 400 | 1934 | Пам'ятник | П345 | В.І. Леніну | 098, Іванов І.І. 111, Козлов В.Ф. | 15.09.1932 - 15.06.1933 01.01.1933 - 15.06.1933 |
1965 | Пам'ятник | П324 | В.І. Леніну | 55, Сидоров С.С. | 01.05.1963 - 06.11.1965 | ||
...... | ...... | ..... | ...... |
| ...... | ...... |
|
�
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
40
Код страви | Назва страви | Вид страви | Код продукту | Назва продукту | Енергетична цінність прод. (на 100г.) | Вага (г.) | Спосіб приготування | Код автора | П.І.Б. автора рецепта | Національність автора |
34 | Олів'є
| салат | О23 Б1 О3 О8 Б2 С4 | картопля яйця огірки горошок м'ясо майонез | 100 120 30 55 200 320 | 100 100 100 100 100 100 |
Подрібнити і перемішати | Ф55 | Олів'є Л. | француженка |
87 | Український борщ
| перша страва | О23 О11 О12 О16 Б2 | картопля капуста буряк томат м'ясо | 100 30 35 50 200 | 200 100 100 60 200 | Зварити | У54 | Петренко С.М. | українець |
| ........... | ...... |
| ...... | ....... | ... | ........... |
| ........ | ........ |
Дано фрагмент документа "Книга рецептів"
БП: 1.У страви тільки може бути тільки один автор, автор придумує багато страв
2 Енергетична цінність продукту залежить тільки від самого продукту
3. Код страви унікальний, тобто страва з такою самою назвою, але іншого автора матиме інший код.
4. Код продукту унікальний
5. Спосіб приготування залежить від страви, тобто страва характеризується одним способом приготування
6. Вага продукту в різних стравах відрізняється
�
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
41
Дано фрагмент документа "Відомості про проекти 2"
БП:1 Наше підприємство може виконувати одночасно кілька проектів
2 Співробітники можуть одночасно працювати на декількох проектах.
3.Оплата залежить від конкретної роботи
4.У проекту може бути тільки один замовник, замовник може замовляти багато проектів
5. У проєкту зазвичай кілька етапів (як мінімум 1). Номер етапу унікальний тільки в рамках проєкту
6. Співробітник обіймає одну посаду
Дата початку етапу | Дата закінчення етапу | Номер проекту | Назва проекту | Підприємство - замовник, шифр, адреса | Номер етапу | Код виконавця | П.І.Б. виконавців | Посада | Оплата за етап грн. |
02.10.2003 | 02.02.2004 | 098 | Розробка ІС для "Банк" | З110, ПП "Прогрес", пр. Свободи 32 | 1 | 003 453 | Іванов В.К. Сидоров Г.Л. | Доцент Асистент | 1600 1100 |
03.02.2004 | 03.01.2005 | 2 | 003 453 004 | Іванов В.К. Сидоров Г.Л. Петров Л.І. | Доцент Асистент Доцент | 3000 2000 3500 | |||
02.02.2003 | 02.05.2004 | 540 | Розробка ІС для "Торговельне підприємство" | З450, Зав. ім. Леніна, вул. Пушкінська, 65 | 1 | 004 003
| Петров Л.І. Іванов В.К. | Доцент Доцент
| 1500 1500 |
03.05.2004 | 20.12.2004 | 2 | 002 003 | Яковлєв С.А. Іванов В.К. | Асистент Доцент | 2000 5000 | |||
02.05.2003 | 02.06.2004 | 008 | Розробка сайту "Адміністрація президента" | З110, ПП "Прогрес", пр. Свободи 32
| 1 | 002 003
| Яковлєв С.А. Іванов В.К. | Асистент Доцент
| 4000 3000 |
03.06.2004 | 12.11.2004 | 2 | 002 004 003 | Яковлєв С.А. Петров Л.І. Іванов В.К. | Асистент Доцент Доцент | 1000 1500 1500 | |||
........... | .......... |
| .......... |
|
|
| ........... | .......... | ........ |
Питання
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
42