Лекция 5. Базисные средства манипулирования реляционными данными: реляционное исчисление

Тесты

Заключение

ПРО_НОМ_НОМЕР_ПРОЕКТА

 

ПРО_НОМ НОМЕР_ПРОЕКТА

 

СЛУЖАЩИЕ <AND> ПРО_НОМ_НОМЕР_ПРОЕКТА

 

СЛУ_НОМЕР СЛУ_ИМЯ СЛУ_ЗАРП ПРО_НОМ НОМЕР_ПРОЕКТА
Иванов 22400.00
Петров 29600.00
Сидоров 18000.00
Федоров 20000.00
Иванова 22000.00
Иванов 22400.00
Петров 29600.00
Сидоренко 18000.00
Федоренко 20000.00
Иваненко 22000.00

 

(СЛУЖАЩИЕ <AND> ПРО_НОМ-НОМЕР_ПРОЕКТА) <REMOVE> (ПРО_НОМ)

 

СЛУ_НОМЕР СЛУ_ИМЯ СЛУ_ЗАРП НОМЕР_ПРОЕКТА
Иванов 22400.00
Петров 29600.00
Сидоров 18000.00
Федоров 20000.00
Иванова 22000.00
Иванов 22400.00
Петров 29600.00
Сидоренко 18000.00
Федоренко 20000.00
Иваненко 22000.00

 

 

Рис. 4.22. Избыточность операции <RENAME>

 

Тем самым, можно сократить набор операций Алгебры A до двух операций: <sh> (или <pi>) и <REMOVE>*.

 

Базисом Алгебры A являются операции реляционного отрицания (дополнения), реляционной конъюнкции (или дизъюнкции) и проекции (удаления атрибута). Реляционные аналоги логических операций определяются в терминах отношений на основе обычных теоретико-множественных операций и позволяют выражать напрямую операции пересечения, декартова произведения, естественного соединения, объединения отношений. Путем комбинирования базовых операций выражаются операции переименования атрибутов, соединения общего вида, взятия разности отношений. Алгебра A позволяет лучше осознать логические основы реляционной модели, хотя, безусловно, является в меньшей степени ориентированной на практическое применение, чем алгебра Кодда.

 

Как нам кажется, в методическом отношении Алгебра A важна, прежде всего, тем, что в ней реляционная операция естественного соединения является одной из базовых операций, в отличие от алгебры Кодда, где эта операция занимала второстепенное место. Это важно по той причине, что, как мы увидим в Лекции 7, операция естественного соединения играет первостепенную роль в классическом подходе к проектированию реляционных баз данных на основе нормализации.

 

 

1 (1) Пусть имеется отношение BOOLEAN {A, B}, общий домен атрибутов которого состоит из множества значений {true, false}, и пусть тело этого отношения состоит из единственного кортежа {true, false}. Каким будет тело результата операции <NOT> BOOLEAN?

 

(а) -

 

true true
false false

 

(б) -

 

false true

 

(в) +

 

true true
false false
false true

 

1 (2) Пусть отношение TABLE_DUM с пустыми заголовками и телом. Каким будет результат операции <NOT> TABLE_DUM?

 

(а) -

TABLE_DUM

 

(б) +

отношение с пустым заголовком и одним пустым кортежем

 

(в) -

к такому операнду операция <NOT> не применима

 

1 (3) Пусть имеется отношение INTEGER {A}, домен атрибута которого содержит множество целых чисел от 1 до n, а тело состоит из унарных кортежей, значения которых – допустимые целые числа, делящиеся на 15. Каким будет тело результата операции <NOT> INTEGER?

 

(а) -

множество унарных кортежей, значения которых – допустимые целые числа, не делящиеся на 5

 

(б) -

множество унарных кортежей, значения которых – допустимые целые числа, не делящиеся на 3

 

(в) +

множество унарных кортежей, значения которых – допустимые целые числа, не делящиеся на 15

 

2 (1) Пусть имеются два унарных значения-отношения R1 {A} и R2 {A}, атрибуты которых определены на типе символьных строк переменной длины, не больше 9:

 

R1

A
стол
стул
дуло

 

R2

A
поле
лето
дуло

 

Каким будет тело результата операции R1 <AND> R2?

 

(а) -

 

стол
стул
дуло
поле
лето
дуло

 

(б) -

 

столполе
стуллето
дулодуло

 

(в) +

 

дуло

 

2 (2) Пусть имеются два унарных значения-отношения R1 {A} и R2 {B}, общий домен атрибутов которого состоит из множества значений {1, 2, 3, 4}:

 

R1

A

 

R2

B

 

Каким будет тело результата операции R1 <AND> R2?

 

(а) -

 

A B

 

(б) +

 

A B

 

(в) -

 

A B

 

3 (1) Пусть имеются два унарных значения-отношения R1 {A} и R2 {B}, общий домен атрибутов которого состоит из множества значений {1, 2, 3, 4}:

 

R1

A

 

R2

B

 

Каким будет тело результата операции R1 <OR> R2?

 

(а) -

 

A B

 

(б) -

 

A B

 

(в) +

 

A B

 

3(2) Пусть имеются два бинарных значения-отношения R1 {A, B} и R2 {A, B}, домен атрибутов которого состоит из множества значений {1, 2, 3, 4}:

 

R1

A B

 

R2

A B

 

Каким будет тело результата операции R1 <OR> R2?

 

(а) -

 

A B

 

(б) +

 

A B

 

(в) -

 

A B

 

3 (3) Пусть имеются два бинарных значения-отношения R1 {A, B} и R2 {A, С}, домен атрибутов которого состоит из множества значений {1, 2, 3, 4}:

 

R1

A B

 

R2

A С

 

Каким будет тело результата операции R1 <OR> R2?

 

(а) +

 

A B C

 

(б) -

 

A B C

 

(в) -

 

A B C

 

4 (1) Как выражается через операции конъюнкции, дизъюнкции и отрицания выражение sh (sh (A, B), sh (A, B))?

 

(а) +

A AND B

 

(б) -

A OR B

 

(в) -

NOT A AND NOT B

 

4 (2) Как выражается через операции конъюнкции, дизъюнкции и отрицания выражение pi (pi (A, B), pi (A, B))?

 

(а) -

A AND B

 

(б) +

A OR B

 

(в) -

NOT A OR NOT B

 

4 (3) Как выражается через операции конъюнкции, дизъюнкции и отрицания выражение sh (pi (A, B), pi (A, B))?

 

(а) -

A AND B

 

(б) +

A OR B

 

(в) -

NOT A AND NOT B