Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

lek_05

.pdf
Скачиваний:
5
Добавлен:
03.09.2018
Размер:
434.57 Кб
Скачать

1

Лекція 5

Реляційна модель бази даних

1.Історія розвитку реляційної моделі.

2.Структура реляційних даних

3.Математичні відношення.

4.Відношення в базі даних

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

6.Типи даних.

1. Історія розвитку реляційної моделі

Реляційна модель вперше була запропонована британським дослідником Едгаром Коддом у 1970 році в його статті «Реляційна модель бази даних для великих спільно використовуваних банків даних». На сьогоднішній день публікацію цієї статті прийнято рахувати початком в історії розвитку реляційних баз даних. Цілі створення реляційної моделі формулюються таким чином:

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

-Створнення міцного фундаменту для вирішення семантичних питань, також проблем протиріччя і надлишковості даних. Зокрема, в статті Кодда вводиться поняття нормалізованих відношень, тобто відношень без повторення груп.

-Розширення мов маніпулювання даними за рахунок включення

операцій над множинами.

Найбільш значимі дослідження в розвитку реляційних баз були проведені

врамках трьох проектів:

-У кінці 70-х років у дослідницькій лабораторії корпорації ІВМ. Результатом роботи була система під назвою «SYSTEM R», яка була прототипом реляційної бази. Роботи над цим проектом дали поштовх для розвитку мови структурних запитів SQL та різних комерційних реляційних СУБД, зокрема таких як DB2 та ORACLE.

-Проект INGRES (Interactive Graphics Retrieval System).

-Проект Peterlee Relational Test Vehicle наукового центру корпорації

ІВМ. Цей проект був більш теоретичним, ніж попередні проекти. Його результати мали важливе значення для обробки запитів та оптимізації.

Комерційні СУБД почали з’являтися в кінці 70-х на початку 80-х років.

Прикладами реляційних СУБД є Access, FoxPro, Paradox, Visual dBase. У

2

Кам’янці-Подільському в кінці 80-х на початку 90-х в ПКБ АСУ була розроблена БД КМД, яка з успіхом використовувалась при вирішенні задач економічного характеру.

5.2. Структура реляційних даних

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

Відношення – це плоска таблиця, яка складається із стовбців та рядків.

Атрибут – це поіменований стовбець відношення.

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

Наприклад, інформація про факультети університету (Fakultet) включає стовбці з атрибутами: NomF(Номер факультета), NameF(Назва факультета), Prof(Профіль факультету), Pr_Dek(Прізвище декана), Tel_Dek(Телефон деканату). Інформація про студентів включає стовбці з атрибутами: Nom_Sk(Номер студентського квтика), Priz_St(Прізвище), Name_St(Ім’я), Adress(Адреса), Grupa(Група), NomF(Номер факультету). Як видно із рисунка, кожний стовбець містить значення одного і того ж атрибута – наприклад, стовбець Прізвище декана містить тільки прізвища деканів.

3

Атрибути

FAKULTET

 

NomF

NameF

Prof

Pr_Dek

Tel_Dek

 

Відношення

1

Фізико-

Фізика,

Іваненко

12125

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

 

 

мова

 

 

 

 

математичний

математика,

 

 

 

 

 

 

інформатика

 

 

 

 

2

філологічний

Ураїнська

Петренко

32165

 

 

 

 

мова

 

 

 

 

 

 

Англійська

 

 

 

 

 

 

 

 

 

 

 

3

історичний

Істрія, право

Сидоренко

96325

 

 

 

 

 

 

Степінь

 

 

 

 

 

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

 

 

Зовнішній ключ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Nom_Sk

Priz_St

 

Name_St

 

Adress

Grupa

NomF

12563

 

Студент1

 

Петро

 

Соборна 5

36

1

 

32561

 

Студент2

 

Марічка

 

Народна 6

25

2

 

65942

 

Студент3

 

Степан

 

Колгоспна 125

36

1

 

Домен це набір допустимих значень для одного чи декількох атрибутів.

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

Кортеж – це рядок відношення.

Елементами відношення являються кортежі. У відношенні Fakultet кожен рядок містить по п’ять значень, по одному для кожного атрибута. Кортежі можуть розміщуватися в будь-якому порядку, при цьому відношення буде залишатися тим самим.

Степінь відношення – кількість атрибутів, які містить відношення.

Кардинальність – кількість кортежів, які містить відношення.

4

Реляційна база даних – набір нормалізованих взаємопов’язаних відношень.

Альтернативні варіанти термінів у реляційній моделі

Офіційні терміни

Альтернативний варіант 1

Альтернативний варіант 2

Відношення

Таблиця

Файл

Кортеж

Рядок

Запис

Атрибут

Стовбець

Поле

5.3. Математичні відношення

Для розуміння істинного змісту терміну відношення розглянемо кілька математичних понять. Нехай ми маємо дві множини D1 та D2 , де D1={2,4} і D2={1,3,5}. Декартовим добутком цих двох множин (позначається D1 D2) називається набір із всіх можливих пар, в яких першим йде елемент із множини D1 , а другим – елемент множини D2. В нашому випадку

D1 D2 = {(2,1), (2,3), (2,5), (4,1), (4,3), (4,5)}

Будь-яка підмножина цього декартового добутку являється відношенням. Наприклад у ньому можна виділити відношення R

R= {(2,1), (4,1)}.

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

R= {(x,y)| x D1, y D2, і y=1}

Поняття відношення можна легко розповсюдити і на три множини і т.д. У загальному

D1 D2 ... Dn={(d1, d2,…, dn)| d1 D1, d2 D2,…, dn Dn}

5.4. Відношення в базі даних.

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

Реляційна схема – це ім’я відношення, за яким слідує множина пар імен атрибутів і доменів.

Наприклад, для атрибутів А1, А2,..., Аn з доменами D1, D2,…, Dn реляційною схемою буде множина {A1:D1, A2:D2,…, An:Dn}. Відношення R, задане реляційною схемою S, являється множиною відображень імен атрибутів на відповідні їм домени. Таким чином, відображення R є множиною таких n-

арних кортежів {A1:d1, A2:d2,…, An:dn}, де d1 D1, d2 D2, … , dn Dn.

Кожен елемент n-арного кортежу складається із атрибутів і значення його атрибута. Як правило, при записі відношень у вигляді таблиці імена атрибутів перераховуються в заголовках стовпців, а кортежі утворюють рядки формату (d1, d2,…, dn), де кожне значення береться із відповідного домена. Таким чином в реляційній моделі відношення можна представити як довільну

5

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

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

Відношення мають наступні характеристики:

-відношення має ім’я, яке відрізняється від імен всіх інших відношень;

-кожна комірка відношення містить тільки атомарне (неподільне) значення;

-кожний атрибут має унікальне ім’я;

-значення атрибута береться із одного і того ж домена;

-порядок слідування атрибутів не має ніякого значення;

-кожний кортеж являється унікальним, тобто дублювання кортежів не може бути;

-теоретично порядок слідування кортежів у відношенні не має ніякого

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

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

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

Більша частина властивостей відношень походить від властивостей математичних відношень.

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

-У множині відсутні елементи, що повторюються. Аналогічно відношення не може містити кортежів-дублікатів.

-Кожна комірка відношення містить тільки одне значення.

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

5.6.Типи даних.

Будь-які дані, що використовуються в програмуванні, мають свої типи даних. Як правило, вони діляться на три групи:

-Прості типи даних;

-Структуровані типи даних;

6

-Вказівні типи даних.

Прості (атомарні) типи – це типи даних, які не мають внутрішньої структури. Дані такого типу називають скалярними. До простих типів даних відносяться:

-Логічний;

-Рядковий;

-Числовий.

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

-Цілий;

-Дійсний;

-Дата;

-Час;

-Грошовий;

-Перелічувальний;

-Інтервальний;

-і т.д.

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

Структуровані типи даних призначені для задання складних структур даних. Структуровані типи даних конструюються із складових елементів, які називаються компонентами, які, в свою чергу, можуть володіти структурою. Прикладами структурованих типів можуть бути

-масиви:

-записи (структури).

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

Власне, для реляційних моделей даних тип даних не є важливим. Вимога одна – тип даних повинен бути простим. Це означає, що в реляційних операціях не повинна враховуватися внутрішня структура даних. Повинні бути описані дії, які можна виконувати з даними, як з єдиним цілим.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]