Курсовая работа: Проектирование базы данных Аптека
,
,
, (2.24)
.
Очевидно, что
, (2.25)
,
,
,
.
.
.
Так как операция проекции располагается последней, то ее не учитывают при расчете сложности запроса.
Окончательно имеем:
, (2.26)
2.5.2 Запрос на деление
2.5.2.1 Словесная формулировка запроса
Выбрать всех клиентов, которые приобрели все без исключения препараты, перечисленные в отдельном списке – отдельной таблице.
2.5.2.2 Текст запроса на языке 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.5.2.3 Исходное дерево запроса
Дерево запроса представлено на рисунке 2.24.
q2
<