Базы данных - модели, разработка, реализация



         

Теоретико-множественные операции реляционной алгебры - часть 3


Ответим на следующие вопросы:

1. Список абитуриентов, которые поступали два раза и не поступили в вуз.

R = R1 ? R2 \ R3

2. Список абитуриентов, которые поступили в вуз с первого раза, то есть они сдавали экзамены только один раз и сдали их так хорошо, что сразу были зачислены в вуз.

R = (R1 \ R2 ? R3) ? (R2 \ R1 ? R3)

3. Список абитуриентов, которые поступили в вуз только со второго раза.

Прежде всего это те абитуриенты, которые присутствуют в отношениях R1 и R2, потому что они поступали два раза, и присутствуют в отношении R3, потому что они поступили.

R = R1 ? R2 ? R3

4. Список абитуриентов, которые поступали только один раз и не поступили.

Это прежде всего те абитуриенты, которые присутствуют в R1 и не присутствуют в R2, и те, кто присутствуют в R2 и не присутствуют в R1. И разумеется, никто из них не присутствует в R3.

53

R = (R1 \ R2) ? (R2 \ R1) \ R3

В отсутствие скобок порядок выполнения операций реляционной алгебры естественный, поэтому сначала будут выполнены операции в скобках, а затем будет выполнена последняя операция вычитания отношения R3.

Операции объединения, пересечения и разнести применимы только к отношениям с эквивалентными схемами.

Кроме перечисленных трех теоретико-множественных операций в рамках реляционной алгебры определена еще одна теоретико-множественная операция -расширенное декартово произведение. Эта операция не накладывает никаких дополнительных условий на схемы исходных отношений, поэтому операция расширенного декартова произведения, обозначаемая R1 ? R2, допустима для любых двух отношений. Но прежде чем определить саму операцию, введем дополнительно понятие конкатенации, или сцепления, кортежей.

Сцеплением, или конкатенацией, кортежей с = 1, с2, ..., сn> и q = 1, q2, ..., qm> называется кортеж, полученный добавлением значений второго в конец первого. Сцепление кортежей с и q обозначается как (с , q).

(с, q) = 1, с2, ... , сn, q1, q2, ..., qm>

Здесь n - число элементов в первом кортеже с, m - число элементов во втором кортеже q.




Содержание  Назад  Вперед