ДЕЯКІ ДОДАТКОВІ ЗАУВАЖЕННЯ

У даному розділі розглядаються деякі додаткові теми, що стосуються восьми оригінальних операцій

Асоціативність і коммутативность

Можна легко переконатися в тому, що операція UNION є асоціативної Це означає, що якщо a, b і с – довільні відносини одного і того ж типу, то наступні два вирази логічно еквіваленти

(A UNION b) UNION з І a UNION (b UNION с)

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

a UNION b UNION з

Аналогічні зауваження відносяться до операцій INTERSECT, TIMES і JOIN (але не до операції MINUS) Примітка На практиці з цієї причини, а також з деяких інших причин може виявитися більш кращою префіксная система позначень, як, наприклад, UNION (a, b, с), а не інфіксне стиль, застосовуваний в мові Tutorial D Але в даній книзі автор дотримується інфіксне стилю

Крім того, операції UNION, INTERSECT, TIMES і JOIN (але не операція MINUS) є комутативними Це означає, що такі вирази також є логічно еквівалентними

a UNION b І

b UNI ON a

Аналогічне зауваження стосується і операцій INTERSECT, TIMES і JOIN

Ми знову повернемося до загальної теми асоціативності і коммутативности в главі 18 А що стосується операції TIMES, необхідно відзначити, що версія декартова твори, яка визначена в теорії множин, не є ні

асоціативної, ні комутативної, а реляційна версія цієї операції (як

вже було показано) володіє обома цими властивостями

Деякі е до еквівалентності

У цьому підрозділі просто перераховані деякі важливі еквівалентності, які в основному призначені для використання в подальшому викладі У наведених нижче формулах r позначає довільне ставлення, a empty-пусте ставлення такого ж типу, як і r

■ r WHERE TRUE = r (скорочення тотожності)

■&nbsp&nbsp&nbsp&nbsp&nbsp r WHERE   FALSE  =  empty

■&nbsp&nbsp&nbsp&nbsp&nbsp r  { X,   Y,    ,   z  }  = r, Якщо x, Y, .., z-всі атрибути r (проекція тотожності)

r  {  }  = TABLE_DUM, якщо r = empty, в іншому випадку TABLE_DEE (нульарна проекція)

■&nbsp&nbsp&nbsp&nbsp&nbsp r  JOIN  r  s  r  UNION  r  s  r   INTERSECT  r =  r

■&nbsp&nbsp&nbsp&nbsp&nbsp r  JOIN TABLE_DEE  =  TABLE_DEE JOIN r = r (Тобто TABLE_DEE є одиничним елементом стосовно до операції зєднання, так само, як у звичайній арифметиці нуль – одиничний елемент стосовно до додаванню, а одиниця – одиничний елемент стосовно до множенню)

rTIMES TABLE_DEE = TABLE_DEE TIMES r = r (ця еквікалентность являє собою окремий випадок попередньої)

■&nbsp&nbsp&nbsp&nbsp&nbsp r UNION empty = r MINUS empty = r

■&nbsp&nbsp&nbsp&nbsp&nbsp empty INTERSECT r = empty MINUS r = empty

Деякі узагальнення

Всі операції JOIN, UNION та INTERSECT були визначені спочатку як бінарні (Тобто кожна з них приймає в якості операндів два і тільки два відносини) 5 але, як було показано вище, ці операції можуть бути однозначно узагальнені для перетворення їх в n-арні для довільного п> 1 А що можна сказати з приводу таких операцій з п = 1 або п = 0 Виявилося, що бажано мати можливість визначити, принаймні, з концептуальної точки зору, операції зєднання, Обєднання і перетину тільки з одним ставленням і взагалі без відносин (навіть незважаючи на те, що в мові Tutorial D не передбачена безпосередня синтаксична підтримка ні для однієї подібної операції) Визначення таких операцій наведено нижче Припустимо, що s – безліч відносин (у разі обєднання і перетину всі вони належать до одного й того ж типу відносини RT) У такому випадку справедливі наведені нижче твердження

■ Якщо s містить тільки одне відношення r, то результат всіх операцій соедине ня, обєднання і перетину всіх відносин BS визначений просто як r

■ Якщо s взагалі не містить відносин, то справедливі наступні твердження:

■ зєднання всіх відносин у s визначено як відношення TABLE_DEE (З тим же одиничним елементом, який відповідає зєднанню)

5 Операція MINUS також є бінарною На відміну від неї, операції обмеження і проекції є унарними

▪ обєднання всіх відносин у s визначено як пусте відношення типу RT

▪ перетин всіх відносин в s визначено як універсальне отношеніе6 типу RT, іншими словами, як то унікальне відношення типу RT, яке містить всі можливі кортежі із заголовком н, де н – заголовок відносини типу RT

Джерело: Дейт К Дж, Введення в системи баз даних, 8-е видання: Пер з англ – М: Видавничий дім «Вільямс», 2005 – 1328 с: Ил – Парал тит англ

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*