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

5.1.3. Исходный запрос на языке sql

Текст исходного запроса на SQL представлен на рисунке 5.5.

SELECT ARRIVAL_OBJ.code_object, ARRIVAL_OBJ.price, INVENTAR.naimenovanie, POMESHENIE.num_p, POMESHENIE.square

FROM POMESHENIE INNER JOIN (ZAL

INNER JOIN (((ARRIVAL_OBJ

INNER JOIN INVENTAR ON

ARRIVAL_OBJ.code_object = INVENTAR.code_object)

INNER JOIN INVNUM_INV ON

(ARRIVAL_OBJ.code_object = INVNUM_INV.code_object) AND

(INVENTAR.code_object = INVNUM_INV.code_object))

INNER JOIN INV_IN_ZAL ON

INVNUM_INV.inv_number = INV_IN_ZAL.inv_number) ON

ZAL.num_p = INV_IN_ZAL.num_p) ON

(INV_IN_ZAL.num_p = POMESHENIE.num_p) AND (POMESHENIE.num_p = ZAL.num_p)

WHERE

(((ARRIVAL_OBJ.price)>92000) AND

((POMESHENIE.square)<47) AND

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

Рисунок 5.5

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

Для оценки стоимости выполнения операций реляционной алгебры используются следующие обозначения:

  • T(R) – количество строк в таблице R;

  • V(R,a) – количество разных значений в столбце a в таблице R.

В таблице 5.2 представлена статистика для оценки временных характеристик запроса.

Таблица 5.2

Таблица ARRIVAL_OBJ

Таблица INVENTAR

Таблица INVNUM_INV

T(OBJ) = 125155

T(INV) = 41690

T(INV_NUM) = 41690

V(OBJ,код) = 125155

V(INV,код) = 41690

V(INV_NUM, код) = 41690

V(INV_NUM, инв. номер) = 41690

Таблица INV_IN_ZAL

Таблица ZAL

Таблица POMESHENIE

T(INV_ZAL) = 41690

T(ZAL) = 50

T(POM) = 50

V(INV_ZAL, инв. номер) = 41690

V(ZAL, номер помещения) = 50

V(POMESHENIE, номер помещения) = 50

V(INV_ZAL, номер помещения) = 50

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

.

,

,

где - число блоков, записанных в таблице ;

- длина одной записи таблицы в блоках;

- длина одной записи таблицы в байтах;

- размер одного блока.

Расчет стоимости выполнения операции реляционной алгебры в узле (2) происходит по формуле:

.

Расчет стоимости выполнения операции реляционной алгебры в узле (3) происходит по формуле:

.

Расчет стоимости выполнения операции реляционной алгебры в узле (4) происходит по формуле:

.

Расчет стоимости выполнения операции реляционной алгебры в узле (5) происходит по формуле:

.

Расчет стоимости выполнения операции реляционной алгебры в узле (6) где - операция селекции с логической формулой .

Формула имеетвид:

(((ARRIVAL_OBJ.price)>92000) AND

((POMESHENIE.square)<47) AND

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

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

.

Так как операция селекции не изменяет структуру таблицы, то

,

.

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

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

.

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