- •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 |
Отношение ПД (Поставки деталей)
Атрибут |
Семантика |
Код_П* |
Код поставщика |
Код_Д* |
Код детали |
Кол_шт |
Количество штук в поставке |
Цена_шт |
Цена за штуку |
Код_А |
Код ангара на складе |
Обработка запросов в системах баз данных |
19 |
© Соколинский Л.Б. |
1. Введение |
03.09.2011 |
Пример запроса
Имена поставщиков, поставляющих хотя бы одну красную деталь.
SELECT Имя_П
FROM П, ПД, Д
WHERE П.Код_П = ПД.Код_П
AND ПД.Код_Д = Д.Код_Д
AND Цвет = 'Красный';
Обработка запросов в системах баз данных |
20 |
© Соколинский Л.Б. |
1. Введение |
03.09.2011 |
Как СУБД получает ответ?
SELECT Имя_П |
|
Имя_П |
FROM П,ПД,Д |
СУБД |
----------- |
WHERE П.Код_П = ПД.Код_П |
Петров |
|
AND ПД.Код_Д = Д.Код_Д |
|
Иванов |
AND Цвет = 'Крас' |
|
----------- |
|
|
|
П (поставщики) |
|
|
|
|
ПД (поставки деталей) |
|
|
Д (детали) |
|
|
|
|||
Код_П Имя_П |
Город_П |
Рейт |
Страх |
Код_П Код_Д Кол_шт Цена_шт Код_А |
Код_Д Имя_Д |
Город_Д |
Объем_Д |
Цвет |
||||||
1 |
Петров |
Москва |
100 |
1000 |
1 |
1 |
2000 |
100 |
1 |
1 |
Гайка |
Тула |
5 |
Крас |
2 |
Иванов |
Воронеж |
60 |
2000 |
1 |
2 |
3000 |
100 |
2 |
2 |
Гайка |
Тула |
5 |
Син |
3 |
Сидоров |
Москва |
80 |
1000 |
2 |
3 |
2500 |
200 |
3 |
3 |
Болт |
Сургут |
10 |
Крас |
4 |
Абрамов |
Сургут |
50 |
500 |
4 |
4 |
500 |
150 |
3 |
4 |
Болт |
Сургут |
10 |
Син |
Обработка запросов в системах баз данных |
21 |
© Соколинский Л.Б. |
1. Введение |
03.09.2011 |
Схема обработки запроса
Запрос на
SQL
Компилятор
Физический
план
Исполнитель
База данных
Обработка запросов в системах баз данных |
22 |