Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ekzamen_33_33_33_21-40.doc
Скачиваний:
5
Добавлен:
29.09.2019
Размер:
814.08 Кб
Скачать

23.Операції реляційної алгебри та їх реалізація на мові sql.

Основная идея реляционной алгебры состоит в том, что поскольку отношения являются множествами, средства манипулирования отношениями могут базироваться на традиционных теоретико-множественных операциях, дополнительно к некоторым специальных операций, специфических для баз данных. Набор основных алгебраичних операций, предложен Коддом, состоит из восьми операций, которые делятся на два класса - теоретико-множественные операции и специальные реляционные операции. В состав теоретико-множественных операций входят операции:

объединения отношений; пересечение отношений; взятия разности отношений; Декартово произведение отношений.

Специальные реляционные операции включают: ограничение отношения; проекция отношения; соединение отношений; деление отношений.

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

Результат операций: отношения. При выполнении этой операции необходимо помнить о совместимости отношений по объединению: два отношения совместимы по объединению в том и только в том случае, когда обладают одинаковыми заголовками. Более точно, это означает, что в заголовках обоих отношений содержится один и тот же набор имен атрибутов, и одновременно атрибуты определены на одном и том же домене. Если два атрибуты совместимы по объединению, то при обычном выполнении над ними операций объединения:

SELECT * FROM A UNION SELECT * FROM B,

пересечения

SELECT * FROM A INTERSECT SELECT * FROM B,

и взятия разности

SELECT * FROM A EXCEPT SELECT * FROM B

в языке SQL результатом операции является отношением является отношение с корректно определенным заголовком, совпадающим с заголовком каждого из отношений операндивв. Заметим, что привлечение в состав операций реляционной алгебры трех операций объединения, пересечения и разности является избыточным, поскольку любая из этих операций выражается через две другие. Тем не менее, Кодд в свое время решил включить все три операции, исходя из интуитивных потребностей потенциального пользователя системы реляционных БД, далекого от математики.

Пример:

SELECT P.P #

FROM P

WHERE P.WEIGHT> 16.0

UNION

SELECT SP.P #

FROM SP

WHERE SP.P # = 'S2';

Выборка (ограничение). Результатом ограничения отношения по некоторому условию является отношение, содержащее кортежи отношения-операнда, удовлетворяющее этому условию.

Пусть имеем отношение А с атрибутами Х и У., а символ означает оператор сравнения (=,>,> = и др.)., Так что условие Х У при заданных Х и У дает значение истина или ложь. Тогда-то выборке по отношению А по атрибутам Х и У называется отношение, имеющее тот же заголовок, что и отношение А и тело, содержащее множество всех кортежей t отношения А, для которых проверка условия Х У дает значение истина. Условие чаще задается с помощью ключевого слова WHERE.

SELECT *

FROM S

WHERE S # = 'S1';

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]