Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kursovoy_Khoz_uchet_futbolnogo_kluba.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
906.24 Кб
Скачать

5.1.5. Оптимизированное операционное дерево для запроса

Оптимизированное операционное дерево получается путем опускания операции селекции вниз по исходному операционному дереву, ближе к листьям дерева.

В результате преобразований получаем оптимизированное операционное дерево, которое на рисунке 5.6 изображено с указанием номеров узлов.

Полотно 148

POM.square<47

Рисунок 5.6

5.1.6. Оптимизированный запрос на языке sql

ТПрямоугольник 70 екст запроса “price” на SQL.

SELECT ARRIVAL_OBJ.*

FROM ARRIVAL_OBJ

WHERE (((ARRIVAL_OBJ.price)>92000));

ТПрямоугольник 72 екстзапроса “firm” наSQL.

SELECT INVENTAR.*

FROM INVENTAR

WHERE (((INVENTAR.firm)="МосковскийСпортИнвентарь"));

Т екст запроса “square” на SQL.

SELECTPOMESHENIE.*

FROMPOMESHENIE

WHERE (((POMESHENIE.square)<47));

ТПрямоугольник 74 екст оптимизированного запроса на SQL.

SELECT price.code_object, price.price, firm.naimenovanie, square.num_p, square.square

FROM (price INNER JOIN firm ON price.code_object = firm.code_object) INNER JOIN ((ZAL INNER JOIN (INVNUM_INV INNER JOIN INV_IN_ZAL ON INVNUM_INV.inv_number = INV_IN_ZAL.inv_number) ON ZAL.num_p = INV_IN_ZAL.num_p) INNER JOIN square ON ZAL.num_p = square.num_p) ON firm.code_object = INVNUM_INV.code_object;

5.1.7. Временные характеристики оптимизированного запроса

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

Для расчета временных характеристик оптимизированного запроса используется оптимизированное операционное дерево, изображенное на рисунке 5.6.

В узле (1) оптимизированного операционного дерева выполняется операция селекции по условию: f1= (Obj.price>92000). Расчет стоимости выполнения операции селекции происходит по формуле:

.

В узле (2) оптимизированного операционного дерева выполняется операция селекции по условию: f2 = (Inv.firm="Московский СпортИнвентарь"). Расчет стоимости выполнения операции селекции происходит по формуле:

.

В узле (7) оптимизированного операционного дерева выполняется операция селекции по условию: f3 = (Pom.square< 47). Расчет стоимости выполнения операции селекции происходит по формуле:

.

Расчет стоимости в узле (3) производится по формуле:

.

Расчет стоимости в узле (4) производится по формуле:

Расчет стоимости в узле (5) производится по формуле:

Расчет стоимости в узле (6) производится по формуле:

Расчет стоимости в узле (8) производится по формуле:

Так как операция проекции располагается последней, то ее не учитывают при расчете сложности запроса.

Окончательно имеем:

.

5.2. Многотабличный запрос на выборку по условию нескольких строк и логической формулы условий столбцов с использованием "or"

В базе данных хранится информация о поступившей бытовой технике, мебели, инвентаре и помещениях, к которым они прикреплены Требуется вывести коды тренажеров, ценой более 92000, производства фирмы «Московский СпортИнвентарь», которые прикреплены к спортивным залам площадью менее 47 кв.м.

Для упрощения записи введем обозначения, представленные в таблице 5.2.

Таблица 5.3– Обозначения и пояснения

Обозначение

Пояснение

Obj

Таблица Arrived_Obj (список объектов)

Inv

Таблица Inventar (инвентарь)

InvNum

Таблица InvNum_Inv (инвентаризация)

Inv_Zal

Таблица Inv_In_Zal (инвентарь, прикреплённый к помещению )

Zal

Таблица Zal (список спортивных залов)

Pom

Таблица Pomeshenie (список помещений)

Естественное соединение таблиц

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