Декартово произведение

Определение. Декартовым произведением двух отношений R1 (R11, R12, …,R1n), R2,(R21, R22, …,R2m) называется отношение, заголовок которого является сцеплением заголовков отноше­ний R1 и R2:

(R11, R12, …,R1n ,R21, R22, …,R2m),

а тело состоит из кортежей, являющихся сцеплением корте­жей отношений R1 и R2:

(r11, r12, …,r1n ,r21, r22, …,r2m),

таких, что:

(r11, r12, …,r1n)R1 , (r21, r22, …,r2m) R2,

При выполнении прямого произведения двух отношений по­лучается отношение, кортежи которого являются конкатена­цией (сцеплением) кортежей первого и второго операндов. Синтаксис операции декартового произведения:

R1 times R2

Замечание. Мощность произведения R1 times R2 равна произведению мощностей отношений R1 и R2, т. к. каждый кортеж отношения R1 соединяется с каждым кортежем отношения R2.

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

Пример. Пусть даны два отношения R1 и R2 с информацией о студентах и дисциплинах (рис. 6.5). Декартово произведение отношений R1 и R2 будет иметь вид, представленный на рис. 6.6.

 

Отношение R1 (Студенты)

 

Личный номер Фамилия
Котова
Серов
Леонидов

 

Отношение R2 (Название дисциплины)

 

Код дисциплины Название дисциплины
Высшая математика
История
Иностранный язык

 

Рис. 6.5. Примеры отношений R1 и R2

 

Отношение R1 times R2

 

Личный номер Фамилия Код дисциплины Название дисциплины
Котова Высшая математика
Котова История
Котова Иностранный язык
Серов Высшая математика
Серов История
Серов Иностранный язык
Леонидов Высшая математика
Леонидов История
Леонидов Иностранный язык

 

Рис. 6.6. Результат операции декартова произведения для отношений R1 и R2

 

Замечание. Операция декартова произведения непосредственно для реальных запросов не используется, но она важна для выполнения специальных операций [20, С. 55-64].