К запросам по получению информации для одной таблицы тесно примыкает операция получения перекрестной таблицы (кросстабуляция). Не смотря на то, что для нее не используются средства QBE рассмотрим ее реализацию здесь в связи с тем, что она очень часто используется совместно с QBE- запросами.
Как следует из предыдущих лекций человеко-ориентированное представление информации может кардинально отличаться от представления ее в БД. Например, человеко-ориентированный вариант структуры нагрузки по учебным дисциплинам представлен на рис. 6а.11, а нормализованная регулярная структура для хранения этих данных на рис. 6а.12.
+----------------------------------------------------------------+
¦ ¦ Виды занятий ¦
¦ Дисциплина +----------------------------------------------+
¦ ¦ Лекции¦ Пр.зан.¦ Лаб.раб.¦Конс.¦ ... ¦Экз.¦
+-----------------+---------+--------+---------+-----+------+----¦
¦Иностранный язык ¦ ¦ 30 ¦ ¦ ¦ ¦ ¦
+-----------------+---------+--------+---------+-----+------+----¦
¦Физкультура ¦ ¦ 60 ¦ ¦ ¦ ¦ ¦
+-----------------+---------+--------+---------+-----+------+----¦
¦Программирование ¦ 40 ¦ 20 ¦ 40 ¦ 4 ¦ ¦ 15 ¦
+----------------------------------------------------------------+
Рисунок 6а.11
+----------------------------------+ ------------------------+
¦ Дисциплина ¦Вид занят¦й Объем ¦ ¦Вид зан. ¦ Наименование¦
+-------------+---------+----------¦ +---------+-------------¦
¦ Иностранный ¦ 2 ¦ 30 ¦ ¦ 1 ¦ Лекции ¦
¦ язык ¦ ¦ ¦ +---------+-------------¦
+-------------+---------+----------¦ ¦ 2 ¦ Пр.зан. ¦
¦ Физкультура ¦ 2 ¦ 60 ¦ +---------+-------------¦
+-------------+---------+----------+ ¦ 3 ¦ Лаб.раб. ¦
¦ Программиров¦ 1 ¦ 40 ¦ +---------+-------------¦
+-------------+---------+----------¦ ¦ 4 ¦ Конс. ¦
¦ Программиров¦ 2 ¦ 20 ¦ +---------+-------------¦
+-------------+---------+----------¦ ¦ 5 ¦ Экз. ¦
¦ Программиров¦ 3 ¦ 40 ¦ ¦ ¦ ¦ +-------------+---------+----------¦ +-----------------------+
¦ Программиров¦ 4 ¦ 4 ¦
+-------------+---------+----------¦
¦ Программиров¦ 5 ¦ 15 ¦
+----------------------------------+
Рисунок 6а.12
Кросс-табуляция (создание перекрестных таблиц) конвертирует данные из нормализованной формы к структуре электронной таблицы. Она позволяет также суммировать данные из одного поля в группах записей, определяемых значениями двух других полей. Результативная таблица называется СУММАРНОЙ ПЕРЕКРЕСТНОЙ ТАБЛИЦЕЙ, имеет идентификатор CrossTab и имеет статус временной таблицы. Информация в эту таблицу извлекается путем указания трех колонок исходной таблицы:
¨ поле для создания меток строк,
¨ поле для создания меток столбцов,
¨ поле значений.
В нашем случае поле Disc будет служить для меток строк, поле Vz - для создания меток столбцов, поле Q - для подсуммирования. При этом предполагается, что для таблиц БД выполнен запрос с результатом, представленным на рис. 6а.13. Выполнив этот запрос, а затем указав в услуге Image\Graph\CrossTab нужные поля Disc, Vz и Q, получим
Tab1
+----------------------------------+
¦ Дисциплина ¦Вид занят¦ Объем ¦
¦-------------+---------+----------¦
¦ Disc* ¦ Vz* ¦ Q ¦
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.