S# |
SNAME |
STATUS |
CITY |
S2 |
Jones |
10 |
Paris |
S3 |
Blake |
30 |
Paris |
S5 |
Adams |
30 |
Athens |
SA UNION SB |
(S6,Smith,50,Rome) – он вставлен в SA.
(S7,Jones,50,Paris) – он удовлетворяет A и B -> он может быть вставлен и в A и в В.
(S3,Green,50,Paris) – ошибка – не удовлетворяет ни А ни В.
DELETE. Если удаляемый кортеж принадлежит отношению А, то он удаляется из А, если принадлежит отношению В, то удаляется из В. Если он имеется в обоих отношениях, то он удаляется из обоих отношений.
UPDATE. Обновляемый кортеж должен быть таким, чтобы его обновленная версия удовлетворяла предикату отношения А или предикату отношения В или обоим предикатам отношения. Если обновленная версия кортежа удовлетворяет отношению А, то кортеж должен быть вставлен в отношение А и если удовлетворяет отношению В – то в отношение В.
(S5,ADAMS,30,Athens)→(S5,Adams,15,Paris)
После модификации кортежа, кортеж должен быть перемещен в отношение SB. Подобное явление – иммиграция.
2. INTERSELECT. A INTERSELECT B.
INSERT – вставляемый кортеж должен удовлетворять предикатам обоих отношений А и В. Вставляемый кортеж должен удовлетворять предикату отношения А и предикату отношения В. При вставке, вставляемый кортеж должен записываться в оба кортежа.
DELETE – кортеж, который удаляется из представления, должен быть удален из обоих отношений.
UPDATE – при выполнении операции обновления, обновляемый кортеж должен быть таким, что бы его обновляемая версия удовлетворяла предикату отношения А и предикату отношения В.
3. MINUS. A MINUS B. Предполагается, что из отношения А вычитается отношение В. Кортежи в отношении должны удовлетворять следующему условию: (PA) AND NOT (PB) – удовлетворять предикату отношения А, и не удовлетворять предикату отношения В.
INSERT – должен удовлетворять предикату отношения А, и не должен удовлетворять предикату отношения В. Кортеж вставляется в А.
DELETE – кортеж, который необходимо удалить из представления, удаляется из отношения А.
UPDATE – обновляемый кортеж должен удовлетворять предикату отношения А, и не должен удовлетворять предикату отношения В.
4. Выборка. A WHERE условие. Из А выбираются кортежи, удовлетворяющими некоторому условию. (PA) AND (условие).
INSERT – вставляемый кортеж должен удовлетворять предикату отношения А и условию. Вставляется кортеж в отношение А.
DELETE – при удалении, кортеж, удаляемый из представления, должен удаляться из отношения А.
UPDATE – обновленная версия кортежа должна удовлетворять предикату отношения А и условию выбора.
Пример:
S# |
SNAME |
STATUS |
CITY |
S1 |
Smith |
20 |
London |
S4 |
Clark |
20 |
London |
(PS) AND (CITY=’London’) |
INSERT (S6,Green,20,London) (OK)
INSERT(S1,Green,20,London) (Error)
UPDATE(S1,Smith,20,London)→(S4,Smith,20,London) (Error)
5. Проекция. Пусть атрибуты отношения А разделены на две несвязанные группы X и Y (некоторые подмножества атрибутов, но не пересекающиеся). Будем рассматривать X и Y, как составные атрибуты. В проекции А[X] (по атрибуту Х) некоторый кортеж появиться тогда и только тогда, когда существуют значения атрибута Y, такое, что пара этих значений X и Y входит в отношение А.
Рассмотрим проекцию отношения S(S#,SNAME,STATUS,CITY) по атрибутам S#,SNAME,CITY. Для каждого кортежа (S,N,C), который входит в проекцию существует значение t (STATUS), такое, что кортеж (S,N,t,C) принадлежит отношению S.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.