База данных "Магазин косметики"

R0 = ( kod_pr, kod_tp, kod_nom ) K0 = { kod_pr } R1 = ( kod_tp, name_tp, kod_val ) K1

База данных Магазин косметики

Курсовой проект

Компьютеры, программирование

Другие курсовые по предмету

Компьютеры, программирование

Сдать работу со 100% гаранией
R19 = ( name_nom, kod_proiz, ed_izm, ves ) K19 = { name_nom, kod_proiz } R20 = ( inn_ka, name_ka ) K20 = { inn_ka } R21 = ( name_val, kurs ) K21 = { name_val } R22 = ( kod_prod, kod_nom, price_r ) K22 = { kod_prod, kod_nom } R23 = ( kod_post, kod_nom, price_rr ) K23 = { kod_post, kod_nom } R24 = ( kod_nom, name_nom, kod_str, kod_proiz) K24 = { kod_nom } R25 = ( kod_val, name_val) K25 = { kod_val } R26 = ( kod_ka, city_ka, street_ka, house_ka, office_ka, phone_ka, inn_ka, kpp_ka) K26 = { kod_ka }Рисунок 2.16 - Естественное характеристическое множество

 

2.6 Построение запросов на SQL

 

.6.1 Запрос на выборку

 

.6.1.1 Словесная формулировка запроса

Необходимо вывести название косметики фирмы «Марон Глясе», которая должна быть произведена 12.02.2007 года, в России , стоимость которой менее 1000,при этом закупочная цена должна быть указана в долларах США.

Выполняется 6 условий:

- фирма «Марон Глясе»

произведена 12.02.2007 года

в России

стоимость < 1000

цена закупочная

в $ США

 

2.6.2.1 Текст запроса на языке SQL

Текст запроса на языке SQL представлен на рисунке 2.17.

 

 

 

 

 

 

 

 

 

 

Рисунок 2.17 - Текст запроса на языке SQL

 

2.6.1.3 Исходное дерево запроса

Исходное дерево для запроса представлено на рисунке 2.18.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 2.18- Исходное дерево запроса

2.6.1.4 Расчет сложности запроса

Расчет сложности исходного запроса приведен ниже.

Расчет сложности исходного запроса приведен ниже.

 

, (2.1)

 

где - результат естественного соединения таблиц;

- таблицы, участвующие в соединении;

- операция естественного соединения.

 

, (2.2)

2.3)

 

где - число записей в таблице ;

- число записей в таблице С;

- число записей в таблице O;

- число различных значений в столбце табл.R24;

- число различных значений в столбце табл.R4.

 

,

,

,

.

 

, (2.4)

 

, (2.5)

 

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

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

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

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

Очевидно, что

 

, (2.6)

 

где - объем в байтах поля ;

 

,

,

.

.

.

.

 

, (2.7)

 

,

,

,

,

. (2.8)

 

.

Очевидно, что

 

, (2.9)

 

,

,

,

.

.

.

 

, (2.10)

 

,

,

,

,

 

. (2.11)

 

.

Очевидно, что

 

, (2.12)

 

,

,

,

.

.

.

, (2.13)

,

,

,

,

 

. (2.14)

 

.

 

Очевидно, что

 

, (2.15)

,

,

,

.

.

.

 

, (2.16)

 

,

,

,

,

 

. (2.17)

 

.

 

Очевидно, что

 

, (2.18)

 

,

,

,

.

.

.

(2.19)

 

где - операция селекции с логической формулой .

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

%2025%20and%20R24%20name.nom%20=%20%c2%ab%20%d0%9c%d0%b0%d1%80%d0%be%d0%bd%20%d0%93%d0%bb%d1%8f%d1%81%d0%b5%c2%bb%20and%20R4%20name_str%20%c2%ab%d0%a0%d0%be%d1%81%d1%81%d0%b8%d1%8f%c2%bb">= R1.name_tp = «Закупочная» and R25.name.val = «USD» and R11.date_post = «12.02.2007» and R23.price_rr > 25 and R24 name.nom = « Марон Глясе» and R4 name_str «Россия»

 

,

 

, (2.21)

 

.

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

,

.

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

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

, (2.22)

 

.

 

2.6.1.5 Оптимизированное дерево запроса на основании операции селекции

Оптимизированное дерево для запроса представлено на рисунке 2.19

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 2.19 - Оптимизированное дерево запроса

Текст оптимизированного запроса представлен на рисунке 2.30

 

 

 

 

 

 

Рисунок 2.20

 

2.6.1.6 Расчет сложности оптимизированного запроса на основании селекции

Расчет сложности оптимизированного запроса на основании селекции приведён ниже.

 

, (2.23)

 

где - операция селекции с логической формулой .

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

 

, (2.24)

 

,

,

 

, (2.25)

 

.

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

,

.

 

, (2.26)

 

где - операция селекции с логической формулой .

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

 

, (2.27)

 

,

,

 

, (2.28)

 

.

 

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

,

.

 

, (2.29)

 

где - результат естественного соединения таблиц;

- таблицы, участвующие в соединении;

- операция естественного соединения.

 

, (2.30)

 

(2.31) ,

,

,

.

 

, (2.32)

, (2.33)

 

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

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

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

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

Очевидно, что

 

, (2.34)

 

где - объем в байтах поля ;

 

,

,

.

.

.

.

 

, (2.35)

 

где - операция селекции с логической формулой .

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

 

, (2.36)

 

,

,

 

, (2.37)

 

.

 

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

 

,

.

 

, (2.38)

 

,

,

,

,

 

, (2.39)

.

 

Очевидно, что

 

, (2.40)

 

,

,

,

.

.

.

 

, (2.41)

 

где - операция селекции с логической формулой .

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

 

, (2.42)

 

,

,

, (2.43)

 

.

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

,

.

, (2.44)

, ,

,

,

 

, (2.36)

 

.

 

Очевидно, что

 

, (2.45)

 

,

,

,

.

.

.

, (2.46)

 

где - операция селекции с логической формулой .

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

 

, (2.47)

 

,

,

 

, (2.48)

 

.

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

,

.

 

, (2.49)

 

,

,

,

,

 

, (2.50)

.

 

Очевидно, что

 

, (2.51)

,

,

,

.

.

.

 

, (2.52)

 

где - операция селекции с логической формулой .

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

 

, (2.53)

 

,

,

 

, (2.54)

 

.

Похожие работы

<< < 1 2 3 4 5 6 >