Персональний сайт - теоретичні основи реляційної моделі даних

Реляційна модель (РМ) заснована на понятті «відносини» (Relationship), вона найбільш поширена сьогодні.

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

Недоліками реляційної моделі:

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

Основними поняттями моделі є: тип даних, домен, атрибут, кортеж, первинний ключ і ставлення.

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

Під доменом розуміють безліч допустимих значень простого типу. Всі елементи домену відносяться до 1 типу даних і відповідають логічному умові. Елемент домену - число, символьний рядок, дата і т. Д.

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

Схемою відносини називають іменоване безліч пар (Ai, Di), i = 1, k, де Ai - ім'я атрибута, Di - ім'я домену, k - ранг відносини. Наприклад: Студенти ((ім'я, імена людей), (вік, числа від 17 до 59), (номер паспорта, цілі числа)) ранг = 3.

Схема реляційної бази даних являє собою сукупність схем відносин і містить наступні компоненти:
S = , де A - безліч атрибутів, D - безліч доменів, R - безліч імен відносин, Rel - безліч схем відносин, F - безліч обмежень.

Кортеж відносини - це безліч пар виду «ім'я атрибута, значення атрибута», причому кожен атрибут відносини один і тільки один раз входить в кортеж. # (Саша, 19, 222222) або (Катя, 20, 353 453) або (Настя, 18, 424 242)

Ставлення - це безліч кортежів, що відповідають одній схемі відносини. Елементами відносин є кортежі.
# R =

Фундаментальні властивості відносин:

  • Відносини не містять кортежів-дублікатів.
  • Кожне відношення має ключ (атрибут, набір атрибутів), значення якого однозначно ідентифікують кожен рядок таблиці відносини.
  • Порядок кортежів у відношенні не має значення.
  • Порядок атрибутів відношення не має значення, так як вони іменовані.
  • Значення всіх атрибутів є атомарними-неподільними, т. К. Домен за визначенням не може містити складних типів. У реляційних БД допускаються тільки нормалізовані відносини.

Для зв'язку між різними відносинами використовується поняття зовнішнього ключа. Зовнішнім ключем називається атрибут (сукупність атрибутів), який є ключем Ak в іншому відношенні R1 і його значення належать домену Dk відносини R2, тобто відношення, в якому визначено зовнішній ключ посилається на інше ставлення в якому такий же атрибут є первинним ключем.

Компоненти реляційної моделі даних (згідно Дейту модель складається з 3 частин)

  • опис структури даних,
  • опис операцій над даними (маніпуляційна частина)
  • опис обмежень цілісності БД. тобто умов правильності і несуперечності даних.

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

У моделі повинні виконуватися 2 базових умови цілісності:

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

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

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

  • Перша нормальна форма (1NF);
  • Друга нормальна форма (2NF);
  • Третя нормальна форма (3NF);
  • Нормальна форма Бойса - Кодда (BCNF);
  • Четверта нормальна форма (4NF);
  • П'ята нормальна форма, або форма проекції з'єднання (5NF або PJ / NF).

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

  • Кожна наступна NF покращує властивості попередньої;
  • При переході до наступної NF властивості попередніх NF зберігаються.

Дамо деякі визначення:

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

Повна функціональна залежність. Функціональна залежність y: x → y називається повною, якщо атрибут Y не залежить функціонально від будь-якого точного підмножини X

Транзитивная функціональна залежність. Функціональна залежність y: x → y називається транзитивної, якщо існує такий атрибут Z, що є функціональні залежності x → z і z → y (зворотна залежність відсутня).

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

Неключових атрибут - будь-який атрибут відносини, що не входить до складу первинного ключа.

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

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

нормалізація

Перша нормальна форма (1NF)

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

Зауваження: в реляційної моделі відношення завжди знаходиться в 1 (або вищою) нормальної формі в тому сенсі, що інші відносини не розглядаються в реляційної моделі. Тобто саме визначення поняття відношення свідомо має на увазі наявність 1NF.

Друга нормальна форма (2NF)

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

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

Таблиця знаходиться в третій нормальній формі (3NF), якщо вона знаходиться в другій нормальній формі 2NF і при цьому будь-який її неключових атрибут залежить тільки від первинного ключа (Primary key, PK) (інакше кажучи, один факт зберігається в одному місці).

Таким чином, ставлення знаходиться в 3NF тоді і тільки тоді, коли воно знаходиться у 2NF і відсутні транзитивні залежності неключових атрибутів від ключових. Транзитивної залежністю неключових атрибутів від ключових називається наступна: A → B і B → C, де A - набір ключових атрибутів (ключ), B і С - різні безлічі неключових атрибутів.

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

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

Це модифікація третьої нормальної форми (в деяких джерелах саме 3NF називається формою Бойса - Кодда).

Таблиця знаходиться в BCNF, якщо вона знаходиться в 3NF, і при цьому відсутні функціональні залежності атрибутів первинного ключа від неключових атрибутів. Таблиця може перебувати в 3NF, але не в BCNF, тільки в одному випадку: якщо вона має, крім первинного ключа, ще принаймні один можливий ключ. Всі залежні від первинного ключа атрибути повинні бути потенційними ключами відносини. Якщо ця умова не виконується, для них створюється окремий відношення. Щоб сутність відповідала BCNF, вона повинна перебувати в третій нормальній формі. Будь-яка сутність з єдиним можливим ключем, що відповідає вимогам третьої нормальної форми, автоматично знаходиться в BCNF.

Четверта нормальна форма (4NF)

Таблиця знаходиться в 4NF, якщо вона знаходиться в BCNF і не містить нетривіальних багатозначних залежностей. Багатозначна залежність не є функціональною, вона існує в тому випадку, коли з факту, що в таблиці міститься деяка рядок X, слід, що в таблиці обов'язково існує деяка певна рядок Y. Тобто, таблиця знаходиться в 4NF, якщо всі її багатозначні залежності є функціональними.

П'ята нормальна форма (5NF)

Таблиця знаходиться в 5NF, якщо вона знаходиться в 4NF і будь-яка багатозначна залежність з'єднання в ній є тривіальною. П'ята нормальна форма в більшій мірі є теоретичним дослідженням і практично не застосовується при реальному проектуванні баз даних. Це пов'язано зі складністю визначення самого наявності залежностей «проекції - з'єднання», оскільки твердження про наявність такої залежності має бути зроблено для всіх можливих станів БД.

Доменно-ключова нормальна форма (DKNF)

Шоста нормальна форма (6NF)

Таблиця знаходиться в 6NF, якщо вона знаходиться в 5NF і задовольняє вимогу відсутності нетривіальних залежностей. Найчастіше 6NF ототожнюють з DKNF.