Міністерство освіти України p>
Державний університет p>
"Львівська політехніка" p>
Кафедра ICM p>
відношення і СХЕМИ відношень p>
| Виконала: | студентка ФКТ |
| | Групи ІСМ-51 |
| | Шаховськой Н. Б. |
| | |
| Перевірив: | Пасічник В. В. |
| | | P>
Львів - 1999 p>
Відношення і схеми відношень. P>
Теоретичні відомості. P>
Однією з основних переваг реляційної моделі є її однорідність. Всідані розглядаються як такі, що зберігаються у таблицях, в яких кожнастрічка має один і той же формат і представляє собою деякий об'єктреального світу або відношення між об'єктами. p>
Будь-який об'єкт реального світу характеризується певною множиноюхарактеристик (атрибутів (А1, А2, ..., Аn). Ця характеристика має ім'яатрибута (А1, А2, ..., Аn) і множину допустимих значень (доменів. Тодітаблиця являє собою відношення, в якому кожна стрічка є множиною значень,взятих по одному з домена кожного імені атрибута. Стрічки відношеньназиваються кортежами і мають арність яка дорівнює кількості атрибутів.
Кортежі відношень утворюють множину, так як стрічки не дублюються. P>
Схемою відношення R називається скінченна множина імен атрибутів (А1,
А2, ..., Аn). Кожному імені атрибута Аі ставиться у відповідність множина
Di (домен атрибута. Це довільні непусті скінченні множини. Нехай D = D1 (
D2 (... (Dn. Відношення r зі схемою R (це множина відображень (t1, t2, ...,tp) з R в D; Причому кожне відображення t (Ai) (Di. Ці відображенняназиваються кортежами. p>
Наведемо приклад. p>
Нехай ми маємо відношення РЕЙСИ (розклад авіаліній. p>
Табл. 1 p>
| номер | пункт -відправле | пункт-призначен | час-вильоту | час-прибуття |
| | Ння | ня | | |
| 83 | Нью-Йорк | Чікаго | 1130 | 1343 |
| 84 | Чікаго | Нью-Йорк | 1500 | 1755 |
| 109 | Нью-Йорк | Лос-Анджелес | 2150 | 252 |
| 213 | Нью-Йорк | Бостон | 1143 | 1245 | p>
В даній таблиці R = (номер, пункт-відправлення, пункт-призначення,час-вильоту, час-прибуття); dom (номер) (множина одно-, дво-, трьозначніх чисел; dom (час-вильоту) = dom (час-призначення) (множина моментів часу. t (номер) = 84 для першого кортежу. p>
Дане значення 84 називають А-значенням кортежу t. Якщо інтерпретуватиt як стрічку таблиці, то А-значення кортежу t є його входом у стовпчик зіменем А. p>
Ключем відношення r (R) є така підмножіна K (R, що для будь-якихрізних кортежів t1 і t2 з r виконується t1 (K) (t2 (K), і жодна підмножіна
K ((K не володіє цією властивістю. Множина K називається суперключем, якщо
K містить ключ відношення r. p>
У табл. 1 (НОМЕР) є ключем і суперключем, а (НОМЕР, ПУНКТ-
ВІДПРАВЛЕННЯ) є суперключем але не є ключем. Ключем також може служити
(ПУНКТ-ВІДПРАВЛЕННЯ, ПУНКТ-ПРИЗНАЧЕННЯ, ЧАС-вильоту). P>
Відношення розглядаються як об'єкти, що можуть змінюватись у часі,тобто кортежі можуть додаватись, знищувати або мінятись в певниххарактеристиках. Тому існують операції оновлення відношень. P>
Операція додавання призначена для додавання кортежів у відношення r імає вигляд p>
ADD (r; A1 = d1, ..., An = dn). p>
Коли порядок імен атрибутів фіксований, то дана операція має вигляд p>
ADD (r; d1, ..., dn). p>
Для даного прикладу ADD (РЕЙСИ; 117, Атланта, Бостон, 2205, 043). p>
Дана операція не виконується по наступних причинах: p>
1) кортеж, що додається, не відповідає схемі відношення. p>
2) деякі значення кортежу не належать відповідним доменам. p>
3) кортеж співпадає по ключу з кортежем, що вже існує у відношенні. p>
Операція знищення вводиться для знищення кортежів і має вигляд p>
DEL (r; A1 = d1, ..., An = dn). p>
Скорочений варіант p>
DEL (r; d1, ..., dn). p>
Якщо відношення має виділений ключ (ключ, який явно перерахуваньразом з реляційною схемою), то допустима така форма запису p>
DEL (r; КЛЮЧ). p>
Приклад: p>
DEL (РЕЙСИ; 83). p>
Операція зміни призначена для модифікації частин кортежу. Вона маєвигляд p>
CH (r; A1 = d1, ..., An = dn; C1 = e1, ..., Cp = ep). p>
модифікувати також можна, використовуючи значення ключа. p>
CH (r; КЛЮЧ; C1 = e1, ..., Cp = ep). p>
Так як дана операція може бути отримана за допомогою операційзнищення і додавання, то їй притаманні і всі помилки даних операцій. p>
Приклад: p>
CH (РЕЙСИ; НОМЕР = 109; ЧАС-вильоту = 2140). p>
ПРИКЛАДИ p>
I. (а) Нехай дано схему відношення R = (ПРАЦІВНИК, управляючих,
ПОСАДА, ЗАРПЛАТА, СТАЖ), де атрибути ПРАЦІВНИК і управляючих своїмизначеннями мають прізвища, ПОСАДА (назву посади, ЗАРПЛАТА (числа, щовиражають річну зарплату працівників, СТАЖ (кількість повних років, якіпропрацював працівник на даній посаді. Побудувати відношення із схемою R,опираючись на наступну інформацію: p>
(Робертс, Раскін та Рафаель (агенти по продажу квитків; p>
(Рейбен приймає багає; p>
(Райс (авіамеханік; p>
(Прайс керує всіма агентами по продажу квитків; p>
(Пауелом керує Рейберном; p>
(Портер керує Райсом, Прайсом, Пауел і самим собою; p> < p> (Пауел (начальник наземних служб, а Портер (начальник по експлуатації; p>
(Кожен працівник одержує 10%-ну надбавку за кожен повний пропрацьованій рік; p>
(Робертс, Раскін, Рафаель і Рейберн почали з окладу 12000. Робертс тільки приступив до роботи, Раскін і Рафаель працюють півтора року, а p>
Рейберн (2 роки; p>
(Райс почав з окладу 18000 і зараз одержує 21780; p>
(Прайс і Пауел почали з окладу 16000 і працюють 3 роки; p>
(Портер почав з окладу 20000 і пропрацював на 2 роки більше ніж будь-хто інший. p >
(b) Задайте операції оновлення для наступних змін у відношенні: p>
(Раскін і Рафаель пропрацювали повних 2 роки; p>
(Райс звільнився; p>
(Рендольф найнявся на посаду агента по продажу квитків;
Розв'язок p>
На основі поданої інформації отримуємо наступне відношення, якеназвемо ПРАЦІВНИКИ:
| Праців-НИК | управ-ЮЧІЙ | ПОСАДА | зарпла-ТА | СТАЖ |
| Робертс | Прайс | Агент по продажу квитків | 12000 | 0 |
| Раскін | Прайс | Агент по продажу квитків | 13200 | 1,5 |
| Рафаель | Прайс | Агент по продажу квитків | 13200 | 1,5 |
| Райс | Портер | Авіамеханік | 21780 | 2 |
| Рейберн | Пауелом | Відповідальний за багаж | 14520 | 2 |
| Портер | Портер | Начальник по експлуатації | 32210,2 | 5 |
| Портер | Прайс | | 32210,2 | 5 |
| Пауелом | | Начальник по експлуатації | 21296 | 3 |
| Прайс | | | 21296 | 3 |
| | | Начальник наземних служб | | |
| | | Керуючий агентами по | | |
| | | Продажу квитків | | | p>
Розрахунок зарплати проходить у залежності від початкової зарплати такількості відпрацьованих років. Наприклад, продемонструємо процеснарахування зарплати для працівника Прайс. Початковий його оклад становив
16000. отже, за один пропрацьваній рік він отримує надбавку до зарплати увигляді 10-ти відсотків. Отже, його зарплата становитиме 16000 + 1600 =
17600. за наступний пропрацьованій рік він отримує надбавку у розмірі 1760і його загальна зарплата становитиме 19360. За третій рік роботи вінотримав надбавку 1936. Його теперішня зарплата становить 21296. P>
Пауел і Прайс не мають керівників. P>
В даному випадку ключем відношення є підмножіна атрибутів
К ((ПРАЦІВНИК, управляючих), так як лише ці атрибути однозначноідентифікують кортежі. Так як даний ключ не є виділений, то для проведенняоперацій оновлення не можна використовувати найкоротша форму запису. Длязавдання (b) отримуємо наступні операції оновлення:
СН (ПРАЦІВНИКИ; Раскін, Прайс, Агент з продажу квитків, 13200, 1.5; СТАЖ =
2). P>
СН (ПРАЦІВНИКИ; Рафаель, Прайс, Агент з продажу квитків, 13200, 1.5;
СТАЖ = 2). P>
DEL (ПРАЦІВНИКИ; Райс, Портер, Авіамеханік, 21780, 2). P>
ADD (ПРАЦІВНИКИ; ПРАЦІВНИК = Рендольф, ПОСАДА = Агент з продажуквитків) p>
ІІ. Задано схему відношень R = (НОМЕР-Рейс, АЕРОПОРТ-ПРИЗНАЧЕННЯ,
ГАЛЕРЕЯ, ДАТА, ЧАС). Кортеж (d1d2d3d4d5) відношення r (R) означає, що
"Посадка на рейс d1, що вилітає у пункт призначення d2, здійсниться черезгалерею d3; дата відправлення d4; час відправлення d5 ". Визначити ключівідношення. p>
Розв'язок p>
Ключем даного відношення виступає НОМЕР-рейси, так як не можеіснувати двох рейсів, що здійснюються в одному аеропорті-відпраніку імають однаковий номер. Також унікально ідентифікує кортежі такоговідношення підмножінав атрибутів (ГАЛЕРЕЯ, ДАТА, ЧАС), так як з одногомісця не може одночасно відправитись два літаки. Дане відношення має багатосуперключів, які можна отримати з визначених ключів шляхом додавання до нихімен атрибутів, що не ввійшли у ключ. p>
ІІІ. Нехай t (кортеж відношення r (R). Х, У (підмножіні R. Коливираз t (X) (Y) має зміст? Як його можна спростити у тих випадках, коли вономає зміст? p>
Розв'язок p>
Так як t є відображенням з R в D, то це означає, що ми послідовнознаходимо значення елементів на підмножіні Х, а потім на підмножіні У. Тодідані підмножіні повинні перетинати, а, отже, даний запис можна спроститидо вигляду t (X) (t (Y). p>
IV. (a) Чи може об'єднання двох ключів бути ключем? p>
(b) Чи обов'язково перетин двох суперключів є ключем? p>
Розв'язок p>
За означенням ключем відношення r (R) є така підмножіна K (R, що длябудь-яких різних кортежів t1 і t2 з r виконується t1 (K) (t2 (K), і жоднапідмножіна K ((K не володіє цією властивістю. Так як при об'єднаннічастини утвореного ключа самі володіють властивістю ключа, то отриманамножина атрибутів стає надлишковою і тому не утворює ключа. p>
За означенням суперключ одержується з ключа шляхом додовання до ньогоімен атрибутів, що не увійшли у ключ. Якщо у ці суперключі входять однаковіключі, тоді при перетині ми дійсно отримаємо ключ. Але можна перетинатисуперключі, у які входять різні ключі. Тоді ключа ми не отримаємо.
Наприклад, перетинаючи суперключі з таблиці 1 (НОМЕР, ЧАС-вильоту) та
(ПУНКТ-ВІДПРАВЛЕННЯ, ПУНКТ-ПРИЗНАЧЕННЯ, ЧАС-вильоту, ЧАС-ПРИБУТТЯ) миотримаємо (ЧАС-вильоту), який не є ключем. p>
V. Скільки максимально ключів і суперключів може мати дана схемавідношення R (A1A2 ... An)? p>
Розв'язок p>
Теоретично ключем може бути: кожен з атрибутів (тобто кількість ключів дорівнює n); кожна пара атрибутів (); кожна трійка атрибутів і т. д. p>
З приведеного списку при n> 3 найбільшою кількістю ключів є,якщо n парна і у іншому випадку. Суперключі будуть отримані шляхомдодавання до ключа одного атрибута, два і т. д. Отже, максимальна кількістьсуперключів може бути + ... +. P>
VI. Що можна сказати про відношення з ключем К =? P>
Розв'язок p>
Таке відношення має порожню множину атрибутів, тобто фактично такоговідношення не існує. p>
VII. Нехай R = (B1, B2, ..., Bm) (ключ схеми відношення R (A1A2 ... An), r
(Відношення зі схемою R. Дано операцію CH (r; A1 = d1, ..., An = dn; B1 =e1, ..., Bp = em). У відношенні r нема кортежу з К-значенням, єкортеж і еі (dom (Bi). Чи законна дана операція? p>
Розв'язок p>
Так як значення даного запису не відповідають перерахованих вищепомилкам, що виникають при операціях додавання (кортеж, що додається, невідповідає схемі відношення; деякі значення кортежу не належать відповіднимдоменам; кортеж співпадає по ключу з кортежем, що вже існує у відношенні)та знищення (кортеж відсутній у відношенні), то ця операція є законна. p>
VIII. Нехай ((послідовність операцій оновлення, які потрібнозастосувати до відношенняr. Якщо змінити порядок операцій в (, то чиобов'язково результат залишиться тим же самим при умові, що (містить p>
(а) тільки операції додавання; p>
(b) тільки операції знищення; p>
( c) операції додавання і знищення; p>
(d) операції додавання і зміни; p>
(e) операції зміни? p>
Розв'язок p> < p> (а) результат не зміниться, так як операції не пов'язані між собою; p>
(b) результат не зміниться, так як операції не пов'язані між собою; p>
(c) перестановка операцій може привести до помилки і до змінирезультату, так як операція знищення може використовувати записи, ще нестворені операцією додавання; p>
(d) перестановка операцій може привести до помилки і до змінирезультату, так як операція зміни може використовувати записи, ще нестворені операцією додавання; p>
(e) операції зміни можуть бути пов'язані певним чином між собою,тобто модифікувати одні і ті ж кортежі. Тоді перестановка даних операційможе привести до використання значень зміненого кортежу, хоча така замінаще не відбулась. Тому перестановка може привести до виникнення помилки. P>