konsultatsia
.pdf● Декартово произведение отношений
Результатом декартова произведения отношений R1 и R2 является отношение, в котором каждый кортеж из отношения R1 объединяется с каждым кортежем из отношения R2
Синтаксис операции:
R1 TIMES R2
Синтаксис на языке SQL :
SELECT *
FROM R1, R2
Задача №8
Записать выражение реляционной алгебры и запрос на языке SQL, которые:
∙объединяют учащихся курсов №1 и №2 в одно отношение
∙связывают учащихся курса №1 и преподавателей
∙определяют учащихся курса №1, которые не обучаются на курсах №2
∙определяют учащихся, которые одновременно обучаются на
курсах №1 и №2
Курс №1: R1 |
Курс №2: R2 |
Преподаватели: R3 |
● Выборка отношений
Результатом выборки, примененной к отношению R, является отношение, содержащее все кортежи отношения R, удовлетворяющие заданным условиям (предикатам)
R |
Синтаксис операции: |
|||
X |
|
σ(X θ Y)R |
|
|
Y |
Синтаксис на языке SQL: |
|||
|
SELECT * |
|
||
… |
|
|||
|
|
FROM R |
||
Z |
|
WHERE X q Y |
||
|
|
X Q Y - условие
Q – предикаты сравнения (=, ¹, <, > и т.д.)
● Проекция отношений
Результатом проекции, примененной к отношению R, является отношение, содержащее все кортежи R после исключения из него некоторых атрибутов
|
R |
|
Синтаксис операции: |
||
X |
Y … |
Z |
|||
π(X,Y, Z) |
R |
||||
|
|
|
Синтаксис на языке SQL: SELECT X, Y, Z FROM R
●Проекция отношений
∙Записать выражение реляционной алгебры и запрос на языке SQL, которые определяют ID и NAME студентов старше 20 лет
Студенты: R
π(ID, NAME) (σ(AGE>20)R)
SELECT ID,NAME
FROM R
WHERE AGE>20
● Соединение отношений
При соединении отношений производится сцепление (конкатенация) кортежей исходных отношений по общим атрибутам
Синтаксис операции:
R1 JOIN R2
R1><R2
●Соединение отношений
∙Записать выражение реляционной алгебры и запрос на языке SQL, которые определяют типы номеров занимаемых гостями из г. Москвы
Номера: R1 |
Гости: R2 |
Бронь: R3 |
π |
(σ |
R2 >< R3 >< R1) |
TYPE |
TOWN = Москва |
SELECT TYPE
FROM R1, R2, R3
WHERE (R1.ID=R3.ID) AND (R2.CODE=R3.CODE)
AND (R2.TOWN=‘Москва’)
Задача №9
∙ Записать выражение реляционной алгебры и запрос на языке SQL для таблицы, в которой для каждой хорошей оценки указывается фамилия студента
Студенты: R1 Предметы: R2 Ведомость: R3
Спасибо за
внимание !