Основні поняття реляційної моделі даних
Реляційна модель даних
План.
1. Вступ.
2. Основні поняття реляційної моделі даних.
3. Структура даних реляційної моделі
4. Структурна частина бази даних. Види відношень
5. Реляційна цілісність даних.
6. Індексування
Реляційна модель в даний час домінує на ринку баз даних. Основу цієї моделі складає набір взаємозв'язаних таблиць, в яких зберігаються дані.
Основні теоретичні ідеї реляційної моделі були викладені в роботах по теорії відношень американського логіка Чарльза Содерса Пірсу (1839—1914) і німецького логіка Эрнста Шредера (1841 —1902), а також американського математика Едгара Кодда. У роботах Пірсу і Шредера було доведено, що множина відношень замкнута щодо деяких спеціальних операцій, спільно створюючих абстрактну алгебру. Надалі це найважливіша властивість відношень була використана в реляційній моделі для розробки мови маніпулювання даними. У 1970 році з'явилася стаття Едгара Кодда про представлення даних, організованих у вигляді двовимірних таблиць, званих відношеннями (Codd E. F., "A relational model for large shared data banks", Comm. ACM, 13:6, pp. 377—387). У цій роботі вперше введені основні поняття і обмеження реляційної моделі як основи зберігання даних, а також показана можливість обробки даних за допомогою традиційних операцій над множинами і спеціальних введених реляційних операцій.
Реляційна модель або її основи широко використовуються при створенні різних баз даних. Представлення даних в виді множинної сукупності таблиць дозволило уникнути багатьох недоліків ранніх СУБД і створити системи із спрощеним інтерфейсним управлінням. В даний час багато серверів баз даних засновано на принципах роботи, пов'язаних з реляційною моделлю. У зв'язку з цим слід детально розглянути основні положення реляційної моделі даних.
Основні поняття реляційної моделі даних
Основні об'єкти реляційної моделі даних перераховані в табл. 2.1.
Таблиця 2.1. Елементи реляційної моделі
Реляційний термін | Опис | ||
База даних | Набір таблиць і інших об'єктів, необхідних для абстрактного представлення частини реального світу (вирішуваної задачі) | ||
Схема бази даних | Набір заголовків таблиць, взаємозв'язаних один з одним | ||
Відношення | Таблиця — сукупність об'єктів реального світу, які характеризуються загальними властивостями і характеристиками (поля таблиці) | ||
Заголовок відношення | Заголовок таблиці — назви полів (стовпців) таблиці | ||
Тіло відношення | Тіло таблиці — сукупність значень для всіх об'єктів реального світу, яка представляється у вигляді записів таблиці (рядки таблиці) | ||
Схема відношення | Рядок заголовків стовпців таблиці (заголовок таблиці) | ||
Атрибут відношення | Найменування стовпця таблиці (поле таблиці) | ||
Кортеж відношення | Рядок таблиці (запис) — однозначне представлення об'єкту реального миру, створене з використанням значень полів таблиці | ||
Домен | Множина допустимих значень атрибуту | ||
Значення атрибуту | Значення поля в запису | ||
Первинний ключ | Один або декілька атрибутів, який унікальним (єдиним) чином визначає значення кортежу (значення рядка таблиці) | ||
Зовнішній ключ | Атрибут таблиці, значення якого відповідають значенням первинного ключа в іншій зв'язаній таблиці. Зовнішній ключ може складатися як з одного, так і з декількох атрибутів (складений зовнішній ключ). Якщо число атрибутів зовнішнього ключа менше, ніж кількість атрибутів відповідного первинного ключа, то він називається усіченим (частковим) зовнішнім ключем | ||
Ступінь (арність) | Кількість стовпців таблиці відношення | ||
Потужність відношення | Кількість рядків таблиці (кількість кортежів) | ||
Тип даних | Тип значень елементів таблиці | ||
Базове відношення | Відношення, яке містить один або декілька стовпців, що характеризують властивості об'єкту, а також первинний ключ | ||
Похідне відношення | Не є базовим відношенням, тобто не характеризує властивості об'єкту і використовується для забезпечення зв'язків між іншими таблицями, може не містити первинного ключа; якщо первинний ключ заданий, то він складається із зовнішніх ключів, які пов'язані з первинними ключами базового відношення | ||
Зв'язок | Встановлює взаємозв'язок між співпадаючими значеннями в ключових полях — первинним ключем однієї таблиці і зовнішнім ключем іншої таблиці | ||
Зв'язок "один-до-одного" | При використанні такого виду зв'язку запис в одній таблиці може мати не більш за один зв'язаний запис в іншій таблиці. Даний зв'язок використовується для розділення достатньо широких таблиць, або на вимогу захисту. У обох таблицях ключові поля повинні бути первинними | ||
Зв'язок "один-до-багатьох" | При використанні зв'язку "один-ко-многим" кожного запису першої таблиці може відповідати декілька записів другої таблиці, а кожному запису другої таблиці може відповідати лише один запис першої таблиці. У першій таблиці обов'язково повинен бути заданий первинний ключ, в другій — зовнішній | ||
Зв'язок "багато-до- багато " | При даному типі зв'язку одного запису в першій таблиці може відповідати декілька записів другої таблиці і навпаки. Унікальність ключів для таких таблиць не потрібна. Як правило, для дозволу таких зв'язків необхідно ввести похідне відношення і замінити такий зв'язок двома зв'язками "один-ко-многим", внаслідок чого з'являється додаткове похідне відношення | ||
У реляційній моделі розглядаються наступні аспекти, що стосуються даних:
□ структура даних;
□ цілісність даних;
□ обробка даних.
Об'єктами в основному є таблиці (відношення), цілісність забезпечується зовнішніми і первинними ключами, оператори — це набір інструкцій, які забезпечують вибірку і маніпуляцію над даними (наприклад, оператор RESTRICT, JOIN і т.д.).