Цю теорію можна використовувати не лише при проектуванні баз даних у середовищі реляційних СУБД, а й для СУБД, які підтримують інші моделі даних.
Тому, будь-яку ІЛМ спочатку проектують як нормалізовану реліцяційну модель, а потім відображують на ту модель, яку підтримує вибрана СУБД.
Скориставшись реляційним підходом, можна спроектувати оптимальну інфологічну модель БД. Оптимальна інфологічна модель БД не має аномалій, пов’язаних з модифікацією БД, тобто проблем, що можуть виникнути внаслідок замін, вставок і вилучення даних із БД.
Під аномаліями розуміють відхилення від норм, які можуть призвести до порушення посилкової цілісності БД чи виникнення протиріч і неузгодженості даних.
По-іншому:
Домен - множина можливих значень конкретного атрибута.
Найбільш правильним інтуїтивним трактуванням поняття домену є розуміння домену як допустимої потенційної множини значень даного типу.
Відношення - фундаментальне поняття реляційної моделі даних. З цієї причини модель і називається реляційною (від англійського relation - відношення). Підмножина декартов добуток одного або більше доменів.
Атрибут - властивість об'єкта, явища або процесу. Приклади атрибутів: прізвище, ім'я.
Кортеж - елемент відношення, це відображення імен атрибутів в значення, взяті з відповідних доменів. Кінцеве безліч кортежів утворює відношення. Якщо відношення створюється з n доменів, то кожен кортеж має n компонент.
Кортеж, що відповідає даній схемі відношення, - це безліч пар {ім'я атрибута, значення}, яка містить одне входження кожного імені атрибута, що належить схемі відношення. “Значення" є допустимим значенням домену даного атрибуту (або типу даних, якщо поняття домену не підтримується). Тим самим, ступінь або "арність" кортежу, тобто число елементів у ньому, збігається з "арністю" відповідної схеми відношення.
Відношення - це множина кортежів, які відповідають одній схемі відношення.
Отже, реляційна БД — це набір взаємозв'язаних відношень.
Відношення можна поділити на два класи: об’єктні й зв'язкові.
Об'єктні відношення зберігають дані про інформаційні об’єкти предметної області.
Наприклад:
ДЕТАЛЬ (код деталі, назва деталі, маса деталі, собівартість) – об'єктне відношення
В об’єктному відношенні один з атрибутів однозначно ідентифікує окрему сутність предметної області. Такий атрибут називаєіься первинним ключем відношення. У наведеному відношенні роль ключовою атрибута відіграє атрибут «код деталі»
Ключ може вміщувати кілька атрибутів, тобто бути складовим В об’єктному відношенні не повинно бути рядків з однаковим ключем, тобто не допускається дублювання об’єктів. Це основне обмеження реляційної моделі, яке необхідно виконувати для забезпечення цілісності даних.
У зв’язковому відношенні можуть дублюватися ключові атрибути крім ключів, за якими встановлюється зв’язок у зв’язковому відношенні; можуть бути ще й інші атрибути, які функціонально залежать від цього зв’язку Наприклад, ТЕХНОЛ0ГІЯ (код верстата, код деталі, код технологічної операції, норма часу обробки деталі на верстаті). Ключі в зв’язкових відношеннях називаються зовнішніми, або вторинними оскільки вони пов’язані з первинними ключами інших відношень.
Реляційна модель накладає на зовнішні ключі обмеження для забезпечення цілісності даних, яке називається посилковою цілісністю Це означає, що кожному зовнішньому ключу має відповідати рядок якогось об’єктного відношення. Без такого обмеження може статися, що зовнішній ключ посилається на об'єкт про який нічого не відомо.
У реляційній БД накладається ще одне обмеження – відношення мають бути нормалізовані.
Приклад конкретного відношення:
КОМПАНІЯ (номер працівника, номер відділу, керівник, тип контракту)
1. Аномалія поновлення. Заміна керівника відділу призведе до необхідності внесення змін і модифікацій по кожному працівнику даного відділу Отже, для підтримання узгодженості даних необхідно виконати зміну не лише в кортежі бази, а цілий ряд змін, що може розглядатись як аномалія, оскільки характер самої зміни повинен стосуватися лише одного певного запису БД.
2. Аномалія поповнення. Приймаючи на роботу нового співробітника, необхідно вносити в БД відомості не лише про нього, а й про керівника та тип контракту. Це також можна розглядати як аномалію тому що не завжди можливо в БД внести відомості про відділ і контракт, оскільки часто співробітників беруть на роботу з випробувальним терміном і лише після його проходження підписують певний вид контракту та визначають відділ, де він працюватиме.
4. Надлишковість. Відомості про керівника відділу та про тип контракту повторюються в ряді кортежів БД. Основні проблеми зі зберіганням надлишку інформації пов’язані не лише з неефекгивним використанням пам’яті, а й із забезпеченням підтримки узгодженості цих даних.
Узагальнюючи, слід зазначити, що семантика функціональних залежностей між атрибутами відношення зумовлює сторонні ефекти, що виникають при розширенні та внесенні певних змін до БД. Усунення цих аномалій досягається декомпозицією та зведенням відношення до нормалізованого вигляду.
Під зворотністю процесу розуміють те, що операція об’єднання відношень, отриманих в результаті декомпозиції, має дати початкове відношення, тобто при виконанні декомпозиції повинна виконуватись умова об’єднання без втрат інформації.
Отриманий в результаті нормалізації склад атрибутів відношень БД повинен відповідати таким вимогам між атрибутами: не має бути небажаних функціональних залежностей; групування атрибутів має забезпечувати мінімальне дублювання даних, їх обробку й поновлення без ускладнень і аномалій.
Апарат нормалізації також розробив Едгар Франк Кодд. Кожна нормальна форма обмежує тип допустимих залежностей між атрибутами. Кодд виділив три нормальні форми (скорочена назва - 1НФ, 2НФ і 3НФ). Найбільш досконала з них - 3НФ. Зараз вже відомі й визначені 4НФ, 5НФ, 6НФ.
МАТЕРІАЛ (код матеріалу, назва матеріалу, одиниця вимірювання, тип, сорт, розмір).
Кожне відношення БД уміщує як структурну, так і семантичну інформацію. Структурна інформація задається схемою відношення, а семантична виражає функціональні зв'язки між атрибутами.
Визначення 1. Атрибут В залежить від А у деякому відношенні R тоді, коли в кожний момент часу одному й тому самому значенню А відповідає не більше як одне значення В.
Графічно функціональна залежність зображується так: А —> В.
Цій залежності відповідає співвідношення 1:1 між атрибутами. Наприклад, як між атрибутами (код деталі —> назва деталі), (код верстата —> назва верстата).
Сутність поняття функціональної й неповної функціональних залежностей.
Атрибут С перебуває в повній функціональній залежності, тобто залежить від всього складного ключа, а атрибут D — в неповній, оскільки залежить лише від його складової частини атрибута В.
Визначення 2. Атрибут перебуває в повній функціональній залежності, якщо він залежить від всього ключа і не залежить від його складових частин.
Якщо відношення має неповні функціональні залежності, то виконують його декомпозицію на два чи більше відношень, які не мають неповних функціональних залежностей і об'єднання яких дасть початкове відношення.
Виконавши декомпозицію відношення R, отримаємо замість одного два відношення, які будуть перебувати в 2НФ:
З діаграми видно, що атрибути «Назва матеріалу» і «Ціна матеріалу» залежать не від всього ключа, а лише від його частини, а атрибут «Норма витрат матеріалу на деталь» залежить від всього ключа, тобто перебуває в повній функціональній залежності.
Отже, початкове відношення НОРМА розбивається на два відношення:
МАТЕРІАЛ (код матеріалу, назва матеріалу, ціна матеріалу)
НОРМА_ВИТРАТ (код деталі, код матеріалу, норма витрат матеріалу на деталь).
У базі даних замість одного відношення НОРМА необхідно зберігати два відношення МАТЕРІАЛ і НОРМА_ВИТРАТ, які перебувають у 2НФ.
Приклад: дано відношення НОРМА (виділено ключові атрибути)
НОРМА (код деталі, код матеріалу, назва матеріалу, ціна матеріалу, норма витрат матеріалу на деталь).
Відношення перебуває в 3НФ, якщо воно перебуває в 2НФ і кожний неключовий атрибут нетранзитивно залежить від первинного ключа.
Наприклад, відношення ВИКЛАДАЧ (табельний N, прізвище, посада, оклад, кафедра, телефон) перебуває в 2НФ, але вміщує транзитивну залежність:
В результаті зведення до 3НФ отримуємо два відношення: ВИКЛАДАЧ (табельний N, прізвище, посада, оклад, кафедра) і КАФЕДРА (код кафедри, телефон кафедри).
Отже, третя нормальна форма (3НФ, 3NF) вимагає, аби дані в таблиці залежали винятково від основного ключа:
Схема бази даних повинна відповідати всім вимогам другої нормальної форми.
Будь-яке поле, що залежить від основного ключа та від будь-якого іншого поля, має виноситись в окрему таблицю.
Приклад відношення АВТОМОБІЛЬ (модель автомобіля, кількість циліндрів у двигуні, країна-виготовлювач). У цьому відношенні існують такі залежності:
Отож, ключовий атрибут «модель автомобіля» залежить від неключового атрибута «країна-виготовлювач». Тому при зведенні до БКНФ початкове відношення буде розбито на такі відношення:
АВТОМОБІЛЬ (модель автомобіля, кількість циліндрів у двигуні);
ВИРОБНИК (країна-виготовлювач, модель автомобіля).
Відношення перебуває в БКНФ, якщо воно перебуває в 3НФ і в ньому відсутні залежності ключів від неключових атрибутів.
Відношення, яке з перебуває в БКНФ, завжди є відношенням у 3НФ. Але, навпаки, відношення в 3НФ не завжди можна привести до нормальної форми Бойса-Кодда, не втративши залежності між його атрибутами.
Якщо звести це відношення до НФБК, то отримується відношення R1(місто, адреса), R2(індекс, місто), в яких будуть відображені не всі залежності початкового відношення. Так, не буде відображено залежності індекс—> адреса, а саме індекс позначає відділення зв’язку, що обслуговує адресатів якоїсь вулиці певного міста.
Отож, зведення до НФБК може призвести до втрати важливих для початкового відношення залежностей, а об’єднання отриманих в результаті такої декомпозиції відношень не дасть початкового відношення. Тому при зведенні до НФБК необхідно ретельно вивчати всі залежності, виконувати його лише тоді, коли виконується така вимога: «об’єднання без втрат»
Нормальна форма Бойса-Кодда має такі самі переваги, що й 3НФ, тобто виключає можливість виникнення аномалій, пов’язаних з виконанню операцій поповнення, вилучення та заміни даних а також усуває надлишковість даних.
Якщо залежність А —>> В єдина у відношенні R, то відношення перебуває в 3НФ.
Якщо у відношенні присутні А —>> В і А —>> С, то відношення R потрібно розкласти на два інших відношення: R1 (А, В) і R2 (А, С).
Приклад. Нехай задано відношення СПІВРОБІТНИК(табельний номер, державна нагорода, прізвище, ім’я та по-батькові члена сім’ї, код родинних відносин)
У цьому відношенні виконуються багатозначні залежності
табельний номер —>> державна нагорода,
табельний номер —>> прізвище, ім'я та по-батькові члена сім’ї
Для того щоб виключити надлишкове дублювання, початкове відношення необхідно розкласти на два відношення: ВИНАГОРОДИ (табельний номер, державна нагорода), СІМ’Я (табельний номер, ім’я та по батькові члена сім’ї, код родинних відносин)
Визначення. Відношення R перебуває в 4НФ, якщо в структурі багатозначної залежності, визначеної на множині атрибутів, є лише тривіальні і/або такі нетривіальні багатозначні залежності, що ліва частина будь-якої з них є ключем.
Отже, зводячи до 4НФ, у відношенні потрібно виділяти в окреме відношення нетривіальні багатозначні залежності, в яких ліва частина не є ключем.
Приклад. Дано відношення ВИКЛАДАЧ (прізвище, група, предмет), у якому присутні багатозначні залежності (призвище—>>група), (прізвище—>> предмет).
У цьому відношенні є дві незалежні одна від одної багатозначні залежності, які можуть спричинити аномалії. Якщо у викладача з’являється нова група, доводиться додавати не один кортеж, а стільки, скільки предметів він читає в цій групі. Аналогічна ситуація спостерігається з уведенням нового предмета.
Тому потрібно виконати декомпозицію початкового відношення на два таких: ВИКЛАДАЧ_ГРУПА (прізвище, група), ВИКЛАДАЧ_ПРЕДМЕТ (прізвище, предмет).
Декомпозиція початкового відношення на кілька інших має гарантувати його зворотність, тобто забезпечувати отримання початковою відношення шляхом об’єднання відношень, які було отримано в результаті декомпозиції.
П'ята нормальна форма (5НФ, 5NF, PJ/NF) вимагає, аби не було не тривіальних залежностей об'єднання, котрі б не витікали із обмежень ключів. Вважається, що таблиця в п'ятій нормальній формі, тоді, і тільки тоді, коли вона знаходиться в 4НФ, та кожна залежність об'єднання зумовлена її ключами-кандидатами.
Нормальна форма домен/ключ (доменно-ключова нормальна форма – ДКНФ, DKNF). Ця нормальна форма вимагає, аби в схемі не було інших обмежень окрім ключів та доменів.
Шоста нормальна форма. Таблиця знаходиться у 6NF, якщо вона знаходиться у 5NF та задовольняє вимозі відсутності нетривіальних залежностей. Зазвичай 6NF ототожнюють з DKNF.
0. Фундаментальне правило (Foundation Rule)
Реляційна СУБД має бути здатною повністю керувати базою даних, використовуючи зв'язки між даними.
1. Інформаційне правило (Information Rule)
Інформація має бути представлена у вигляді даних, що зберігаються в комірках. Дані, що зберігаються у комірках, мають бути атомарними. Порядок рядків у реляційній таблиці не повинен впливати на зміст даних.
2. Правило гарантованого доступу (Guaranteed Access Rule)
Доступ до даних має бути вільним від двозначності. До кожного елементу даних має бути гарантований доступ за допомогою комбінації імені таблиці, первинного ключа рядку й імені стовпця.
Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:
Email: Нажмите что бы посмотреть