Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BD-КН1.doc
Скачиваний:
18
Добавлен:
27.04.2019
Размер:
7.07 Mб
Скачать

4.5. Четверта нормальна форма

Процес нормалізації відношень може продовжуватися далі (четверта і п’ята форма) по усуненню таких типів функціональних залежностей:

  • залежності ключів від неключових атрибутів;

  • незалежних багатозначних залежностей.

Відношення перебуває у четвертій нормальній формі, коли воно перебуває у третій нормальній формі і не має багатозначних залежностей між атрибутами. Наприклад, у відношенні Викладач (код викладача, предмет,група) існує багатозначна залежність між атрибутами предмет та група, тому що багато груп вивчають багато предметів, які може читати один викладач. Для нормалізації такого відношення створюють два відношення: Викладач_предмет (код викладача, предмет) та Викладач_група (код викладача, група), які не зв‘язують між собою. Цілісність даних в таких відношеннях підтримують за допомогою спеціальних програм – тригерів, які зберігаються на сервері бази даних.

Підводячи підсумок слід сказати, що при класичному проектуванні бази даних відбувається послідовний перехід від попередньої нормальної форми до наступної. Але проводячи перетворення у базі даних слід зберігати можливість відтворення первинної схеми, тобто, нормалізована схема бази даних повинна бути еквівалентною первинній схемі. Схеми бази даних називають еквівалентними, якщо вміст первинної бази даних може бути відтворений шляхом природнього з‘єднання відношень, що входять до результуючої схеми, і при цьому не з‘явиться нових кортежів відносно первинної БД.

4.6. Вимоги до реляційних систем

Кодд запропонував 12 правил, які визначають вимоги до реляційних систем:

  1. Явне представлення даних.

Вся інформація в базі даних має явно представлятися на логічному рівні у вигляді значень у відношеннях.

Це правило вимагає власне реляційну модель даних. Для явного представлення даних реляційна система має підтримувати різні типи значень атрибутів: числа, рядки символів, дати, логічні значення і тому подібне.

  1. Гарантований доступ до даних.

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

Таким чином задається єдиний спосіб доступу до даних:

<назва відношення>,<значення ключа>,<атрибут>

Для забезпечення такого способу доступа кожне відношення має мати назву та первинний ключ. Кожний кортеж відношення має відрізнятися від інших кортежів значенням первинного ключа. Кожне елементарне значення в кортежі має відповідати певному атрибуту.

  1. Повна обробка невизначених значень

Невизначені значення, що відрізняються від будь-якого визначеного значення, мають підтримуватись для всіх типів даних при виконанні всіх операцій.

Це правило в першу чергу стосується невизначених значень атрибутів.

  1. Доступ до опису бази даних в термінах реляційної моделі.

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

Фактично четверте правило зумовлює можливість адміністрування баз даних незалежно від прикладних програм. Адміністратор баз даних має забезпечити надійність експлуатації бази даних всіма прикладними програмами.

  1. Повнота підмножини мови

Реляційна система може підтримувати декілька мов, принаймні, мову визначення даних і мову маніпулювання даними. Проте хоча б одна з мов повинна мати синтаксис тверджень, підтримуючи такі поняття:

  • визначення даних (відношення, атрибути, домени, ключі, обмеження цілісності);

  • визначення представлень ( віртуальні відношення, утворені за допомогою реляційних виразів на основі одного або декількох відношень);

  • маніпулювання даними (інтерактивне або програмне);

  • обмеження цілісності;

  • санкціонований доступ до даних;

  • керування транзакціями (вхідними повідомленнями, що переводять базу даних з одного стану в інший – початок транзакції, фіксація виконання, відмова від виконання транзакції).

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

  1. Оновлюваність представлень

Всі представлення, що теоретично оновлюються, мають автоматично відновлюватися при модифікації даних в базових відношеннях.

  1. Наявність високорівневої мови маніпулювання даними.

Операції введення, оновлення і вилучення мають застосовуватися до відношення в цілому.

При цьому необхідно забезпечити контроль цілісності бази даних. Наприклад, при виконанні вставки треба перевірити унікальність первинного ключа, коректність вводжуваних значень, тощо. Контроль цілісності виконується на основі перевірок обмежень цілісності за допомогою мови визначення даних.

  1. Фізична незалежність даних

Прикладні програми повинні не залежати від використовуваних способів зберігання даних на носіях інформації і методів доступу до них.

При забезпеченій фізичній незалежності даних не виникає необхідність зміни текстів програм при зміні формату файлів даних і індексних структур.

  1. Логічна незалежність даних

Прикладні програми мають не залежати від реалізації будь-якого з можливих представлень.

Визначивши віртуальне відношення в межах бази даних, можна розробляти прикладні програми, що будуть використовувати це відношення не турбуючись про те, що база даних зміниться і віртуальне відношення буде складатися на основі іншого реляційного виразу.

  1. Незалежність контролю цілісності

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

Всі прикладні програми, використовуючи базу даних, мають контролювати еквівалентний набір обмежень цілісності. Забезпечити це можна, якщо виділити означені обмеження з прикладної програми в каталог бази даних. Оскільки всі програми мають доступ до каталогу бази даних, то вони будуть еквівалентно працювати зі спільними даними.

  1. Дистрибутивна незалежність

Реляційна система має бути переношуваною для забезпечення її розповсюдження. Реляційна мова повинна дозволяти маніпулювання даними, що розміщуються в різних комп’ютерних системах.

Дистрибутивна незалежність передбачає повну реалізацію СКБД для різних платформ або реалізацію комунікаційних блоків у складі СКБД, щоб обмінюватися даними між різними СКБД.

12. Узгодження повних рівнів

Якщо реляційна система має мову з низькорівневим елементом доступу ( запис) і високорівневим елементом доступу (таблиця), то виконання низькорівневих команд має погоджуватися з контролем цілісності даних аналогічно високорівневим командам.

Реляційні системи можуть підтримувати декілька мов. При цьому необхідно забезпечити еквівалентність обробки даних в цих мовах.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]