Якщо припустити, що реляційна база даних – це просто база даних, в якій дані зберігаються у вигляді таблиць, тоді виникає питання, чому ми називаємо таку базу реляційною, а не табличною? Відповідь проста (вона вже колись звучала) – relation (відношення) це математична назва таблиці. Наприклад, можна сказати, що база даних робітників і відділів містить два відношення.
У даний час у неформальному контексті терміни відношення та таблиця вважаються синонімами. На практиці термін таблиця використовується частіше, ніж термін відношення.
Типи – це об¢єкти (множини об¢єктів), які можна обговорювати. Відношення – це факти (множини фактів), відносно об¢єктів, які можна обговорювати.
З концептуальної точки зору операції з представленнями фактично реалізуються через заміну посилання на ім¢я представлення, виразом,який визначає представлення (тобто виразом, збереженим у каталозі). Тому можна стверджувати, що базові змінні-відношення існують незалежно, а представлення – ні, оскільки залежать від базових змінних-відношень.
5. Основні поняття реляційної моделі даних. Тип даних, домен, кортеж, атрибут, кардинальність, степінь відношення. Схема відношення та бази даних
Найбільш поширена трактовка реляційної моделі даних належить Дейту. Згідно ньому реляційна модель характеризується трьома частинами, що описують різні аспекти реляційного підходу: Єдиною структурою даних, що використовується в реляційних БД; механізмами маніпулювання даними та цілісністю сутностей та посилань.
Реліційна модель складається з п¢яти компонентів:
1. Необмежений набір скалярних типів (включаючи, зокрема, логічний тип або значення істини);
2. Генератор типів відношень і відповідна інтерпретація для таких згенерованих типів відношень.
3. Можливість визначення змінних відношень для таких згенерованих типів відношень.
4. Операція реляційного присвоєння для присвоєння реляційних значень таким змінним відношенням;
5. Необмежений набір реляційних операторів для одержання значень відношень з інших значень відношень.
Основними термінами тут є: відношення, домен, атрибут, кортеж, первинний ключ, кардинальність, ступінь.
Формальний реляційний термін | Неформальний еквівалент |
Відношення | Таблиця |
Кортеж | Рядок або запис |
Кардинальність | Кількість рядків |
Атрибут | Стовпчик або поле |
Степень | К-ть стовпчиків |
Первинний ключ | Унікальний ідентифікатор |
Домен | Сукупність допустимих значень |
Поняття типу даних в реляційній моделі даних повністю адекватно поняттю типа даних у мовах програмування. Кожне значення даних обов¢язково повинно мати свій тип.
Поняття домена більш специфічне для баз даних, хоча і має деякі аналогії з підтипами в деяких мовах програмування. Це дещо відмінне від типу даних, що визначаються системою, подібно наведеним. Основне призначення доменів у мові SQL – дозволити надавати (присвоїти) вбудованим типам скорочених імен, які можна було б використовувати для спрощеного запису визначення деяких стовпців у базових таблицях, наприклад таким чином:
CREATE DOMAIN S# CHAR(5);
CREATE DOMAIN P# CHAR(6):
Кортеж - це множина пар {ім’я атрибуту, значення}, яка містить одне входження кожного імені атрибуту, що належить схемі відношень. "Значення" є допустимим значенням домена даного атрибута (або типу даних, якщо поняття домена не підтримується). Тому, тут t – множина компонентів виду Аі:nі, в яких nі – значення типу Ті, тобто значення атрибуту для атрибуту Аі в кортежі t (i=1, 2,…n).
Значення m та n називають відповідно кардинальністю та ступінню (арністю). У подальшому відношення степені 1 називатимемо унарним, 2 – бінарним, 3 – тернарним, n- n-арним. Тим самим, ступінь або "арність" кортежа, тобто число елементів у ньому, співпадає з "арністю" відповідної схеми відношень. Простіше кажучи, кортеж - це набір іменованих значень одного типу (рядок у відношенні). Набір кортежі складає тіло відношення.
Оскільки відношення є множинами кортежів, в них не повинні зустрічатися однакові кортежі і порядок кортежів у відношенні є несуттєвим.
Схема відношення - це іменована множина пар ім’я атрибута, ім’я домена (або типу, якщо поняття домена не підтримується). Ступінь, або "арність" схеми відношення - потужність цієї множини. Якщо всі атрибути одного відношення визначені на різних доменах, доцільно використовувати для іменування атрибутів імена відповідних доменів (пам’ятаючи при цьому, що це є лише зручним засобом іменування і не усуває різниці між поняттями домена і атрибута).
Схема БД (в структурному розумінні) - це набір іменованих схем відношень. Сукупність схем відношень називається схемою (реляционною) БД, а поточні значення відповідних відношень - (реляційною) БД.
6. Властивості відношень
Відношення мають певні властивості, причому всі вони дуже важливі і випливають з визначення відношення. Спочатку перерахуємо ці властивості:
· у відношеннях немає однакових кортежів;
· кортежі відношення не мають впорядкованості у напрямку знизу вверх;
· атрибути в кортежах не впорядковані зліва направо;
· кожен кортеж містить одне значення для кожного атрибуту.
Властивість 1. Відсутність однакових кортежів.
Дана властивість випливає з того факту, що тіло відношення – це математична МНОЖИНА (кортежів), а в математиці множини за визначенням не містять однакових елементів. Дійсно, поняття „однакові кортежі” немає змісту. Припустимо, що в деякому відношенні є кортеж, який відображає той істинний факт, що постачальник з номером С1 знаходиться в місті Лондон. Далі, якщо у відношенні є другий такий кортеж, він також відображатиме цей самий істинний факт. Проте, якщо істинний факт повторюється двічі, більш істинним він від цього не стане.
Властивість 2. Відсутність впорядкованих кортежів (зверху вниз).
Дана властивість так само випливає з того, що тіло відношення - це математична множина, а прості математичні множини у математиці не впорядковані. Наприклад, кортежі могли б розташовуватися у протилежному порядку, проте відношення залишилося тим самим. Тому у відношенні немає 5-, 97-, або 1-го кортежу, тобто немає поняття позиціонованої адресації.
Властивість 3. Відсутність впорядкування атрибутів (зліва направо).
Дана властивість випливає з того факту, що заголовок відношення також визначено як множина (атрибутів). Наприклад, атрибути відношення С могли би бути представлені, в іншому порядку. Це було б таке саме відношення, принаймні з точки зору реляційної моделі. Тому не існує першого або останнього атрибуту, не існує останнього атрибуту. Іншими словами, атрибут завжди визначається за іменем, а не за розташуванням.
Властивість 4 Кожен кортеж містить рівно одне значення для кожного атрибуту.
Остання властивість випливає безпосередньо з визначення кортежу: кортеж є множиною n впорядкованих пар виду Ai:nI (i=1,2,…n). Відношення, що задовольняє цій властивості називається нормалізованим або представленим у першій нормальній формі (1НФ).
Модель даних описує деякий набір родових понять і ознак, якими повинні володіти всі конкретні СКБД і БД, що ними керуються якщо вони базуються на цій моделі. Наявність моделі даних дозволяє порівнювати конкретні реалізації, використовуючи одну спільну мову.
Згідно з найбільш поширеною трактовкою, реляційна модель даних складається з трьох частин, які описують різні аспекти реляційного підходу: структурної частин, маніпуляційної частини і цілісної частини.
7. Цілісність бази даних. Первинний та зовнішній ключ
Значення кортежу t на атрибуті А називають t (А) або, іншими словами, А - значення кортежу t . Серед атрибутів схеми відношення можна вибрати таку підмножину атрибутів К Ì R, що для будь-якого ti (K) буде виконуватися
ti (K) ¹tj (K),
при i¹j. Якщо К - мінімальна підмножина атрибутів з R , то К - ключ відношення. Відношення може мати не єдиний ключ. Ці ключі називають можливими ключами. Множина ключів, обраних з усіх можливих ключів і певним визначеним способом перерахованих, називають виділеними ключами. Один з виділених ключів відношення обирають в якості первинного.
Кінцеві відносини можуть мати різні ключі залежно від значень і кількості кортежів у відношенні, але при цьому схема відносини не міняється. Поняття ключа задається для схеми відносини, але це необхідно робити з обліком всіх можливих станів відносин з даною схемою. Маніпулювання зв'язками й сутностями може бути реалізоване за допомогою реляційної алгебри, що задає операції над відносинами.
У цілісній частині реляційної моделі даних фіксуються дві базових вимоги цілісності, які повинні підтримуватися в будь-який реляційній СУБД. Перша вимога називається вимогою цілісності сутностей. Об'єкту або сутності реального миру в реляційних БД відповідають кортежі відносин. Конкретна вимога полягає в тому, що будь-який кортеж будь-якого відношення повинен бути відрізнимо від будь-якого іншого кортежу цього відношення, тобто інакше кажучи, будь-яке відношення повинне мати первинний ключ. Друга вимога називається вимогою цілісності по посиланнях і є трохи більше складним. Очевидно, що при дотриманні нормалізованості відносин складні сутності реального миру представляються в реляційної БД у вигляді декількох кортежів декількох відносин. Обмеження цілісності сутності й по посиланнях повинні підтримуватися СУБД. Для дотримання цілісності сутності досить гарантувати відсутність у будь-якім відношенні кортежів з тим самим значенням первинного ключа. Із цілісністю по посиланнях справи йдуть трохи більш складно. Зрозуміло, що при відновленні відношення, що посилається (вставці нових кортежів або модифікації значення зовнішнього ключа в існуючих кортежах) досить стежити за тим, щоб не з'являлися некоректні значення зовнішнього ключа.