Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
бд.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.92 Mб
Скачать

Аномалія видалення (delete)

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

Причина аномалії - зберігання в одному відношенні різнорідної інформації (і про співробітників, і про проекти, і про роботи над проектом).

Висновок - логічна модель даних неадекватна моделі предметної області. База даних, заснована на такій моделі, працюватиме неправильно.

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

34. 1НФ, 2НФ.

7.3. 1НФ, 2НФ

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

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

В теорії реляційних баз даних звичайно виділяється наступна послідовність нормальних форм (рис. 7.1.):

Рис. 7.1. Послідовність нормальних форм

  • перша нормальна форма (1NF);

  • друга нормальна форма (2NF);

  • третя нормальна форма (3NF);

  • нормальна форма Бойса-Кодда (BCNF);

  • четверта нормальна форма (4NF);

  • п'ята нормальна форма, або нормальна форма проекції-з'єднання (5NF або PJ / NF).

Основні властивості нормальних форм:

  • кожна наступна нормальна форма в деякому сенсі краще попередньої;

  • при переході до наступної нормальної форми властивості попередніх нормальних форм зберігаються.

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

При наявності взаємооднозначного зв'язку (зв'язку типу 1:1) між відношеннями (рис. 7.2, а.), яке говорить, що перед нами одна і та сама сутність, слід убрати одну «обов'язковість» (рис. 7.2, б.).

Рис. 7.2. Відношення 1:1 (а) та 1:N (б)

Є декілька рівнів моделювання:

  • предметна область (ПО);

  • логічна модель;

  • фізична (реляційна) модель - у вигляді таблиць;

  • генерація БД на диск.

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

Визначення 1. Функціональна залежність. У відношенні R атрибут Y функціонально залежить від атрибута X (X і Y можуть бути складовими) в тому і тільки в тому випадку, якщо кожному значенню X відповідає в точності одне значення Y: R.X (r) R.Y.

Визначення 2. Повна функціональна залежність. Функціональна залежність R.X (r) R.Y називається повною, якщо атрибут Y не залежить функціонально від будь-якої точної підмножини X.

Визначення 3. Транзитивна функціональна залежність. Функціональна залежність R.X (r) R.Y називається транзитивною, якщо існує такий атрибут Z, що є функціональні залежності R.X (r) R.Z і R.Z (r) R.Y і відсутня функціональна залежність R.Z -> R.X (При відсутності останньої вимоги ми мали б «нецікаві» транзитивні залежності в будь-якому відношенні, яке має декілька ключів).

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

Визначення 5. Взаємно незалежні атрибути. Два або більше атрибута взаємно незалежні, якщо жоден з цих атрибутів не є функціонально залежним від інших.