Тема7.Методы специальной обработки данныхОперации над

advertisement
Теоретические
языки запросов



Операции, выполняемые над отношениями
разделенными на две группы:
Первая группа: операции объединения,
пересечения, деления и произведения.
Вторая группа: операции проекции,
разъединения и выбора.

В реляционных СУБД выполняются операции над
отношениями, использующими две группы
языков, имеющими в качестве математической
основы теоретические языки запросов:

Реляционная алгебра

Реляционное исчисление
В реляционной алгебре
получение искомого результата
описывается явным образом,
путем указания набора
операций, которые нужно
выполнить для получения
результата.
В реляционных исчислениях
указывается свойство искомого
отношения, без конкретизации
процедуры его получения.
Такой язык называют не процедурным
(декларативным или описательным).
Он позволяет формировать запросы с
помощью условий которых должны
удовлетворяться картежи и домены.

Для этих языков
характерно наличие
правил для записи
запросов
Реляционная алгебра


Языки реляционной алгебры более
наглядны.
Например: ISBL (базовый язык
информационных систем) основанный на
реляционной алгебре. Широкого
распространения не получил.
Основные операции
Объединение
Разность
Пересечение
Произведение
Деление
Реляционная алгебра
ВАРИАНТ РЕЛЯЦИОННОЙ
АЛГЕБРЫ,ПРЕДЛОЖЕННЫЕ
КОДДОМ, ВКЛЮЧАЕТ В СЕБЯ
СЛЕДУЮЩИЕ ОСНОВНЫЕ
ОПЕРАЦИИ, КОТОРЫЕ МОЖНО
РАЗДЕЛИТЬ НА ДВЕ ГРУППЫ:
БАЗОВЫЕ ТЕОРЕТИКОМНОЖЕСТВЕННЫЕ И
СПЕЦИАЛЬНЫЕ РЕЛЯЦИОННЫЕ.
БАЗОВЫЕ ТЕОРЕТИКО-МНОЖЕСТВЕННЫЕ
ВКЛЮЧАЮТ:
ОБЪЕДИНЕНИЕ РАЗНОСТЬ ПЕРЕСЕЧЕНИЕ
ПРОИЗВЕДЕНИЕ
СПЕЦИАЛЬНЫЕ РЕЛЯЦИОННЫЕ ВКЛЮЧАЮТ
СОЕДИНЕНИЕ
ДЕЛЕНИЕ
А
А
В
А
С
А
Х
А
В
Х
В
С
У
С
А
Х
У
ВЫБОРКА
ПРОЕКЦИЯ
ОБЪЕДИНЕНИЕМ
ДВУХ СОВМЕСТИМЫХ
ОТНОШЕНИЙ R1 И R2 ОДИНАКОВОЙ
РАЗМЕРНОСТИ ЯВЛЯЕТСЯ ОТНОШЕНИЕ R ,
СОДЕРЖАШЕЕ ВСЕ ЭЛЕМЕНТЫ ИСХОДНЫХ
ОТНОЩЕНИЙ(C ИСКЛЮЧЕНИЕМ ПОВТОРЕНИЙ).
РАЗНОСТЬСОВМЕСТИМЫХ ОТНОШЕНИЙ R1 И R2
ОДИНАКОВОЙ РАЗМЕРНОСТИ ЕСТЬ
ОТНОШЕНИЕ, ТЕЛО КОТОРОГО СОСТОИТ ИЗ
МНОЖЕСТВА
ПЕРЕСЕЧЕНИЕ
ДВУХ СОВМЕСТИМЫХ ОТНОШЕНИЙ
R1 И R2 ОДИНАКОВОЙ РАЗМЕРНОСТИ
ПОРОЖДАЕТ ОТНОШЕНИЕ R С ТЕЛОМ,
ВКЛЮЧАЮЩИМ В СЕБЯ КОРТЕЖИ,
ОДНОВРЕМЕННО ПРИНАДЛЕЖАЩИЕ ОБОИМ
ИСХОДНЫМ ОТНОШЕНИЯМ.
ПРОИЗВЕДЕНИЕОТНОШЕНИЯ R1 СТЕПЕНИ К1 И
ОТНОШЕНИЯ R2 СТЕПЕНИ К2 , КОТОРЫЕ НЕ
ИМЕЮТ ОДИНАКОВЫХ ИМЕН АТРИБУТОВ, ЕСТЬ
ТАКОЕ ОТНОШЕНИЕ R СТЕПЕНИ(К1+К2),
ЗАГОЛОВОК КОТОРОГО ПРЕДСТАВЛЯЕТ
СЦЕПЛЕНИЕ ЗАГОЛОВКОВ ОТНОШЕНИЙ R1 И
R2, А ТЕЛО-ИМЕЕТ КОРТЕЖИ, ТАКИЕ, ЧТО К1
ЭЛЕМЕНТОВ КОРТЕЖЕЙ ПРИНАДЛЕЖАТ
МНОЖЕСТВУ R1, А ПОСЛЕДНИЕ К2 ЭЛЕМЕНТОВМНОЖЕСТВУ R2.
ВЫБОРКА
ОТНОШЕНИЯ R ПО ФОРМУЛE f
ПРЕДСТАВЛЯЕТ СОБОЙ НОВОЕ ОТНОШЕНИЕ С
ТАКИМ ЖЕ ЗАГОЛОВКОМ ТЕЛОМ, СОСТОЯЩИМ
ИЗ ТАКИХ КОРТЕЖЕЙ ОТНОШЕНИЯ R, КОТОРЫЕ
УДОВЛЕТВОРЯЮТ ИСТИННОСТИ ЛОГИЧЕСКОГО
ВЫРАЖЕНИЯ, ЗАДАННОГО ФОРМУЛОЙ f.
ДЛЯ ЗАПИСИ ФОРМУЛЫ ИСПОЛЬЗУЮТСЯ ОПЕРАНДЫИМЕНА АТРИБУТОВ(ИЛИ НОМЕРА СТОЛБЦОВ),
КОНСТАНТЫ, ЛОГИЧЕСКИЕ ОПЕРАЦИИ(AND-И, OR-ИЛИ,
NOT-НЕ),ОПЕРАЦИИ СРАВНЕНИЯ И СКОБКИ.
ПРИМЕР ВЫБОРКИ.
Д#
НАЗВАНИЕ
ТИП
ВЕС
ГОРОД_Д
P1
ГАЙКА
КАЛЕНЫЙ
12
МОСКВА
P5
ПАЛЕЦ
ТВЕРДЫЙ
12
КИЕВ
SP WHERE П# =“S1”AND Д# =“P1”
П#
Д#
КОЛИЧЕСТВО
S1
P1
300
ПРОЕКЦИЯ ОТНОШЕНИЯ А НА АТРИБУТЫ
X,Y,…,Z(A[X,Y,…,Z]), ГДЕ МНОЖЕСТВО
(X,Y,…,Z) ЯВЛЯЕТСЯ ПОДМНОЖЕСТВОМ
ПОЛНОГО СПИСКА АТРИБУТОВ
ЗАГОЛОВКА ОТНОШЕНИЯ А, ЗА
ИСКЛЮЧЕНИЕМ ПОВТОРЯЮЩИХСЯ
КОРТЕЖЕЙ. ПОВТОРЕНИЕ ОДИНАКОВЫХ
АТРИБУТОВ В СПИСКЕ X,Y,…,Z
ЗАПРЕЩАЕТСЯ.
ПРИМЕР ПРОЕКЦИИ.
P[ТИП, ГОРОД_Д]
ТИП
ГОРОД_Д
КАЛЕНЫЙ МОСКВА
МЯГКИЙ
КИЕВ
ТВЕРДЫЙ РОСТОВ
ТВЕРДЫЙ
КИЕВ
(S WHERE ГОРОД_П=“КИЕВ”) [П#]
П#
ГОРОД_П
S2
КИЕВ
S3
КИЕВ
РЕЗУЛЬТАТОМ ДЕЛЕНИЯ
ОТНОШЕНИЯ R1 C
АТРИБУТАМИ А И Б НА ОТНОШЕНИЕ R2 С
АТРИБУТОМ В(R1 DIVIDEBY R2), ГДЕ А И Б
ПРОСТЫЕ ИЛИ СОСТАВНЫЕ АТРИБУТЫ,
ПРИЧЁМ АТРИБУТ В-ОБЩИЙ АТРИБУТ,
ОПРЕДЕЛЕННЫЙ НА ОДНОМ И ТОМ ЖЕ
ДОМЕНЕ, ЯВЛЯЕТСЯ ОТНОШЕНИЕ R С
ЗАГОЛОВКОМ А И ТЕЛОМ, СОСТОЯЩИМ ИЗ
КОРТЕЖЕЙ r ТАКИХ,ЧТО В ОТНОШЕНИИ R1
ИМЕЮТСЯ КОРТЕЖИ(r, s), ПРИЧЁМ МНОЖЕСТВО
ЗНАЧЕНИЙ s ВКЛЮЧАЕТ МНОЖЕСТВО
ЗНАЧЕНИЙ АТРИБУТА В ОТНОШЕНИЯ R2.
ПРИМЕР ДЕЛЕНИЯ ОТНОШЕНИЯ.
ПУСТЬ R1-ПРОЕКЦИЯ SP [П#,Д#], а R2-ОТНОШЕНИЕ С ЗАГОЛОВКОМ
Д# И ТЕЛОМ{P2,P4}, ТОГДА РЕЗУЛЬТАТОМ ДЕЛЕНИЯ R1 НА R2 БУДЕТ
ОТНОШЕНИЕ R С ЗАГОЛОВКОМ П# И ТЕЛОМ {S1,S4}.
R1
R2
R1 DIVIDEBY R2
П#
Д#
Д#
П#
S1
P1
P2
S1
S1
P2
P4
S4
S1
P3
S1
P4
S1
P5
S1
P6
S2
P1
P2
S2
S3
S4
P2
P2
S4
P4
S4
P5
соединение Сf(R1,R2) ОТНОЩЕНИЙ R1 И R2
ПО УСЛОВИЮ, ЗАДАННОМУ ФОРМУЛОЙ f,
ПРЕДСТАВЛЯЕТ СОБОЙ ОТНОШЕНИЕ R,
КОТОРОЕ МОЖНО ПОЛУЧИТЬ ПУТЁМ
ДЕКАРТОВА ПРОИЗВЕДЕНИЯ ОТНОШЕНИЙ
R1 И R2 С ПОСЛЕДУЮЩИМ
ПРИМЕНЕНИЕМ К РЕЗУЛЬТАТУ ОПЕРАЦИИ
ВЫБОРКИ ПО ФОРМУЛЕ f.
Реляционное исчисление
Преимущество реляционного
исчисления заключается в том,
что пользователю самому не
требуется строить алгоритм
запроса.
Язык запросов по образцу
Запрос представляет собой
специальный образец, описывающий
требования, определенный состав
проводимых над базой данных
операций по выборке, модификации и
удалению данных.
Для подготовки запросов в СУБД
часто используют язык запросов
по образцу и структуре языка
запросов.
Разница между ними
заключается в способе
формирования запроса


КБЕ предполагает ручное или
визуальное формирование запроса.
SQL предполагает
программирование запросов.
Структурирование языка
запросов
SELECT [
]
<список данных>
FROM <список таблиц>
[WHERE <условие>]
GROUP BY<имя столбца>
HAVING
ORDER BY
Download