Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Всі відповіді СП.docx
Скачиваний:
10
Добавлен:
28.01.2023
Размер:
217.28 Кб
Скачать
    1. Реляційна модель даних. Операції реляційної алгебри.

У реляційній моделі об'єкти і зв'язки між ними зображуються за допомогою двомірних таблиць – відношень (від англійського relation – відношення). Ідея реляційної моделі застосовується до зовнішнього та логічного рівня. Кожен рядок, що містить у таблиці такої бази даних, є записом з унікальним ідентифікатором, який називають ключем. Стовпці таблиці мають атрибути даних, а кожен запис зазвичай містить значення для кожного атрибуту, що дозволяє легко встановлювати взаємозв'язок між елементами даних.

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

Існує декілька варіантів вибору операцій, які входять в реляційну алгебру. Спочатку Кодд запропонував вісім операторів, але згодом до них були додані ще деякі інші. П'ять основних операцій реляційної алгебрия: вибірка (selection), проекція (projection), декартів добуток (cartesian product), об'єднання (union) і різниця (set difference) виконують більшість операцій витягу даних. На базі п'яти основних операцій можна отримати додаткові (з'єднання (join), перетинання (intersection) і ділення (division)

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

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

Операція декартового добутку визначає нове відношення, яке є результатом конкатенації (зчеплення) кожного кортежу відношення R з кожним кортежем відношення S.

Операція об'єднання відношень R і S з кортежами I та J відбувається в результаті їх конкатенації з утворенням одного відношення з максимальною кількістю кортежів (I + J), якщо кортежі-дублікати виключені. При цьому відношення R і S мають бути сумісними за об'єднанням.

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

Операція перетинання визначає відношення, яке містить кортежі, які є, як у відношенні R, так і у відношенні S. Відношення R й S мають бути сумісними за об'єднанням.

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

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

    1. Нормалізація відношень при проектування реляційної моделі.

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

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

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

Нормалізація відношень – це покроковий зворотній процес розкладання початкових відношень на більш дрібні і прості. При цьому встановлюються всі можливі функціональні залежності. Апарат нормалізації був розроблений Коддом. В ньому визначаються різні нормальні форми. Кожна з нормальних форм обмежує типи функціональних залежностей відношень. Кодд виділив три нормальні форми: 1НФ, 2НФ, 3НФ. Вважається достатнім приведення до 3НФ.

Існують такі рівні нормалізації: перша нормальна форма (1НФ), 2НФ, 3НФ, нормальна форма Бойса-Кодда (БКНФ), 4НФ, 5НФ. Але дотепер жодна з реляційних СКБД не надає належної підтримки усім п'яти нормальним формам. Це відбувається через жорсткі вимоги до продуктивності. Суть справи полягає в тому, що в повністю нормалізованій БД для виконання запиту треба з'єднати настільки багато таблиць, що продуктивність такої системи не зможе задовольнити користувачів. Тому на практиці використовують лише перші три рівня нормалізації – 1НФ, 2НФ, ЗНФ.

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

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

Загалом 1НФ і 2НФ розглядаються як проміжні етапи в процесі нормалізації БД. Більша частина СКБД орієнтована на досягнення наступного ступеня нормалізації – третьої нормальної форми (3НФ). Це пов’язано з тим, що зведення відношень до 3НФ цілком відповідає майже усім практичним задачам. При розробці винятково великих систем на надшвидкодіючих комп'ютерах, коли необхідно забезпечити максимальне зменшення обсягів даних, бажано виконати подальшу нормалізацію відношень.

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

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