Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Упорядочения ответа



В современных СУБД широко используются табличные языки запросов. Наиболее распространенным среди них является язык QBE (Query-By-Example - запрос по примеру). Язык QBE предназначен для работы в интерактивном режиме и ориентирован на конечного пользователя. Язык QBE реализован во многих современных СУБД, например в dBase IV и более старших версиях этой системы, Paradox, Access и др. Конкретные реализации этого языка несколько отличаются друг от друга, но все они построены по единому принципу.

Суть подхода, воплощенного в языке QBE, заключается в следующем. В окне формирования запроса выделяются две зоны. В первой из них высвечивается «скелет» (образ, форма, структура) одной или нескольких таблиц, данные из которых будут участвовать в запросе. В качестве исходных для запроса могут указываться не только базовые таблицы, но и другие запросы.

Во второй зоне («скелете» запроса табличной формы) пользователь задает условия запроса. В этой зоне пользователь определяет, какие поля участвуют в формировании запроса, а также условия отбора и некоторые другие характеристики запроса. Например, если пользователю необходимо получить все записи с заданным значением конкретного атрибута, то в соответствующем столбце «скелета» указывается это значение.

На рис. 6.1 представлен запрос к таблице, содержащей сведения о сотрудниках (Kadr) и включающей следующие атрибуты:

· FAM - фамилия; IMIA - имя; TABN - табельный номер; VOZR - возраст; POL - пол;

· ADR - адрес.

Требуется выдать информацию обо всех сотрудниках в возрасте 40 лет. В соответствующем столбце таблицы (VOZR) указывается цифра 40. В столбце можно записывать не только значение атрибута, но и знак операции сравнения; по умолчанию принимается знак равенства («=»).

На рис. 6.2 изображен запрос: «Выдать информацию о сотруднике с фамилией Диго и именем Светлана», а на рис. 6.3 - «Выдать информацию о сотрудниках, имеющих либо фамилию Диго, либо имя Светлана».

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

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

Так, в dBase IV таблицы как в зоне «запроса», так в зоне «ответа» представляются в табличном виде, а условия отбора записей указываются в таблицах зоны «запроса». В Access, FoxPro исходные таблицы представлены в анкетной форме (поля таблицы перечисляются один под другим), а в зоне «ответа» в табличной форме отображаются те атрибуты (поля), которые будут выдаваться в ответе. Условия отбора записей задаются в зоне «ответа».

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

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

Агрегирующие показатели могут быть включены не только в «Запросы», но и в «Отчеты». Возможности включения агрегирующих показателей в запросы и отчеты различаются между собой. Результатом запроса всегда является плоская таблица. Поэтому в запросах могут быть получены только одноуровневые итоги. В отчетах же может быть получено несколько степеней итогов.

Набор агрегирующих функций может быть различным в разных системах. Обычно во всех реализациях СУБД включены следующие функции: Sum (сумма), Min (минимум), Мах (максимум), Avg (среднее), Count (подсчет). Некоторые системы включают дополнительные статистические функции, такие, как отклонение, стандартное отклонение, дисперсия и др.

Использование агрегирующих функций предполагает, что таблица упорядочена по тому полю (полям), по которому ведется агрегирование. Некоторые СУБД сами автоматически выполняют упорядочение данных по необходимым полям, другие - нет. В последнем случае, если пользователь не задаст правильно требуемое упорядочение, результат, выводимый в ответ, будет искаженным.

Задача.

Построить ER-модель для следующей предметной области.

Имеется овощной магазин с разветвленной сетью овощных киосков.

По каждому киоску известен его адрес и месячная арендная плата.

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

Выручка за товар(исчисляемое)= Цена*Кол-во проданного

Выручка за товар за месяц месяц= Выручка за день*кол-во дней

Прибыль за день= Цена*Кол-во проданного -Товар.Цена_поставщика*Кол-во поставки

Итог за день=Sum(сумма выручки за товар)

Билет 16.





Дата публикования: 2015-10-09; Прочитано: 581 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...