- •1. Введение
- •http://sok.susu.ru
- •Курс "Современные технологии разработки СУБД" http://sok.susu.ru/courses/index.html
- •Подписка на новости курса
- •Курс "Современные технологии разработки СУБД" http://sok.susu.ru/courses/index.html
- •Часть 1. Обработка запросов в системах баз данных http://sok.susu.ru/courses/QueryProc/index.html
- •Презентации лекций http://sok.susu.ru/courses/QueryProc/lectures/index.html
- •Часть 1. Обработка запросов в системах баз данных http://sok.susu.ru/courses/QueryProc/index.html
- •Справочно-библиографический портал «Информационные технологии» http://bit.sp.susu.ac.ru/elib/view/index.php?id=767
- •Поиск
- •Доступ к полному тексту
- •Схема базы данных «Поставки»
- •Отношение П (Поставщики)
- •Отношение Д (Детали)
- •Отношение А (Ангары)
- •Отношение ПД (Поставки деталей)
- •Пример запроса
- •Как СУБД получает ответ?
- •Схема обработки запроса
- •На пути к физическому плану
- •Основные операции реляционной алгебры
- •Проекция
- •Выборка
- •Прямое произведение
- •Тета-соединение
- •Естественное соединение
- •Возникновение дубликатов
- •Удаление дубликатов
- •Группировка
- •Операции реляционной алгебры в SQL
- •Построение реляционного выражения
- •Представление реляционного выражения в виде логического плана
- •Преобразование логического плана в физический
- •Схема компиляции запроса
- •Оптимизация запроса
© Соколинский Л.Б. |
1. Введение |
03.09.2011 |
На пути к физическому плану
|
|
Выражение |
|
|
Запрос на |
• • • |
? |
• • • |
Физический |
SQL |
|
алгебры |
|
план |
|
|
|
|
Обработка запросов в системах баз данных |
23 |
© Соколинский Л.Б. |
1. Введение |
03.09.2011 |
Основные операции реляционной алгебры
|
Операция |
Название |
Семантика |
|
|
|
|
|
|
|
πA,С(R) |
|
Проекция |
Вертикальная селекция (столбцов). |
|
σθ (R) |
|
Выборка |
Горизонтальная селекция (строк) по условию θ. |
|
R×S |
|
Прямое произведение |
Сочетание пар «каждый с каждым». |
|
|
|
|
|
|
R S |
|
Естественное соединение |
Соединение пар по общим атрибутам. |
|
|
|
|
|
|
R S |
|
Тета-соединение |
Соединение пар по условию θ. |
|
θ |
|
|
|
|
δ(R) |
|
Удаление дубликатов |
Из мультиподмножестводинаковых кортежей в |
|
|
|
|
R оставляет только один |
|
|
|
|
|
γ |
B, AVG(C)→ X |
(R) |
Группировка |
Результирующая таблица имеет схему (B*,X). |
|
|
|
Для всех записей из R, имеющих одинаковое |
|
|
|
|
|
|
|
|
|
|
значение B, вычисляется среднее значение С и |
|
|
|
|
помещается в столбец Х. |
|
|
|
|
|
Обработка запросов в системах баз данных |
24 |
© Соколинский Л.Б. |
1. Введение |
03.09.2011 |
Проекция
R |
|
|
|
|
|
A* |
B |
C |
|
|
|
1 |
20 |
100 |
|
|
|
2 |
40 |
300 |
|
|
|
3 |
20 |
100 |
|
|
|
4 |
10 |
300 |
|
πA,С(R) |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
A* |
C |
|
|
|
|
1 |
100 |
|
|
|
|
2 |
300 |
|
|
|
|
3 |
100 |
|
|
|
|
4 |
300 |
|
|
|
|
|
|
Обработка запросов в системах баз данных |
25 |
© Соколинский Л.Б. |
1. Введение |
03.09.2011 |
Выборка
R
A* |
B |
C |
1 |
20 |
100 |
2 |
40 |
300 |
3 |
20 |
100 |
4 |
10 |
300 |
|
|
|
σC<150 (R)
A* |
B |
C |
1 |
20 |
100 |
3 |
20 |
100 |
|
|
|
Обработка запросов в системах баз данных |
26 |