Первая страница
Наша команда
Контакты
О нас

    Головна сторінка



Конспект лекцій зміст модуль №1 «Основні поняття систем баз даних. Реляційна модель даних» 2

Конспект лекцій зміст модуль №1 «Основні поняття систем баз даних. Реляційна модель даних» 2




Сторінка3/7
Дата конвертації18.05.2017
Розмір0.69 Mb.
1   2   3   4   5   6   7

1.3 Підхід Кодда. Основні властивості та види відношень. Правила цілісності для реляційної моделі. Реляційна алгебра і реляційне числення

На сьогоднішній день майже всі сучасні СКБД підтримують реляційну модель даних.

Реляційна модель даних - логічна модель даних. Вперше була запропонована британським ученим співробітником компанії IBM Едгаром Франком Коддом (E. F. Codd) в 1970 році в статті «A Relational Model of Data for Large Shared Data Banks».
Концепція реляційної моделі даних модель була запропонована вченим Коддом у 1970 році. В основі реляційної моделі лежить поняття відношення (від англ. relation). Відношення зручно представляється у вигляді двомірної таблиці при дотриманні деяких обмежувальних умов. Таблиця зрозуміла і звична для людини. Доведено, що набір відношень (таблиць) може бути використаний для зберігання даних про об’єкти реального світу і моделювання зв’язків між ними. При обговоренні поняття інформація можливо виділити три аспекти:



Взаємозв’язок понять, які відображають три аспекти представлення інформації представлені на рис. 2.8.


інформація як відомості про реальний світ

інформація як опис

інформація як дані

об’єкт

запис про об’єкт

логічний запис, кортеж

властивості об’єктів

атрибут

поле, елемент даних

набори об’єктів

набори записів про об’єкт

файл

Рис. 2.8. Аспекти представлення інформації.


Наприклад, для зберігання об’єкту або сутності “студент” використовують відношення СТУДЕНТ, в якому властивості сутності розміщуються в стовпчиках таблиці (рис. 2.9).
СТУДЕНТ

прізвище_ім’я_по-батькові

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

курс

спеціальність

Петренко А.І.

12.02.92

2

прикл. мат

Іванов І.І.

01.08.94

3

механіка

Сидоров А.А.

29.05.93

1

економіка








Рис. 2.9. Відношення СТУДЕНТ.


Об’єкт – елемент реального світу, інформацію про який ми зберігаємо, визначена частина дійсності, яка нас оточує. Наприклад, предмет, процес, явище і т. ін. Об’єкти характеризуються властивостями. Наприклад, властивості об’єкту студент: прізвище та ім’я_по-батькові, дата народження, курс, спеціальність. Сукупність однорідних об’єктів зветься набором об’єктів. Наприклад, група студентів.

У другому аспекті представлення інформація звичайно зберігається на паперових носіях, в яких зберігаються записи про об’єкти, які згруповані в набори записів про об’єкти. Властивості об’єктів називають атрибутами. Наприклад, атрибути: “прізвище_ім’я_по-батькові”, ”дата_народження”, “курс”, “спеціальність”. Атрибути містять значення. Наприклад, значення атрибутів відповідно: “Петренко А.І.”, ”12.02.92”, “2”, “прикл. мат”.

Елемент даних – найменша одиниця пойменованих даних. Елемент даних має назву – поле. Кожне поле має свій унікальний англомовний ідентифікатор. Наприклад, FIO, DN, KURS, SPEC. Набір взаємозв’язаних елементів даних запису називають кортежем, логічним записом. Наприклад, “Петренко А.І. 12.02.92 2 прикл. мат”. Файл – пойменована сукупність всіх логічних записів заданого типу. Наприклад, файл групи студентів. Структура запису файлу групи студентів Student може мати вигляд (рис. 2.10):
Student


Поле

Тип

Кількість знаків

FIO

char

15

DN

char

8

KURS

char

1

SPEC

char

17

Рис. 2.10 Структура запису файлу групи студентів Student.


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

Реляційна алгебра і реляційне зчислення. Операції над відношеннями

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

Математи́чна ло́гіка - розділ математики, що вивчає мислення за допомогою числень, застосовуючи математичні методи та спеціальний апарат символів. Предметом математичної логіки є математичні теорії в цілому, які вивчаються за допомогою логіко-математичних мов.
Тео́рія множи́н - розділ математики, в якому вивчаються загальні властивості множин (переважно нескінченних). Виділення теорії множин в самостійний розділ математики відбулося на рубежі XIX і XX століть.
Ефективність реляційної СКБД визначається можливістю виконувати над відношеннями вісім операцій алгебри. Основними операціями над відношеннями в реляційній базі даних є наступні: об’єднання, перетин, різниця, декартовий добуток, ділення, проекція, з’єднання, вибір.

Властивості відношень

Відношення реляційної БД в залежності від змісту поділяють на об’єктні і зв’язні. В об’єктному відношенні один з атрибутів однозначно ідентифікує окремий об’єкт. Такий атрибут називають первинним ключем (primary key).

Первинний ключ - атрибут, або набір атрибутів, що однозначно ідентифікує кортеж даного відношення. Первинний ключ обов'язково унікальний, він єдиний і найголовніший із унікальних ключів.
У відношенні СТУДЕНТ на роль ключа претендує атрибут “прізвище_ім’я_по-батькові”. Для зручності первинний ключ записують в першому стовпчику таблиці. Якщо первинний ключ складається з більш ніж одного стовпчика, він називається складеним первинним ключем (composite primary key). В об’єктному відношенні не повинно бути рядків з однаковими ключами, тобто не повинно бути дублювання об’єктів. Це основне обмеження реляційної моделі для забезпечення цілісності даних.

Зв’язне відношення зберігає ключі двох або більше об’єктних відношень, тобто по ключам встановлюються зв’язки між об’єктами відношень. Наприклад, розглянемо об’єктне відношення СТУДЕНТ (рис. 2.11), об’єктне відношення ПРЕДМЕТ (рис. 2.12) і зв’язне відношення ВИВЧАЄ (рис. 2.13).


СТУДЕНТ

прізвище_ім’я_по-батькові

курс

спеціальність

Петренко А.І.

2

прикл. мат

Іванов І.І.

3

механіка

Сидоров А.А.

1

економіка

Рис. 2.11 Об’єктне відношення СТУДЕНТ.


ПРЕДМЕТ

назва

кількість_семестрів

алгебра

4

історія

3

програмування

2

ін. мова

2

Рис. 2.12. Об’єктне відношення ПРЕДМЕТ.


ВИВЧАЄ

прізвище_ім’я_по-батькові

предмет

Іванов І.І.

алгебра

Іванов І.І.

програмування

Сидоров А.А.

ін. мова

Петренко А.І.

історія

Рис. 2.13. Зв’язне відношення ВИВЧАЄ.


Зв’язне відношення окрім полів, які воно зв’язує, може мати і інші атрибути, які залежать від цього зв’язку. Прикладом може бути відношення ВИВЧАЄ_ОЦІНКА (рис. 2.14).
ВИВЧАЄ_ОЦІНКА

прізвище_імя_по-батькові

предмет

оцінка

Іванов І.І.

алгебра

4

Іванов І.І.

програмування

5

Сидоров А.А.

ін. мова

3

Петренко А.І.

історія

4

Рис. 2.14. Зв’язне відношення ВИВЧАЄ_ОЦІНКА.


Ключі в зв’язних відношеннях називаються зовнішніми ключами (foreign key) тому, що вони є первинними ключами інших відношень. Реляційна модель накладає на зовнішні ключі обмеження для забезпечення цілісності даних, яке називають довідковою цілісністю (referential integrity) (рис. 2.15).
Зовнішній ключ - атрибут (набір атрибутів) в деякому відношенні R, який відповідає первинному ключу іншого відношення або того ж таки відношення R.
Це означає, що кожному зовнішньому ключу повинен відповідати рядок якого-небудь об’єктного відношення. Без такого обмеження може трапитись, що зовнішній ключ посилається на не існуючий об’єкт. Іншими словами, зовнішній ключ – це колонка або набір стовпчиків, чиї значення збігаються з наявними значеннями первинного ключа іншої таблиці.

PK – Primary key

FK – Foreign key
Рис. 2.15. Довідкова цілісність.
В реляційній моделі на відношення накладається і інше обмеження – вони повинні бути нормалізовані.

Подібні взаємовідносини між таблицями називаються зв'язком (relationship). Зв'язок між двома таблицями встановлюється шляхом присвоювання значень зовнішнього ключа однієї таблиці значенням первинного ключа іншої. Співвідношення можуть бути один-до-одного (one-to-one relationship), один-до-багатьох (one-to-many relationship) або співвідношенням master-detail. У останньому випадку таблиця, що містить зовнішній ключ, називається detail-таблицею, а таблиця, що містить первинний ключ, що визначає можливі значення зовнішнього ключа, називається master-таблицею. Група зв'язаних таблиць називається схемою БД (database schema).


1   2   3   4   5   6   7