
- •Розділ 1. Системи баз даних
- •Тема 1.1. Основні поняття баз даних
- •Основні характеристики субд
- •Можливості субд
- •Основні компоненти середовища скбд
- •Тема 1.2. Архітектура баз даних
- •Тема 1.3. Функції систем керування базами даних
- •Розділ 2. Моделі даних
- •Тема 2.1. Поняття про моделювання даних
- •Тема 2.2. Ієрархічна модель даних
- •Тема 2.3. Мережна модель даних
- •Тема 2.4. Реляційна модель даних. Вимоги до реляційної моделі.
- •Розділ 3. Реляційні бази даних
- •Тема 3.1. Реляційна структура даних.
- •Типи зв’язків між таблицями
- •Тема 3.2. Реляційна алгебра
- •Тема 3.3. Нормалізація відносин
- •1. Перша нормальна форма
- •2. Друга нормальна форма
- •3. Третя нормальна форма
- •Тема 3.4. Цілісність даних
- •Розділ 4. Проектування баз даних
- •Тема 4.1. Методологія проектування бази даних
- •Тема 4.2. Етапи проектування бази даних
- •Тема 4.3. Er-моделювання предметної області
- •Тема 4.4. Проектування реляційної бази даних.
Розділ 3. Реляційні бази даних
Тема 3.1. Реляційна структура даних.
У науковій літературі, присвяченій реляційним базам даних, на означення того, що було названо вище реляцією або таблицею, часто застосовується термін відношення. Кожен із цих термінів має свої переваги й недоліки. Терміном «відношення» у математичній теорії відношень позначається дещо інше поняття і тому тлумачення цього терміну в контексті теорії баз даних є неоднозначним. Недолік терміну «реляція» полягає в його недавньому іншомовному походженні. Слово «таблиця» часто вживається в різних значеннях і має більш прикладний наголос. Тому для теоретичних розглядів будемо вживати термін «реляційне відношення», а в прикладах — «відношення» або «таблиця».
Розглянемо приклад. Таблиця розкладу руху потягів чи літаків, умовно кажучи, складається з двох частин: наповнення та опису структури таблиці. Наповнення — це ті номери рейсів потягів чи літаків та час їхнього відправлення, що занесені у відповідні клітинки таблиці й періодично змінюються, а структура таблиці описується заголовками стовпців. Згідно з термінологією баз даних і реляційного підходу, наповнення таблиць називають даними. Інколи буває так, що таблиця розкладу містить лише порожні стовпці. Такий об'єкт фахівець з баз даних міг би назвати схемою.
Реляційне
відношення
у
реляційній моделі даних
зображується через схему й екземпляр
відношення. Схема записується у
вигляді
або
просто
якщо
зв'язок атрибутів
з доменами відомий апріорі.
Сукупність схем реляційних відношень називають схемою бази даних, або реляційною схемою.
Схема реляційного відношення має такі властивості:
реляційне відношення має ім'я;
імена атрибутів у межах схеми одного реляційного відношення мають бути унікальними;
порядок атрибутів у схемі реляційного відношення не є суттєвим, оскільки звернення до атрибута здійснюється за його іменем, а не за номером.
П
риклад
схеми реляційного відношення: ВИКЛАДАЧ(#Ід,
ПІБ.
Адреса). Тут ВИКЛАДАЧ
- це ім'я реляційного відношення, а #Ід,
ПІБ, Адреса - імена його атрибутів.
Екземпляр реляційного відношення — це його наповнення. Точніше, екземпляр є множиною кортежів, а кортеж — це множина значень Екземпляр відношення має такі властивості:
порядок кортежів довільний;
кортежі, як елементи множини, мають бути унікальними в межах реляційного відношення.
Реляційне відношення може бути зображене у вигляді таблиці.
Таблиця — це пойменоване двовимірне зображення відношення; вона складається з одного чи більше пойменованих стовпців і нуля або більше рядків. Назва таблиці відповідає імені реляційного відношення, імена стовпців — іменам атрибутів, а рядки — кортежам.
Відповідність термінів, що вживаються під час розгляду реляційних відношень та їхніх табличних зображень, вказана в табл. 3.1.
Таблиця 3.1. Відповідність термінів, що вживаються під час розгляду реляційних відношень та їхніх табличних зображень |
||
Формальний термін |
Неформальний еквівалент |
|
Відношення |
Таблиця |
|
Кортеж |
Рядок, запис |
|
Кардинальність |
Кількість рядків |
|
Атрибут |
Стовпець, поле |
|
Степінь |
Кількість стовпців |
|
Первинний ключ |
Ідентифікатор |
|
Домен |
Область допустимих значень |
|
Поняття ключа
У будь-якому реляційному відношенні можна виділити таку множину атрибутів, що набори відповідних їм значень однозначно ідентифікуватимуть кортежі відношення. Це випливає з того, що відношення є різновидом множини, а отже, не може містити кортежів, які повторюються, відтак — уся множина атрибутів реляційного відношення унікально ідентифікує кортежі. Множина атрибутів, що однозначно ідентифікують кортежі реляційного відношення, називається ключем.
Принцип роботи зв’язків полягає в зіставленні даних у полях ключів — часто такі поля мають однакові імена в обох таблицях. У більшості випадків поля, що збігаються — це первинний ключ однієї таблиці, який створює унікальний ідентифікатор для кожного запису, і зовнішній ключ іншої таблиці.
Ключ називається простим, якщо складається з одного атрибута (#Ід), і складеним — якщо з кількох атрибутів, наприклад (ПІБ, Адреса). Ключ називають надлишковим, якщо певна його підмножина також є ключем. Наприклад, ключ (#Ід, ПІБ, Адреса) є надлишковим тому, що містить атрибут #Ід, який також є ключем. Ключ, що не є надлишковим, називають мінімальним. Іноді надлишковий ключ називають суперключем, а мінімальний — можливим ключем. Реляційне відношення може мати багато можливих ключів, але тільки один із них є первинним.
Первинний ключ має такі властивості:
кожне реляційне відношення має один і лише один первинний ключ;
значення всіх атрибутів первинного ключа не можуть бути невизначеними, оскільки він має унікально ідентифікувати всі кортежі будь-якого екземпляра реляційного відношення;
значення первинного ключа не можуть повторюватися, але допускаються повторення значень частини складеного первинного ключа;
апріорі значення первинного ключа не впливають на порядок кортежів у табличному зображенні реляційного відношення, хоча інколи таблиці впорядковують за ключем;
первинний ключ не впливає на доступ до кортежів, який може бути здійснено за значенням будь-якого атрибута чи набору атрибутів незалежно від того, чи є він первинним ключем.
Якщо розглядається певне реляційне відношення, то сукупність атрибутів, що є первинним ключем іншого реляційного відношення, називається зовнішнім (стороннім) ключем. За допомогою зовнішніх ключів у реляційній моделі встановлюються зв'язки між реляційними відношеннями (точніше, між їхніми кортежами).
Зовнішні ключі мають такі властивості:
значення зовнішнього ключа завжди посилається на певне значення відповідного первинного ключа, тобто будь-яке значення зовнішнього ключа має бути значенням первинного ключа іншого відношення;
значення зовнішнього ключа, на відміну від значень первинного ключа, можуть бути невизначеними й повторюватися в межах реляційного відношення.
Саме завдяки рівності значень, що відповідають цим двом атрибутам, встановлюється зв'язок між кортежами різних реляційних відношень.