Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Авт_ПМП / Metod_BD.doc
Скачиваний:
31
Добавлен:
05.02.2016
Размер:
574.98 Кб
Скачать

Реляційні ключі

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

Суперключ– це атрибут або множина атрибутів, яка єдиним чином визначає кортеж даного відношення.

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

Приклад. Нехай задано відношення R (kod,rik,kvartal,typ,sum), де атрибутkodзадає ідентифікаційний код підприємства, атрибутrikзадає рік, kvartal– квартал,typ – код податку,sum– відповідну суму податку. Якщо вважати, що код підприємстваkod є унікальним, тобто не має двох різних підприємств з одним і тим же кодом, тоді множина всіх атрибутівN={kod,rik,kvartal,typ,sum}а також множинаK={kod,rik,kvartal,typ} є суперключами, множинаKє потенційним ключем, а множина {rik,kvartal,typ} не є суперключем, а отже і потенційним ключем.

Первинний ключ– це потенційний ключ, який вибрано для однозначного визначення кортежу всередині відношення.

Оскільки реляційні відношення не містять кортежів-дублікатів, завжди можна задати первинний ключ для даного відношення. В найгіршому випадку вся множина атрибутів може використовуватись як первинний ключ. У вище згаданому відношенні Rмножина атрибутівKє первинним ключем, причому єдиним.

Зовнішній ключ– це первинний ключ, в якому один або більше атрибутів належить декільком відношенням.

Приклад. Нехай крім Rвизначено ще відношенняQ (kod,name), де атрибут задає ідентифікаційний код підприємства, атрибутname– назву підприємства. Первинним ключем дляQ, очевидно є множина атрибутівM={ kod}. Оскільки атрибутkodє і вK і M, тоkodє зовнішнім ключем.

Реляційна цілісність

Визначають два правила цілісностіреляційної моделі –цілісність сутностііцілісність посилань.Перш ніж розглянути ці два правила, розглянемо поняттяNULL.

NULL означає невизначеність. Тобто, якщо значення певного атрибуту невизначене, говорять, що цей атрибут приймає значенняNULL.

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

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

Пояснимо це на прикладі. Припустімо що значення атрибутуkodвідношенняR пробігає множинуD1 а значення атрибутуkodвідношенняQ – множинуD2. Тоді різниця множинD1\D2має бути пустою.

Реляційна алгебра

Існує декілька варіантів набору операцій, які включають в реляційну алгебру. Спочатку Кодд запропонував 8 операторів, потім було доповнено ще декількома. Ми розглянемо 5 основних операцій реляційної алгебри, а саме виборка(selection),проекція (projection),декартів добуток(cartesian product),об’єднання(union) ірізниця. На основі цих 5 можна вивести додатково операціїз’єднання(join),перетину (intersection) іділення(division). Операції виборки і проекції є унарними оскільки вони оперують з одним відношенням, а інші операції бінарні – вони оперують з двома відношеннями. Наведемо, скориставшись загальноприйнятими символічними позначеннями, неформальні визначення цих операцій.

R S RxS

A

B

A

B

a

1

a

1

b

2

a

2

3

a

3

b

1

b

2

b

3

Декартів добуток Виборка Проекція

Об'єднання Перетин Різниця (множин)

T U V L

A

B

B

C

T.A

T.B

U.B

U.C

T.A

T.B

U.B

U.C

a

1

1

x

a

1

1

x

a

1

1

x

b

2

1

y

a

1

1

y

a

1

1

y

3

z

b

2

Натуральне Ліве з’єднання

з’єднання

Мал.3.

Декартів добуток.Операція декартового добутку двох відношень (записується так:RxS) визначає нове відношення, яке є результатом конкатенації (зчеплення) кожного кортежу відношенняRз кожним кортежем відношенняS.Приклад декартового добутку представлено на мал.3.

Виборка. Результатом операціївиборкипредикатнад відношенням є знову відношення, яке містить лише ті кортежі, які задовольняють заданій умові (предикату). Предикат задає умову відбору на значення атрибутів відношення. Приклад операції виборки:B>1(U)=W, деWє таке відношення:

W

B

C

3

z

Проекція - атр1, … ,атрN(R) визначає нове відношення, що містить кортежі складені зі значень атрибутів атр1, … ,атрN і при цьому кортежі-дублі виключаються. Іншими словами, з таблиці, яка є представленням відношенняRвикидаються всі стовпчики, які не входять до списку атрибутів атр1, … ,атрN, потім з одержаної таблиці викидаються рядки-дублікати. Приклад:A,B(V) ,A,B(L) матимуть вид:

A,B(V)A,B(L)

A

B

A

B

a

1

a

1

b

2

Об’єднання. Операція об’єднання застосовується лише до відношень, які мають однакові множини атрибутів і однакові домени для відповідних атрибутів. Якщо це виконується, відношення називаютьсумісними по об’єднанню. Отже, якщоRiS сумісні по об’єднанню відношення, тобто мають одну і ту ж множину атрибутівA,і мають множини кортежівIiJ, то об’єднанняQ=RS має множину атрибутівA і множину кортежівIJ.Нижче наведено приклад об’єднання відношень.

R S RS

A

B

A

B

A

B

a

1

I

a

1

a

1

b

2

a

2

J

b

2

IJ

c

1

a

2

c

1

Перетин. Операція перетину застосовується лише до сумісних по об’єднанню відношень. Отже, якщоRiS сумісні по об’єднанню відношення, тобто мають одну і ту ж множину атрибутівA,і мають множини кортежівIiJ, то перетинQ=RS має множину атрибутівA і множину кортежівIJ.Нижче наведено приклад перетину відношень.

R S RS

A

B

A

B

A

B

a

1

I

a

1

a

1

IJ

b

2

a

2

J

c

1

Різниця.РізницяR-S складається з кортежів відношенняR яких немає уS.При цьомуR іS сумісні по об’єднанню відношення. Множина кортежівR-S співпадає з теоретико-множинною різницеюI \J.

Декартів добуток. Якщо відношенняRмає множину атрибутівАі множину кортежівI, відношенняS –множину атрибутівBі множину кортежівJ, тоді декартів добутокRх S цих відношень матиме множину атрибутівАхB і множину кортежівIxJ.

Соседние файлы в папке Авт_ПМП