logo
ГОСЫ_ИТОГ_2

2. Основы реляционной алгебры.

Каждая таблица в реляционной БД является отношением, все действия над таблицами базируются на операциях реляционной алгебры, кроме операции создания и заполнения таблиц данными и операций модификации структуры таблицы.

В теории реляционной алгебры: таблица – отношение; строки – кортежи; столбцы – атрибуты.

Над отношениями выполняются традиционные операции теории множеств.

Ограничение отношения (выборка) – создает новое отношение, отбирая в него строки отношения-операнда, которые удовлетворяют условию ограничения. (select * from t1 where price>100)

Проекция отношения – создает новое отношение, отбирая в него определенные столбцы отношения-операнда. (select fam, tel from t1)

Объединение отношений – создает новое отношение, содержащее все кортежи отношений операндов. Операнды должны иметь одинаковые атрибуты.

Ежемесячно из цехов поступают отчеты о выпуске новой продукции Новая_продукция(номер_цеха, код_продукции, дата_выпуска, количество) за прошедший месяц и добавляются в общую таблицу Выпуск_продукции(номер_цеха, код_продукции, дата_выпуска, количество);

Атрибуты операндов совпадают. Таблица Новая продукция объединяется с исходной Выпуск_продукции.

Пересечение отношений – создает новое отношение, содержащее строки, общие для сравниваемых операндов. Операнды должны иметь одинаковые атрибуты.

Разность отношений – создает новое отношение, содержащее строки 1-го операнда, отсутствующие во 2-м операнде. Операнды должны иметь одинаковые атрибуты.

Произведение отношений - создает новое отношение, в котором имеются все атрибуты 1 и 2-го операндов, а строки получены попарным сцеплением каждой строки 1-го с каждой строкой 2-го операнда.

Количество кортежей равно произведению количества кортежей 1-го и 2-го отношений.

Деление отношений – создает новое отношение, содержащее атрибуты 1-го операнда, отсутствующие во 2-м операнде, и кортежи 1-го операнда, которые совпали с кортежами 2-го операнда. Операнды должны иметь одинаковые атрибуты.

Соединение отношений – создает новое отношение, кортеж которого является результатом сцепления кортежей операндов. Операнды должны иметь хотя бы один общий атрибут.

(select t1.*, t2.кафедра from t1, t2 where t1.преподаватель=t2.преподаватель)