Мегаобучалка Главная | О нас | Обратная связь


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



2019-07-03 196 Обсуждений (0)
Словесная формулировка запроса 0.00 из 5.00 0 оценок




Выбрать всех клиентов, которые приобрели все без исключения препараты, перечисленные в отдельном списке – отдельной таблице.

 

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

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


 

SELECT COUNT(*); FROM product INTO ARRAY Ar SELECT clients.clientid, clients.name; FROM ((clients JOIN orders ON orders.clientid = clients.clientid) JOIN Ar ON orders.productid = Ar.productid); GROUP BY clients.clientid, clients.name; HAVING COUNT(*)=Ar;

Рисунок 2.23

 

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

Дерево запроса представлено на рисунке 2.24.

 

                                

                                      

 


                                                  

                 

 

 

 


                                                                     q2

 


 

                                    

                          q1

 


                                                                 

 

                                                                product clients

                                 

 

 

 


                       clients            orders

Рисунок 2.4


 

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

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

 

,                                                                   (2.27)

 

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

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

 - псевдонимы, используемые вместо имен таблиц для сокращения записи;

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

 

, (2.28)

                                        (2.29)

 

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

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

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

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

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

 

,

,

,

.

,                                                                        (2.30)

,                                                                               (2.31)

 

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

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

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

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

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

 

,                                                (2.32)

 

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

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

 

,

,

.

.

.

.

, (2.33)

,

,

,

,

.                         (2.34)

.

 

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

 

,                               (2.35)

,

,

,

.

.

.

                                                                                  (2.36)

 

где  - операция проекции из таблицы  атрибутов .

 

.

.

,

,

.

 

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

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

 

,                                                         (2.37)

 

Птимизированное дерево запроса

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

 

                                                                       
 


                                                  

                 

 

 

 


                                                                     q2

 


 

                                    

                          q1

 


                                                                 

 

                                                                clients

                                 

 

 

 


                       product           orders

 

Рисунок 2.25

 

Текст оптимизированного запроса на языке SQL

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

SELECT COUNT(*); FROM product INTO ARRAY Ar SELECT clients.clientid, clients.name; FROM ((orders JOIN Ar ON orders.productid = Ar.productid) JOIN clients ON orders.clientid = clients.clientid); GROUP BY clients.clientid, clients.name; HAVING COUNT(*)=Ar;

Рисунок 2.26

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

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

 

.                                                            (2.38)

,

,

,

,                                  (2.39)

.

 

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

 

,                                             (2.40)

,

,

,

.

.

.

 (2.41)

,                                   (2.42)

,

,

.

 

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

 

,                                               (2.43)

,

,

,

.

.

.

                                                                                  (2.44)

 

где  - операция проекции из таблицы  атрибутов .

 

.

.

,

,

.

 

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

 

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

 

,                                                         (2.45)

 


 

3 Рабочий проект

 

Связи таблиц

 

Связи таблиц представлены на рисунке 3.1

 

Рисунок 3.1

Внешний вид формы

 

В состав проекта входит форма Расходы аптеки, которая представлена на рисунке 3.2.

 


 

Рисунок 3.2

 

Функциональные тесты

Тест 1

Тест на проверку построения отчета в Excel.

Входные данные: запрос на выборку из базы данных.

Выходные данные: результирующая таблица.

Работа теста приведена на рисунке 3.4.

 


 

Рисунок 3.4

 


 

Заключение

 

В ходе выполнения курсовой работы была достигнута цель работы – проектирование базы данных аптеки.

Для достижения цели был решен ряд задач: составление описания предметной области; составление словаря понятий и терминов; построение исходной модели (ER-диаграммы) базы данных; определение функциональных зависимостей; синтез схемы базы данных на основании функциональных зависимостей; построение оптимизированной концептуальной модели; построение запросов на выборку.

 




2019-07-03 196 Обсуждений (0)
Словесная формулировка запроса 0.00 из 5.00 0 оценок









Обсуждение в статье: Словесная формулировка запроса

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней...
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (196)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.006 сек.)