Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
база даних1.doc
Скачиваний:
7
Добавлен:
17.04.2019
Размер:
592.38 Кб
Скачать

41.Відображення інфологічної моделі на сіткову.

Сiткова модель БД –– це орiєнтований граф з поiменованими дугами i вершинами.

Два етапи: спочатку будують загальну сiткову модель, а потiм її модифiкують з урахуванням обмежень і особливостей конкретної СУБД.

Перетворення 1. У сітковій моделі можна залишати лише зв’язки типу ВП, а зв’язки ПВ і ВПВ необхідно перетворювати об’єднанням об’єктів в один. При об’єданні власника і підпорядкованого об’єкта створюється новий тип запису, в якому підпорядкований об’єкт виступає як агрегат типу запису-власника. Це перетворення через злиття двох об’єктів в один можливе тоді, коли підпорядкований об’єкт не бере участі в інших наборах.

Перетворення 2. Кожний набір не може мати більш як одного власника в одному й тому самому наборі. Тому необхідно усунути багатозначне володіння. Усі зв’язки типу «багато до багатьох» (Б:Б) не можуть бути реалізовані в явному вигляді.

Перетворення 3. Більшість сіткових СУБД не підтримують циклів. Тому необхідно проаналізувати інфологічну модель на присутність у ній циклів і усунити їх, увівши адресні посилання (вказівки).

Напр., зображений на рис.2 фрагмент структури вміщує цикл, який буде усунено введенням до типу запису С адресного посилання на тип запису А.

Рис.2. Усунення циклу за допомогою адресних посилань

Зауваження. Конкретна СУБД може накладати дуже жорсткi обмеження на побудову даталогiчної моделi. Так деякі СУБД можуть пiдтримувати лише дворiвневi ациклiчнi структури. Тому отриману на першому кроцi модель необхiдно моди­фiкувати з урахуванням обмежень даної СУБД. Основне перетворення — це перехiд до дворiвневих структур. Це перетворення можна виконати за допомогою двох варiантiв:

Перший варiант полягає в перенесеннi всiх промiжних рiвнів на перший рiвень iєрархiї рис.3.(а)

Рис. 3. Зведення до дворівневих структур

Другий варiант полягає у використаннi кодованих записiв. На рис. 3(б) екземпляр запису CD –– це запис типу C чи запис типу D. Для того щоб вiдрiзнити запис типу C вiд запису типу D, до складу таких записiв уводять додаткове поле, яке є кодом, що вказує на тип запису, тому цi записи називаються кодованими. Вибираючи варiант перетворення, необхiдно враховувати характеристику, яка визначає ступiнь змiнностi об’єкта. Якщо об’єкт характеризується високим ступенем змiнностi, то його краще перетворювати в залежний запис.

42.Відображення інфологічної моделі на реляційну.

При вiдображеннi iнфологiчної моделi на реляцiйну ІО потрібно трансформувати в реляцiйнi вiдношення.

Якщо мiж об’єктами існує зв’язок 1:1 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ль­ними.

2. Вiдношення не повинно мати дублюючих рядків i стовпчикiв.

3. Усi атрибути у вiдношеннi повиннi мати унiкальнi iмена.

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

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

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

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

Якщо в інфологічній моделі є об’єкти-зв’язки, то вони перетворюються в самостійні рівноправні реляційні відношення.

Отриманi реляцiйнi вiдношення мають вiдповiдати умовам нормалiзацiї. Тому отриману в результатi вiдображення модель потрiбно ще раз перевiрити на вiдповiднiсть її вимогам 3НФ (4НФ).

43.Правила побудови реляційних відношень.В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шнiми, або вторинними, оскі­льки вони пов’язанi з первинними ключами iнших вiдношень. Реляцiйна модель накладає на зовнiшнi ключi обмеження для забезпечення цiлісностi даних, яке називається посилковою цiлiснiстю. У реляцiйнiй БД накладається ще одне обмеження — вiдношення мають бути нормалiзованi.

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

Концепцію реляційної моделі запропонував американський вчений Кодд у 1970 р. Виникнення цієї концепції пов’язане з розв’язанням проблеми забезпечення незалежності даних і їх опису від прикладних програм. За допомогою створеної Коддом теорії нормалізації вiдношень можна спроектувати оптимальну логiчну модель даних. Цю теорiю можна використовувати не лише при проектуваннi баз даних у середовищi реляцiйних СУБД, а й для СУБД, якi пiдтримують iншi моделi даних. Отож, будь-яку логiчну модель спочатку проектують як нормалiзовану релiцяцiйну модель, а потiм вiдображують на ту модель, яку пiдтримує вибрана СУБД.

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

Напр. атрибут B залежить вiд А у вiдношеннi R тодi, коли в кожний момент часу одному й тому самому значенню А вiдповiдає не бiльше як одне значення B.Графiчно ця функцiональна залежнiсть вiдображується так: А --->B. Цiй залежностi вiдповiдає спiввiдношення 1:1 мiж атрибутами

Коли вiдношення має складовi ключi, то залежнiсть неключових атрибутiв вiд такого ключа може бути повною або частковою. Якщо маємо вiдношення R(A*, В*, C, D), ключ якого складається з двох атрибутiв A i B, тобто є складовим то функцiональнi залежностi в такому вiдношеннi можуть мати такий вигляд: Атрибут C перебуває в повнiй функцiональнiй залежностi, тобто залежить вiд всього складового ключа, а атрибут D — в неповнiй, оскільки залежить лише вiд його складової частини атрибута B.

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

46.Визначення об’єктних та зв’язкових відношень.Реляц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дношень, за якими встановлюються зв’язки м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домо.

47.Визначення транзитивної та багатозначної залежності.Транзитивна залежнiсть –– це залежнiсть мiж неключовими атрибутами. Нехай є вiдношення R(A*, C, D), у якому атрибут D безпосередньо не залежить вiд ключового атрибута A, а залежить вiд неключового атрибута C, який залежить вiд A. Тодi атрибут D транзитивно залежить вiд A.

Багатозначна залежнiсть–це рiзновид функцiональної залежностi, їй вiдповiдає спiввiдношення 1:Б мiж атрибутами. Атрибут A багатозначно визначає атрибут B у вiдношеннi R (A, B, C), якщо B залежить лише вiд A при будь-яких його комбiнацiях з iншими атрибутами вiдношення R. Графiчно це позначають так: A --->>B.

48.Визначення тривіальної та нетривіальної багатозначної залежності.Поняття багатозначної залежностi складнiше, ніж поняття функцiональної залежностi. Для виявлення багатозначної залежності потрiбен значно глибший семантичний аналiз атрибутiв. Iснують поняття тривiальної i нетривiальної багатозначних залежностей. Залежнiсть типів X --->> Y i Y --->> X є тривiальною, а залежнiсть типів X --->> Y i Y --/-->> X нетривiальною. Присутнiсть нетривiальних багатозначних залежностей у схемi вiдношення i незалежність їх лiвих частин призводять до комбiнаторики правих частин вiдношення.

49.Характеристика першої нормальної форми.Нормалiзацiя вiдношень –– це iтерацiйний зворотний процес деком­позицiї початкового вiдношення на кiлька простiших вiдношень меншої розмiрностi.

Нормалiзацію вiдношеннь виконують за кiлька крокiв. Перший крок — зведення вiдношень до першої нормальної форми (1НФ). Вiдношення в 1НФ мають в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дношеннi атрибут «Характеристика» є неатомарним, тому потрiбно позбутися складового атрибута й перетворити його в три атомарних атрибути. В результатi зведення до 1НФ вiдношення набере вигляду

матеріал (код матеріалу, назва матеріалу, одиниця вимірювання, тип, сорт, розмір).

50.Характеристика другої нормальної форми.Вiдношення перебувають у 2НФ, якщо вони перебувають у 1НФ 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алу на деталь).

Переваги 2НФ: зручнiсть внесення змiн у БД. Трудомісткiсть внесення змiн у БД значно менша, ніж у ненормалiзовану БД. 2НФ повнiстю виключає можливiсть виникнення протирiччя даних, а також економить пам’ять при зберіганнi вiдношень у пам’ятi ЕОМ.

51.Характеристика третьої нормальної форми.Вiдношення перебуває в 3 НФ, якщо воно перебуває в 2НФ i кожний неключовий атрибут нетранзитивно залежить вiд первинного ключа.Транзитивна залежнiсть –– це залежнiсть мiж неключовими атрибутами.Транзитивні залежності також вилучають за допомогою декомпозицiї вiдношення на два чи бiльше iнших вiдношень, якi не містять транзитивних залежностей i об’єднання яких дасть початкове вiдношення. Напр., вiдношення ВИКЛАДАЧ (табельний N, прiзвище, по-сада, оклад, кафедра, телефон) перебуває в 2НФ, але вмiщує транзитивну залежнiсть:

Табельний N *

Призвіще

Посада

Оклад

Код кафедри

Телефон кафедри

В результатi зведення до 3НФ отримуємо два вiдношення: ВИКЛАДАЧ (табельний N, прiзвище, посада, оклад, кафедра) i КАФЕДРА (код кафедри, телефон кафедри).

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

Iснує ще пiдсилена 3НФ — нормальна форма Бойса – Кодда (БКНФ).

БКНФ вивчає залежност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дношення перебуває в БКНФ, якщо воно перебуває в 3НФ i в ньому вiдсутнi залежностi ключiв вiд неключових атрибутiв. Вiдношення, яке перебуває в БКНФ, завжди є вiдношенням у 3НФ. Але, навпаки, вiдно­шення в 3НФ не завжди можна привести до нормальної форми Бойса – Кодда, не втративши залежності мiж його атрибутами.

Нормальна форма Бойса – Кодда має такi самі переваги, що й 3НФ.

52.Характеристика четвертої нормальної форми.На четвертому кроцi нормалiзацiї проводиться аналiз на присут­нiсть багатозначних залежностей у вiдношеннi. Вiдношення R перебуває в 4НФ, якщо в структур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сть.

53.Характеристика п’ятої нормальної форми.Вiдношення, яке вмiщує бiльш як три багатозначні залежності, потребує спецiальних прийомiв для забезпечення процесу зворотностi декомпозицiї. Для цього iснує 5НФ. Декомпозицiєю з 4НФ отримують такi проекцiї, щоб кожна з них вмiщувала шонайменше один можливий ключ i принаймні один неключовий атрибут початкового вiдношення. 5НФ усуває надлишковістю i водночас аномалiї поповнення БД.

54.Аномалії ненормалізованих відношень.Структура реляц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лу призведе до необхiдності внесення змiн і модифiкацiй по кожному працiвнику даного вiддiлу. Отже, для пiдтримання узгодженостi даних необхiдно виконати змiну не лише в кортежі бази, а цілий ряд змiн, що може розглядатись як аномалiя, оскільки характер самої змiни повинен стосуватися лише одного певного запису БД.

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

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

4.Надлишков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зованого вигляду.