Базові поняття реляційної моделі даних

Базові поняття реляційної моделі даних


Зміст
  1. Які є базові поняття реляційної моделі даних?
  2. Що включає в себе поняття “тип даних”?
  3. Які типи даних підтримуються системами керування базами даних?
  4. Домени в реляційній моделі даних
  5. Атрибути в реляційній моделі даних
  6. Що таке схема відношення? Що таке схема бази даних?
  7. Що таке ступінь відношення?
  8. Що таке кортеж в базах даних?
  9. Що називається кардинальним числом або потужністю відношення?
  10. Що собою являє пусте значення (NULL) в базі даних?
  11. Що таке ключі відношення? Що таке первинний ключ?
  12. Що таке простий і складений (складний) ключі в реляційних базах даних?
  13. Що таке штучний (сурогатний) ключ в реляційній базі даних?
  14. Що таке природній ключ?
  15. Які переваги та недоліки використання природних ключів?


1. Які є базові поняття реляційної моделі даних?

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

Реляційна модель даних використовує такі основні поняття:

  • тип даних;
  • домен;
  • атрибут;
  • схема відношення;
  • кортеж;
  • ключ.

 

2. Що включає в себе поняття “тип даних”?

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

В системах керування базами даних тип даних має таке саме значення як і мовах програмування.

Приклад. Нехай задано таблицю Worker, що описує дані про працівника підприємства.

Ідентиф. код Прізвище та ініціали Домашня адреса

Дата народження

Стать Розряд
2931123455 Петренко П.П. м. Київ, вул. Миру 26 12.06.1897 Ч 3
3425526651 Зінченко А.Ф. м. Львів, вул. Зелена 339 11.03.1998 Ч 4
2765165253 Сидоров С.С. м. Харків, вул. Гагаріна 33 18.02.1987 Ч 2
3293847890 Ахметова М.Б. м. Київ, вул. Лісова 12 А 10.08.1937 Ж 3
2298489472 Ковач С.С. м. Ужгород, вул. Сніжна 28 12.06.1990 Ж 4
234802998 Мамонтов М.М. м. Тернопіль, вул. Міжнародна 5 11.02.1993 Ч 5

У вищенаведеній таблиці доцільно встановити наступний тип даних для кожного поля:

  • поле “Ідентифікаційний код” – рядок символів (рядковий тип). Код представляє собою число з 10 символів, тому краще представити його у вигляді рядка. Однак, за бажанням, можна представити його як довге ціле число;
  • “Прізвище та ініціали” – рядковий тип даних;
  • “Домашня адреса” – рядковий тип даних;
  • “Дата народження” – тип даних “Дата/Час” (Date/Time);
  • “Стать” – логічний тип (True – жінка, False – чоловік);
  • “Розряд” – ціле число (цілочисельний тип).

 

3. Які типи даних підтримуються системами керування базами даних?

Сучасні СКБД підтримують такі основні типи даних:

  • цілочисельні;
  • дійсні або з плаваючою комою;
  • рядкові;
  • типи даних, що описують дату й час;
  • спеціалізовані типи даних, що описують грошові величини;
  • типи даних, що описують складні двійкові об’єкти (Binary Large Object).

 

4. Домени в реляційній моделі даних

Домен – це множина окремих допустимих значень даних, які:

  • є неподільними (атомарними) для даної моделі;
  • мають однаковий тип.

Приклад. Нехай дано таблицю Worker, що описує дані про працівника.

Ідентиф. код Прізвище та ініціали Домашня адреса

Дата народження

Стать

Розряд (1…6)

2931123455 Петренко П.П. м. Київ, вул. Миру 26 12.06.1897 Ч 3
3425526651 Зінченко А.Ф. м. Львів, вул. Зелена 339 11.03.1998 Ч 4
2765165253 Сидоров С.С. м. Харків, вул. Гагаріна 33 18.02.1987 Ч 2
3293847890 Ахметова М.Б. м. Київ, вул. Лісова 12 А 10.08.1937 Ж 3
2298489472 Ковач С.С. м. Ужгород, вул. Сніжна 28 12.06.1990 Ж 4
2348029982 Мамонтов М.М. м. Тернопіль, вул. Міжнародна 5 11.02.1993 Ч 5
2243546525 Кравченко А.О. м. Київ, вул. Хрещатик 1 01.01.2001 Ч 6

В домені “Ідентифікаційний код” допустимими є рядки цифр, що мають строго 10 розрядів. В домені “Стать” можливі тільки 2 значення. В домені “Розряд” можуть бути цілочисельні значення від 1 до 6.

 

5. Атрибути в реляційній моделі даних

Атрибути – це стовпці таблиці (поля таблиці). Атрибути мають імена. За іменем атрибуту здійснюється звертання до таблиці.

Приклад. В таблиці Worker (див. п. 4) назви атрибутів такі:

  • Ідентифікаційний_код;
  • Прізвище та ініціали;
  • Домашня адреса;
  • Дата народження;
  • Стать;
  • Розряд.

 

6. Що таке схема відношення? Що таке схема бази даних?

Схема відношення – це список імен атрибутів відношення з вказанням імен типів.

Приклад. Для таблиці Worker схема відношення буде приблизно такою:

WORKER { [Ідентиф_код] char(10),
         [Прізвище_та_ініціали] char(20),
         [Домашня_адреса] char(100),
         [Дата_народження] DateTime,
         [Стать] bool,
         [Розряд] int }

Множина схем відношення, що мають ім’я називається схемою бази даних.

 

7. Що таке ступінь відношення?

Кількість атрибутів у таблиці називається ступенем відношення. Для прикладу (див. п. 4) таблиці Worker ступінь відношення рівна 6 (таблиця має 6 полів).

Унарне відношення – це відношення ступеню один. Бінарне відношення – це відношення ступеню два. Тернарне відношення – це відношення ступеню три. n-арне відношення – це відношення ступеню n.

 

8. Що таке кортеж в базах даних?

Кортеж розглядається для конкретної (даної) схеми відношення. В такій схемі кортеж є множина пар типу:

{ ім’я_атрибуту, значення }

де ім’я_атрибуту – ім’я конкретного атрибуту.

Наприклад. Нехай задано таблицю Worker з такими даними

Ідентиф. код Прізвище та ініціали Домашня адреса

Дата народження

Стать

Розряд

(1…6)

2931123455 Петренко П.П. м. Київ, вул. Миру 26 12.06.1897 Ч 3
3425526651 Зінченко А.Ф. м. Львів, вул. Зелена 339 11.03.1998 Ч 4
2765165253 Сидоров С.С. м. Харків, вул. Гагаріна 33 18.02.1987 Ч 2
3293847890 Ахметова М.Б. м. Київ, вул. Лісова 12 А 10.08.1937 Ж 3
2298489472 Ковач С.С. м. Ужгород, вул. Сніжна 28 12.06.1990 Ж 4
2348029982 Мамонтов М.М. м. Тернопіль, вул. Міжнародна 5 11.02.1993 Ч 5
2243546525 Кравченко А.О. м. Київ, вул. Хрещатик 1 01.01.2001 Ч 6

Схема відношення для даної таблиці буде наступна:

WORKER { [Ідентиф_код] char(10),
         [Прізвище_та_ініціали] char(20),
         [Домашня_адреса] char(100),
         [Дата_народження] DateTime,
         [Стать] bool,
         [Розряд] int }

Тоді кортеж, що відповідає першому рядку таблиці Worker буде мати вигляд:

{ [Ідентиф_код], '2931123455' }
{ [Прізвище_та_ініціали], 'Петренко П.П.' }
{ [Домашня_адреса], 'м.Київ, вул. Миру 26' }
{ [Дата_народження], '12.06.1897' }
{ [Стать], False }
{ [Розряд], 3 }

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

 

9. Що називається кардинальним числом або потужністю відношення?

Кардинальне число – це кількість кортежів. У таблиці Worker (див. п. 8) кардинальне число рівне 7. Кардинальне число ще називають потужність відношення.

 

10. Що собою являє пусте значення (NULL) в базі даних?

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

Слід зауважити, що значення NULL не є нулем і не є пустим рядком.

Наприклад. У таблиці Worker (п. 8) можлива ситуація, коли працівник ще не має розряду. У цьому випадку в відповідній комірці потрібно ввести значення NULL. Як тільки працівнику буде присвоєно деякий розряд значення NULL буде замінене цим новим значенням.

 

11. Що таке ключі відношення? Що таке первинний ключ?

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

Первинний ключ – це спеціальне додаткове поле (атрибут) таблиці, яке створюється для забезпечення унікальності ідентифікації записів таблиці. Основна мета створення первинного ключа – запобігти дублюванню (повторенню) записів таблиці.

Наприклад. Нехай дано таблицю Worker (див. п.8). Щоб не повторювались записи, в цій таблиці може бути створене додаткове поле (атрибут) з іменем, наприклад, ID_Worker. Тип цього поля може бути вибраний як лічильник (counter), який автоматично збільшується при додаванні нового запису в таблицю.

 

12. Що таке простий і складений (складний) ключі в реляційних базах даних?

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

Приклад. Нехай дано таблицю Student, що містить дані про студента. Таблиця містить такі поля:

Назва поля Тип Опис
ID_Student Ціле число, int Унікальний ідентифікатор поля, лічильник, первинний ключ, простий ключ
Num_book Ціле число, int Номер залікової
Name Рядок з 100 символів, 

char(100)

Прізвище та ім’я студента
Course Ціле число, int Курс, на якому навчається студент

У цій таблиці поле ID_Student є первинним ключем, яке забезпечує унікальність. Це поле є лічильником. При додаванні нового студента в таблицю, значення лічильника збільшується на деяке число, як правило на 1. Якщо видалити студента з таблиці, значення лічильнике вже не зменшується. Таким чином забезпечується унікальне число, що відповідає даному студенту.

У таблиці Student складеним ключем може бути комбінація полів (атрибутів) ID_Student та Num_book (номер залікової). Однак, у даній таблиці така комбінація не має сенсу, оскільки поле ID_Student і без того забезпечує унікальність.

 

13. Що таке штучний (сурогатний) ключ в реляційній базі даних?

Штучний ключ створюється самою СКБД або користувачем. Цей ключ не містить ніякої інформації. Штучний ключ використовується для створення унікальних ідентифікаторів рядків. Створення ідентифікатору рядка здійснюється таким чином, що сутність рядка описується повністю. Такий метод дозволяє однозначно ідентифікувати конкретний елемент (значення).

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

 

14. Що таке природній ключ?

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

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

Приклад 1. В таблиці Worker (див. п.8) поле “Ідентифікаційний код” є унікальним, тому що не може бути двох людей з однаковим ідентифікаційним кодом. Це поле і є природнім ключем.

Приклад 2. В таблиці Student поле “№ залікової” є унікальним за своєю природою. Не може бути двох студентів з однаковим номером залікової.

 

15. Які переваги та недоліки використання природних ключів?

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

Основні недоліки природних ключів:

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

Схожі теми