Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекц8 Метод Норм форм Укр!.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
83.06 Кб
Скачать

9

Тема 4. Проектування баз даних (09.2013) Лекція 8

8.1. Метод нормальних форм

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

Перша нормальна форма.

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

Вихідне відношення будується так, щоб воно було в 1НФ.

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

Декомпозиція здійснюється за допомогою операції проекції. Наприклад, у відношенні R(A,B,C,D,E), A,C – ключ, усунення часткової ФЗ А→В дозволить перевести його в наступну нормальну форму. Виконаємо декомпозицію відношення R на два нових відношення R1(A,C,D,E) і R2(А,B). Відношення R2 є проекцією відношення R на атрибути А і В.

Вихідне відношення ВИКЛАДАЧ, має складений ключ ПІБ, Предм, Група і знаходиться в 1НФ - всі атрибути прості. Відповідно до рис. 7.5 б можна виділити часткову залежність атрибутів Стаж, ДСтаж, Каф, Посада, Оклад від ключа - ці атрибути знаходяться у ФЗ від атрибута ПІБ, що є частиною складеного ключа.

Ця часткова залежність від ключа приводить:

1. До явного і неявного надлишкового дублювання даних, наприклад:

  • повторення зведень про стаж, посаду й оклад викладачів, що проводять заняття в декількох групах і/чи по різних предметах;

  • повторення зведень про оклади для однієї і тієї ж посади чи про надбавки за однаковий стаж.

2. До проблем редагування даних. Наприклад, зміна посади у викладача Іванова вимагає перегляд всіх кортежів відношення і внесення змін у ті з них, що містять зведення про даного викладача.

Частина надмірності усувається при переводі відношення в 2НФ.

Друга нормальна форма.

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

Для усунення часткової залежності і переводу відношення в 2НФ необхідно розкласти його на кілька відношень так:

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

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

У результаті одержимо два відношення R1 і R2 у 2НФ (рис. 8.1). У відношенні R1 первинний ключ є складеним і складається з атрибутів ПІБ. Предм. Група. Даний ключ у відношенні R1 отримано у припущенні, що кожен викладач в одній групі по одному предмету може або читати лекції, або проводити практичні заняття. У відношенні R2 ключ ПІБ.

ПІБ

Предм

Група

ВидЗан

Іванов І.М.

СУБД

256

практ

Іванов І.М.

ПЛ/1

123

практ

Петров М.І.

СУБД

256

лекція

Петров М.И.

Паскаль

256

практ

Сідоров Н.Г.

ПЛ/1

123

лекція

Сідоров Н.Г.

Паскаль

256

лекція

Єгоров В. В.

ПЭВМ

244

лекція

R1 а)

б)

R2 а)

ПІБ

Посада

Оклад

Стаж

ДСтаж

Каф

Іванов І.М.

викладач

500

5

100

25

Петров М.І.

ст. викл

800

7

100

25

Сідоров Н.Г.

викладач

500

10

150

25

Єгоров В. В.

викладач

500

5

100

24

Рис. 8.1. Відношения БД в 2НФ

Дослідження відношень R1 і R2 показує, що перехід до 2НФ дозволив виключити явну надмірність даних у таблиці R1 - повторення рядків зі зведеннями про викладачів. У R2 як і раніше мається неявне дублювання даних.

Для подальшого удосконалювання відношень необхідно перевести їх в ЗНФ.

Третья нормальная форма.

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

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

ПІБ

Посада

Стаж

Каф

Іванов І.М.

викладач

5

25

Петров М.І.

ст. викл

7

25

Сідоров Н.Г.

викладач

10

25

Єгоров В. В.

викладач

5

24

R3 а)

б)

Посада

Оклад

викладач

500

ст. викл

800

R4

Стаж

ДСтаж

5

100

7

100

10

150

R5

Рис. 8.2. Відношення БД у 3НФ


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

Якщо у відношенні R1 транзитивні залежності відсутні, то у відношенні R2 вони є: ПІБ→Посада→Оклад, ПІБ→Оклад→Посада, ПІБ→Стаж→ДСтаж.

Транзитивні залежності також породжують надлишкове дублювання даних. Усунемо їх, використовуючи операцію проекції на атрибути, що є причиною транзитивних залежностей. Одержимо відношення R3, R4 і R5, що знаходяться в ЗНФ (рис. 8.2а). Графічно ці відношення представлені на рис. 8.2б. Відношення R2 можна перетворити по-іншому - у відношенні R3 замість атрибута Посада взяти атрибут Оклад,

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

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