Professional Documents
Culture Documents
1858 F 46 C 71 e 745 A 0
1858 F 46 C 71 e 745 A 0
Рис. 3.1. ілюструє особливості кожної моделі даних. При зіставленні моделей варто
пам'ятати, що всі вони теоретично еквівалентні. Еквівалентність моделей полягає в тому, що
вони можуть бути зведені одна до іншої шляхом формальних перетворень.
а) б)
Поняття ключа
Приклад 6.1. У табл. 5.1 множини {НОМЕР} і {ПУНКТ ВІДПРАВЛЕННЯ, ПУНКТ ПРИЗНАЧЕННЯ} є
ключами.
Старе визначення ключа буде ставитися до виділених ключів, тобто виділений ключ може
бути суперключем.
Приклад 1.6. У табл. 1.1 {ПУНКТ ВІДПРАВЛЕННЯ, ПУНКТ ПРИЗНАЧЕННЯ} є ключем відношення.
Проте цілком можливо, що можуть бути два рейси між тими самими пунктами відправлення і
призначення, хоча вони безсумнівно повинні здійснюватися в різний час. Отже, {ПУНКТ
ВІДПРАВЛЕННЯ, ПУНКТ ПРИЗНАЧЕННЯ, ЧАС ВИЛЬОТУ} є ключем схеми відношення РЕЙСИ.
Реляційна алгебра
До складу реляційної моделі даних, крім структури даних, мають входити операції
маніпулювання даними. З усіх таких операцій складається мова запитів. Найбільш відомими
мовами запитів у реляційній моделі є реляційна алгебра та реляційне числення.
Булеві операції
Два відношення з однією і тією ж схемою можуть розглядатися як множини того самого
універсуму – множини всіх можливих кортежів із цією схемою. До таких двох відношень можуть бути
застосовані булеві операції.
r s = r – (r – s) .
Нехай dom(R) – множина всіх кортежів над атрибутами схеми R і їхніх доменів. Доповнення
відношення r(R) можна визначити як різницю r = dom(R) – r . Проте, якщо якийсь атрибут A у R має
нескінечний домен, r також буде нескінечним і не буде відношенням у нашому розумінні.
Модифікована версія доповнення, що називається активним доповненням, завжди дає
відношення. Визначимо його. Якщо r(A1,A2 ,...,An) – відношення і Di = dom( Ai ), 1≤і≤n, то активним
доменом Ai відносно r називається множина adom(Ai,r) = {d Di |та існує t r з t(Ai) = d}. Нехай
adom(R,r) – множина всіх кортежів над атрибутами з R і їхніх активних доменів відносно r . Активним
доповненням r є r = adom(R,r) - r . Зауважимо, що r – завжди відношення.
Активне доповнення може виникнути природно. Припустимо, що компанія має програму підготовки,
розраховану на роботу кожного службовця протягом двох тижнів у кожному з декількох відділів. Інформація
про те, хто й у якому відділі успішно завершив програму підготовки, могла б зберігатися у відношенні
спеціаліст (СЛУЖБОВЕЦЬ, ВІДДІЛ). Відношення спеціаліст повідомило б, хто у якому відділі не завершив
підготовки за умови, що кожний службовець, який проходить підготовку, і кожний відділ згадані у відношенні
спеціаліст. Активне доповнення може бути також використане як пристрій стиску пам'яті, коли активне
доповнення відношення має менше кортежів, ніж саме відношення.
Тема 7. Реляційні оператори та операції на відношеннях.
ОПЕРАТОР ВИБОРУ
Вибір – це унарна операція над відношенням. Результатом її застосування
до відношення r є інше відношення, яке являє собою підмножину кортежів
відношення r з визначеним значенням у виділеному атрибуті.
Нехай r відношення зі схемою R, A атрибут в R і a елемент із dom(A) .
Тоді A a =a(r) -позначення операції вибору (“вибрати в r кортежі, у яких
значення A дорівнює a”). Розглядаючи кортежі як відображення, можна
записати, що r'(R) = {t r | t( A) = a} .
Оператори вибору комутують щодо їхньої композиції. Нехай r(R)
відношення, A і B атрибути в R, і нехай a dom( A), b dom(B) . Тотожність
A a ( B b (r)) = B b ( A a (r)) завжди має місце.
Оператор вибору дистрибутивний щодо бінарних булевих операцій:
A a rs = A a (r ) A a ( s) )
де – , або –, а r та s – відношення над однією і тією ж схемою.
ОПЕРАТОР ПРОЕКЦІЇ
Оператор проекції також є унарним оператором на відношеннях. Але
якщо оператор вибору вибирає підмножину рядків у відношенні, то оператор
проекції вибирає підмножину стовпчиків. Нехай r відношення зі схемою R і X –
підмножина з R . Проекція r на X , записана як X (r) , є відношення r'( X ) ,
отримана викреслюванням стовпчиків, що відповідають атрибутам R-X.
Розглядаючи кортежі як відображення, X (r) можна записати у виді r' ( X ) =
{t( X ) | t r} .
Якщо дві проекції виконуються послідовно і друга з них власна, то вона
поглинає першу: якщо Y застосовується до X(r) , то результат буде тим же
самим, як при застосуванні Y безпосередньо до r , якщо початкове
застосування Y було власним. Більш точно, для даного r(R) і Y X R
справедливо Y( X(r)) = Y(r) . Аналогічне твердження справедливе для
послідовності проекцій: якщо X1 X2 ... Xm R , то X1( X2
(...( Xm(r))...)) = X1(r) .
Проекція комутує з вибором, коли атрибут або атрибути для вибору
знаходяться серед атрибутів множини, на який здійснювалась проекція.
ОПЕРАТОР З'ЄДНАННЯ
З'єднання – це бінарний оператор для комбінування двох відношень.
Проілюструємо його виконання на прикладі. Припустимо, що в базі
даних про гіпотетичну авіалінію знаходяться два списки: список типів літаків,
що можуть бути використані в кожному рейсі, і список типів літаків, котрими
кожний пілот має право управляти. Ці списки зберігаються у виді відношень
придатність (РЕЙС ТИПЛІТАКА) і право (ПІЛОТ ТИПЛІТАКА).
У табл. 7.1 показані їхні можливі стани.
Таблиця 7.1. Можливі стани відношень придатність (РЕЙС ТИП ЛІТАКА) і
право (ПІЛОТ ТИП ЛІТАКА)
РЕЙС ТИП ЛІТАКА
83 727
83 747
84 727
84 747
109 707
Оператор поділу
Визначення 1. Нехай r(R) і s(S) –відношення, S R . Визначимо R' = R -
S . Тоді r , поділене на s – відношення r' (R' ) ={t | для кожного кортежа t s
існує кортеж tr r , такий, що tr(R’)=t і tr(S)=ts} . Відношення r' є часткою від
ділення r на s , що позначається r s . Другий спосіб формулювання
визначення наступний: r s – це максимальна підмножина r' множини Rr ,
такої, що r' s міститься в r . З’єднання в цьому випадку є декартовим
добутком.
Постійні відношення
При обговоренні відношення попередньо було показано, що результат
операції вибору може бути отриманий при виконанні операції з’єднання з
постійним відношенням. Введемо тепер спеціальний спосіб запису постійних
відношень безпосередньо у виразах. Якщо A1,A2 ,...,An – різні атрибути, а cі є
константою з dom(Aі) для 1≤і≤n, то запис c1 : A1 c2 : A2cn : An представляє
постійний кортеж c1 c2 cn за схемою A1,A2 ,...,An . Постійне відношення
за схемою A1,A2 ,...,An представляється як множина кортежів. Нехай cij –
константа з dom(Aі) для 1≤і≤n і 1≤j≤n. Тоді
{ c11 : A1 c21 : A2cn1 : An ,
БАГАТОЗНАЧНІ ЗАЛЕЖНОСТІ
Визначимо властивості першого стану відношення призначення, що відсутні у
другого, які забезпечують декомпозицію без втрат інформації. У першому випадку, якщо
літак деякого типу використаний для виконання маршруту в один день, він може бути
використаний для виконання цього маршруту в будь-який інший день. Ця властивість
відсутня у другому стані відношення призначення, оскільки рейс №106 може
використовувати тип 1011 в четвер, але не в понеділок.
Відношення в першому стані слід піддавати декомпозиції, бо при заданому рейсі
ДЕНЬ ТИЖНЯ не містить інформації про атрибут ТИП ЛІТАКА, і навпаки.
Сформулюємо цю властивість поіншому.
Якщо у відношенні призначення існують кортежі <f d p> і <f d’ p’> , то повинен бути
кортеж <f d’ p>. Дамо формальне означення:
Означення 11.3. Нехай R – реляційна схема, X і Y – підмножини R, що не
перетинаються, і нехай Z=R(XY). Відношення r(R) задовольняє багатозначній залежності
(БЗЗ) X Y, якщо для будь-яких двох кортежів t1 і t2 з r, для яких t1(X)=t2(X), в r існує
кортеж t3 , для якого виконуються співвідношення t3(X)= t1(X), t3(Y)= t1(Y), t3(Z)= t2(Z).
Із симетрії означення відносно t1 і t2 випливає, що в r існує також t4, для якого t4(X)=
t1(X), t4(Y)= t2(Y), t4(Z)= t1(Z).
Приклад 11.1. БЗЗ РЕЙС ДЕНЬ ТИЖНЯ виконується для відношення призначення
в стані табл. 1, але не табл. 3. Стан табл. 1 задовольняє також БЗЗ РЕЙС ТИП ЛІТАКА.
Той факт, що стан призначення з табл.1 задовольняє двом БЗЗ, не є випадковим, що
видно з наступної леми.
Лема 11.1. Якщо відношення r зі схемою R задовольняє БЗЗ X Y і Z=R-(XY), то r
задовольняє X Z.
ВЛАСТИВОСТІ БАГАТОЗНАЧНИХ ЗАЛЕЖНОСТЕЙ
Покажемо, яким чином БЗЗ пов’язана з декомпозицією без втрат інформації.
Теорема 11.1. Нехай r – відношення зі схемою R; X,Y,Z –підмножини з R, такі, що
Z=R-(XY). Відношення r задовольняє БЗЗ X Y тоді і тільки тоді, коли r без втрат
інформації розкладається у відношенні зі схемами R1=X Y і R2=X Z.
Теорема 11.1 дає спосіб перевірки виконуваності БЗЗ X Y у відношенні R.
Для цього проекції r на X Y і X(R-X Y) з’єднуються і результат перевіряється на
співпадіння з r. Існує інший метод перевірки БЗЗ, що не потребує проектування і з’єднання, а
тільки деякого сортування та підрахунку.