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

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

Основними характеристиками основного ключа є:

  • Він повинен містити унікальне значення для кожного рядка даних.

  • Він не може містити нульових значень.

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

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

Функціональна залежність – це змістовна, семантична властивість атрибутів відношення. Семантика відношення, тобто його зміст, вказує як саме його атрибути зв’язані між собою, а також визначає функціональні залежності (ФЗ) між атрибутами у вигляді обмежень, накладених на деякі атрибути даного відношення. В цьому означенні атрибути А і В можуть складатися із одного або кількох атрибутів.

Якщо сутність A функціонально визначає сутність B, таку залежність прийнято позначати так: A –>(стрілка) B

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

Роль функціональних залежностей:

  • Функціональна залежність дозволяє уникнути надмірності даних. Тому однакові дані не повторюються в кількох місцях у цій базі даних

  • Можливість підтримувати якість даних у базі даних

  • Визначення значень та обмежень баз даних

  • Пошук поганих конструкцій

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

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

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

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

    1. Нормалізація відношень: перша, друга та третя нормальні форми

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

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

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

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

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

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

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

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