Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OРГАНІЗАЦІЯ БАЗ ДАНИХ І ЗНАНЬ-ЛЕКЦІЯ.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
815.1 Кб
Скачать

П'ята нормальна форма та послідовність етапів нормалізації

Вiдношення R (X, Y, ... , Z) задовольняє залежностi з'єднання * (X, Y, ... , Z) у тому i тiльки в тому випадку, коли R вiдновлюється без втрат шляхом з'єднання своїх проекцiй на X, Y, ... , Z.

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

Введемо наступнi iмена складових атрибутiв: З = {СПIВРОБ_НОМЕР, ВIДДIЛУ_НОМЕР}; СП = { СПIВРОБ _НОМЕР, ПРОЕКТУ_НОМЕР}; ВП = {ВIДДIЛУ_НОМЕР, ПРОЕКТУ_НОМЕР}.

Припустимо, що у вIдношеннi СПIВРОБIТНИКИ-ВIДДIЛИ-ПРОЕКТИ Iснує залежнiсть з'єднання: * (З, СП, ОП)

На прикладах можна легко показати, що при вставках i видаленнях кортежiв можуть виникнути проблема. Їх можна усунути шляхом декомпозицiї вихiдного вiдношення на три нових вiдношення: СПIВРОБIТНИКИ-ВIДДIЛИ (СПIВРОБ_НОМЕР, ВIДДIЛУ_НОМЕР), СПIВРОБIТНИКИ-ПРОЕКТИ (СПIВРОБ_ НОМЕР, ПРОЕКТУ_НОМЕР), ВIДДIЛИ-ПРОЕКТИ (ВIДДIЛУ НОМЕР, ПРОЕКТУ НОМЕР).

П'ята нормальна форма - це остання нормальна форма, яку можна одержати шляхом декомпозицiї.

На закiнчення приведемо послiдовнiсть етапiв нормалiзацiї:

  1. Перехiд вiд структурної моделi даних до плоских двовимiрних вiдношень (таблицям).

  2. Усунення всiх неповних залежностей атрибутiв, якi не є основними, вiд усiх ймовiрних ключiв.

  3. Усунення всiх транзитивних залежностей атрибутiв, якi не є основними, вiд усiх ймовiрних ключiв.

  4. Усунення всiх нетривiальних багатозначних залежностей атрибутiв, якi не є основними, вiд усiх ймовiрних ключiв.

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

Об'єктно-орієнтовані субд

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

1 Зв'язок об'єктно-орієнтованих субд із загальними поняттями об'єктно-орієнтованого підходу

У загальній і класичній постановці об'єктно-орієнтований підхід базується на таких концепціях:

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

  • набір атрибутів і методів: кожний об'єкт має стан і поведінку. Стан об'єкта - набір значень його атрибутів, поведінка об'єкта - набір методів (програмний код), що оперують над станом об'єкта. Значення атрибута об'єкта - це теж певний об'єкт або множина об'єктів. Стан і поведінка об'єкта інкапсульовані в ньому; взаємодія об'єктів відбувається на основі передачі повідомлень і використанні відповідних методів.

  • класів: множина об'єктів з однаковим набором атрибутів і методів утворює клас об'єктів. Об'єкт повинен належати тільки одному класу. Проте, припускається наявність примітивних визначених класів, об'єкти, що не мають атрибутів: цілі, рядки, тощо;

  • ієрархії та успадкування класів: припускається породження нового класу на основі вже існуючого класу - спадкування. В цьому випадку новий клас, названий підкласом існуючого класу (суперкласу), успадковує всі атрибути і методи суперкласу. У підкласі, додатково, можуть бути визначені атрибути та методи. Розрізняють просте і множинне спадкування. У першому випадку підклас може визначатися тільки на основі одного суперкласу, у другому випадку суперкласів може бути декілька. Якщо в мові або системі підтримується одиничне спадкування класів, набір класів утворює деревоподібну ієрархію. При підтримці множинного спадкування класи пов'язані в орієнтований граф коренем - краткою класів. Об'єкт підкласу вважається приналежним будь-якому суперкласу цього класу. Однієї з прогресивних ідей об'єктно-орієнтованого підходу є ідея можливого перевизначення атрибутів і методів суперкласу в підкласі (перевантаження методів). Ця можливість збільшує гнучкість, але породжує додаткову проблему: при компіляції об'єктно-орієнтованої програми можуть бути невідомі структура і програмний код методів об'єкту, хоча його клас (у загальному випадку - суперклас) відомий. Для вирішення цієї проблеми застосовується так називаний метод пізнього зв'язування, що означає інтерпретаційний режим виконання програми з розпізнаванням деталей реалізації об'єкта під час виконання посилки повідомлення до нього. Але введення певних обмежень на засіб визначення підкласів дозволяє домогтися ефективної реалізації без потреб в інтерпретації.

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

У прикладних інформаційних системах, що базуються на БД із традиційною організацією, існує принципове розрізнення між структурною організацією та організацією маніпулювання організованими даними. Структурна частина системи підтримується апаратом БД, її можна моделювати, варіфікувати і т.д. Маніпуляційна частина створюється окремо, без врахування формального апарату і системної підтримки спільного моделювання, та гарантії узгодженості структурної (статичної), і маніпуляційної (динамічної, поведінкової) частин. У середовищі ООБД проектування розробка і супроводження прикладної системи стає процесом, у якому інтегруються структурний і поведінковий аспекти. Звичайно, для цього потрібні спеціальні мови, що дозволяють визначати об'єкти і створювати на їхній основі прикладну систему.

Виділяються три аспекти, що відсутні в традиційній теорії БД, але потребують розробки в ООБД:

  • потреба в засобах специфікації знань при визначенні класу (обмежень цілісності, правил дедукції і т.п.);

  • потреба в механізмі визначення різного роду семантичних зв'язків між об'єктами різних класів, що означає вимогу повного поширення на ООБД засобів семантичного моделювання даних, використання абстракції асоціації, використання автоматизованого проектування й інженерії;

  • розгляд класу як множини об'єктів даного типу, тобто одночасна підтримка понять типу і класу.

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