Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
теория БД 2013.doc
Скачиваний:
0
Добавлен:
03.01.2020
Размер:
1.09 Mб
Скачать

Розділ 3. Реляційні бази даних

Тема 3.1. Реляційна структура даних.

У науковій літературі, присвяченій реляційним базам даних, на означення того, що було названо вище реляцією або таблицею, часто за­стосовується термін відношення. Кожен із цих термінів має свої переваги й недоліки. Терміном «відношення» у математичній теорії відношень позначається дещо ін­ше поняття і тому тлумачення цього терміну в контексті теорії баз даних є неод­нозначним. Недолік терміну «реляція» полягає в його недавньому іншомовному походженні. Слово «таблиця» часто вживається в різних значеннях і має більш прикладний наголос. Тому для теоретичних розглядів будемо вживати термін «ре­ляційне відношення», а в прикладах — «відношення» або «таблиця».

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

Реляційне відношення у реляційній моделі даних зображується через схему й екземпляр відношення. Схема записується у вигляді або просто якщо зв'язок атри­бутів з доменами відомий апріорі.

Сукупність схем реляційних відношень називають схемою бази даних, або реляційною схемою.

Схема реляційного відношення має такі властивості:

  • реляційне відношення має ім'я;

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

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

П риклад схеми реляційного відношення: ВИКЛАДАЧ(#Ід, ПІБ. Адреса). Тут ВИКЛА­ДАЧ - це ім'я реляційного відношення, а #Ід, ПІБ, Адреса - імена його атрибутів.

Екземпляр реляційного відношення — це його наповнення. Точніше, екземпляр є множиною кортежів, а кортеж — це множина значень Екземпляр відношення має такі властивості:

  • порядок кортежів довільний;

  • кортежі, як елементи множини, мають бути унікальними в межах реляційного відношення.

Реляційне відношення може бути зображене у вигляді таблиці.

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

Відповідність термінів, що вживаються під час розгляду реляційних відно­шень та їхніх табличних зображень, вказана в табл. 3.1.

Таблиця 3.1. Відповідність термінів, що вживаються під час розгляду реляційних відношень та їхніх табличних зображень

Формальний термін

Неформальний еквівалент

Відношення

Таблиця

Кортеж

Рядок, запис

Кардинальність

Кількість рядків

Атрибут

Стовпець, поле

Степінь

Кількість стовпців

Первинний ключ

Ідентифікатор

Домен

Область допустимих значень

Поняття ключа

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

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

Ключ називається простим, якщо складається з од­ного атрибута (#Ід), і складеним — якщо з кількох атрибутів, наприклад (ПІБ, Ад­реса). Ключ називають надлишковим, якщо певна його підмножина також є клю­чем. Наприклад, ключ (#Ід, ПІБ, Адреса) є надлишковим тому, що містить атри­бут #Ід, який також є ключем. Ключ, що не є надлишковим, називають мінімаль­ним. Іноді надлишковий ключ називають суперключем, а мінімальний — можли­вим ключем. Реляційне відношення може мати багато можливих ключів, але тіль­ки один із них є первинним.

Первинний ключ має такі властивості:

  • кожне реляційне відношення має один і лише один первинний ключ;

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

  • значення первинного ключа не можуть повторюватися, але допускаються по­вторення значень частини складеного первинного ключа;

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

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

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

Зовнішні ключі мають такі властивості:

  • значення зовнішнього ключа завжди посилається на певне значення відповід­ного первинного ключа, тобто будь-яке значення зовнішнього ключа має бути значенням первинного ключа іншого відношення;

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

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