Открытый Университет "интуит"


Скачать 240.27 Kb.
НазваниеОткрытый Университет "интуит"
страница2/4
ТипДокументы
1   2   3   4

Рис. 6.13. Мастер запросов - шаг 3

Шаг 4 - задание условий сортировки данных. Здесь можно выбрать последовательно 3 поля таблиц, по которым следует сортировать данные, например, n_grup, ball - упорядочить по группам, внутри групп - по баллу в порядке уменьшения (Descending).

На шаге 4а можно задать процент или количество рассматриваемых записей, здесь мы оставим без изменений условие all records - все записи.

На последнем шаге 5 выберем вариант Save query and modify it in Query Designer - Сохранить запрос и модифицировать его в Конструкторе запросов, зададим путь и имя для сохранения файла запроса.

В результате на диске будет создан текстовый файл запроса с расширением *.qpr (например, query_s1.qpr ), который может быть открыт как текстовый файл или в Конструкторе запросов с отображением всех условий запроса.

Как видим на рис. 6.14., в верхней половине Конструктора запросов показаны таблицы, используемые для отбора данных и связи между ними, в нижней части - присутствуют страницы для выбора полей таблиц ( Fields ), условий объединения ( Join ), отбора данных ( Filter ), упорядочения ( Order By ), группировки ( Group By ) и разное ( Miscellaneous ). Щелчок правой кнопкой мыши в окне вызовет контекстное меню, в котором можно выбрать позицию Output settings и задать тип сохранения результата отбора данных - Browse, Cursor, Table, Screen. По умолчанию используется режим Screen - данные сохраняются в курсоре (временной таблице, доступной только для чтения, автоматически уничтожающейся при завершении работы системы) и показываются на экране как Browse.




увеличить изображение
Рис. 6.14. Конструктор запросов

Модифицируем запрос для отбора данных только по экзаменационным оценкам за 1 семестр 2005/2006 учебного года. Для этого на странице Filter добавим новые условия: semestr = 1, val(Ocenki.ball)>1, val(Ocenki.ball)<6 и YEAR(Ocenki.data_b) = 2006 (см. рис. 6.15.).




увеличить изображение
Рис. 6.15. Страница задания условий отбора данных в Конструкторе запросов

Текст запроса на языке SQL будет выглядеть следующим образом (в контекстном меню можно воспользоваться командой View SQL ):

SELECT Spisok.n_fclt, Spisok.n_grup, Spisok.fio, Ocenki.semestr,;

Ocenki.n_predm, Ocenki.ball;

FROM ;

STUDENTS!SPISOK ;

INNER JOIN STUDENTS!OCENKI ;

ON Spisok.nz = Ocenki.nz;

WHERE Spisok.n_fclt = 1; {для всех условий задан одинаковый }

AND Ocenki.semestr = 1; {приоритет (Pri.) равный 0}

AND Ocenki.n_predm = 1;

AND val(Ocenki.ball) > 1;

AND val(Ocenki.ball) < 6; AND YEAR(Ocenki.data_b) = 2006;

ORDER BY Spisok.n_grup, Ocenki.ball DESC

Выполнив запрос (кнопка Run на стандартной панели), мы получим результат отбора данных (рис. 6.16.).




Рис. 6.16. Результаты отбора данных по запросу

Более сложный вариант - запрос с группировкой данных и расчетом групповых итогов. Поставим задачу показать средний балл для студенческих групп по экзаменационным оценкам для факультета № 1 за 1-й семестр 2005/2006 учебного года по предмету № 1. Сделать это можно путем модификации в Конструкторе предыдущего запроса.

Далее уберем лишние поля на странице Fields. При группировке данных допускается отображение только сгруппированных или итоговых данных, таких как следующие:

  • значения столбцов группировки (входящих в предложение GROUP BY);

  • расчетные значения для групп, такие, как SUM( ), AVG( ) и пр.

Не допускается отображение значений отдельных строк таблицы.

Оставим в списке полей только поле группировки - n_grup, и добавим новое поле - выражение для расчета средней оценки - AVG(VAL(ball). На странице Order By запишем одно условие - упорядочить по новому расчетному полю в порядке убывания. На странице Filter оставим все прежние условия отбора. Введем вывод результатов запроса в таблицу query_s2.dbf1

Текст запроса будет выглядеть следующим образом:

SELECT Spisok.n_grup, AVG(VAL(Ocenki.ball));

FROM ;

STUDENTS!SPISOK ;

INNER JOIN STUDENTS!OCENKI ;

ON Spisok.nz = Ocenki.nz;

WHERE Spisok.n_fclt = 1;

AND Ocenki.semestr = 1;

AND Ocenki.n_predm = 1;

AND VAL(Ocenki.ball) > 1;

AND VAL(Ocenki.ball) < 6;

AND YEAR(Ocenki.data_b) = 2006;

GROUP BY Spisok.n_grup;

ORDER BY 2 DESC;

INTO TABLE query_s2.dbf

Результаты отбора данных по запросу показаны на рис. 6.17.




Рис. 6.17. Отбор данных по запросу с группировкой

Результаты отбора данных могут быть показаны в виде диаграммы (объект Microsoft Graph). Для этого можно воспользоваться мастером построения диаграмм в VFP - в меню системы Tools - Wizards - All Wizards:, далее в окне полного списка Мастеров выбрать GraphWizard (см. табл. "Полный список Wizard-ов в VFP 9.0"). Результат построения столбчатой диаграммы показан на рис. 6.18. (после дополнительного редактирования объекта в системе VFP).

"Полный список Wizard-ов в VFP 9.0"

Application Builder

Application Wizard

Cross-Tab Wizard

Database Wizard

Documenting Wizard

Form Wizard

Graph Wizard

Import Wizard

Label Wizard

Local View Wizard

Mail Merge Wizard

Microsoft SQL Server Upsizing Wizard

One-to-Many Form Wizard

One-to-Many Report Wizard




One-to-Many Report Wizard

Query Wizard

Remote View Wizard

Report Wizard

Table Wizard

Web Publishing Wizard

Web Services Publisher




Рис. 6.18. Диаграмма, построенная по результатам запроса

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

SELECT Fclt.name_f, Spisok.n_grup, Predmets.name_p,;

AVG(VAL(Ocenki.ball));

FROM ;

STUDENTS!SPISOK ;

INNER JOIN STUDENTS!OCENKI ;

ON Spisok.nz = Ocenki.nz ;

INNER JOIN students!fclt ;

ON Fclt.n_fclt = Spisok.n_fclt ;

INNER JOIN students!predmets ;

ON Predmets.n_predm = Ocenki.n_predm;

WHERE Ocenki.semestr = ( 1 );

AND VAL(Ocenki.ball) > ( 1 );

AND VAL(Ocenki.ball) < ( 6 );

AND YEAR(Ocenki.data_b) = ( 2006 );

GROUP BY Fclt.name_f, Spisok.n_grup, Predmets.name_p;

ORDER BY Fclt.name_f, Spisok.n_grup, Predmets.name_p, 4 DESC;

INTO TABLE query_s3.dbf

Результаты отбора данных по запросу показаны на рис. 6.19.




Рис. 6.19. Отбор данных по запросу с группировкой

На основе таблицы query_s3.dbf можно построить перекрестный запрос ( Cross-Tab Wizard ) для отображения в последующем данных на одной трехмерной диаграмме с осями X (Row) - группа, Y (Column) - предмет, Z (Data) - средний балл. Страница 3 мастера с заданием этих параметров показана на рис. 6.20.




Рис. 6.20. Страница 3 мастера Cross-Tab Wizard

Текст запроса в системе VFP будет выглядеть следующим образом:

SELECT Query_s3.n_grup, Query_s3.name_p, AVG(Query_s3.avg_exp_4);

FROM ;

QUERY_S3.DBF;

GROUP BY Query_s3.n_grup, Query_s3.name_p;

ORDER BY Query_s3.n_grup, Query_s3.name_p;

INTO TABLE q_cross.dbf

DO (_GENXTAB) WITH 'Query'

BROWSE NOMODIFY

Результат выполнения перекрестного запроса показан на рис. 6.21.




Рис. 6.21. Данные перекрестного запроса

Для полученной таблицы можно построить трехмерную диаграмму с помощью Мастера GraphWizard, показанную на рис. 6.22. (после дополнительного редактирования ее в системе VFP).




Рис. 6.22. Диаграмма, построенная по данным перекрестного запроса

Разработка проекта и исполняемой программы

Основой разработки программ для операционной системы Microsoft Windows в большинстве современных систем (VFP, Delphi, Visual C++, Visual Basic и пр.) является проект ( Project ).

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

Создать новый проект можно с помощью Мастера разработки проекта или самостоятельно. Более целесообразно использовать Мастер, зачастую с этого и следует начинать при разработке сложной системы (после разработки базы данных - сразу создать проект с помощью Мастера системы VFP 6.0 -7.0 - этот Мастер при генерации стандартного проекта предложит создать также необходимые вам экранные формы, панели инструментов, отчеты, меню и пр.).

Однако иногда бывает необходимо создать небольшую исполняемую программу, работающую с базой данных, - для этого можно создать простейший проект следующим образом.

Создаем новый файл проекта ( New - Project - New file ), выбираем для нее папку и даем имя Students.pjx. В соответствующие группы пустого окна проекта добавляем созданные нами ранее экранную форму и отчет. Если вы хотите добавить в проект базу данных, она должна быть помечена как внешняя ( Exclude ). После этого окно проекта будет иметь вид, приведенный на рис. 6.23. (форма Spisok.scx выделена в нем жирно как головная программа).




Рис. 6.23. Диаграмма, построенная по данным перекрестного запроса

На странице All представлены все виды компонентов, которые могут входить в состав проекта. При работе с большими проектами удобнее пользоваться отдельными страницами проект ( Data, Documents, Classes, Code, Other ).

Справа в окне проект расположена группа кнопок, нижняя из которых - Build: - компиляция проекта. Если мы нажмем на нее, появится список для выбора типа компиляции проекта (для тех, кто забыл: компиляция - перевод исходного текста программы на машинный язык, исполняемый в данной операционной системе).

Если скомпилировать такой проект в exe-файл (рис. 6.24.), на диске появится файл students.exe, но для данного состава проекта запускаться и нормально работать он будет только из системы VFP (из Windows он запустится и тут же завершит свою работу), т.к. в нем нет головной программы с командой запуска процесса обработки событий read events.



1   2   3   4

Похожие:

Открытый Университет \"интуит\" iconОткрытый аукцион в электронной форме
Федеральное государственное бюджетное образовательное учреждение высшего образования «Санкт-Петербургский государственный архитектурно-строительный...

Открытый Университет \"интуит\" iconОбразец резюме на должность педагога
Московский Государственный Открытый Педагогический Университет им. Шолохова, факультет «Иностранных языков», специальность «Учитель...

Открытый Университет \"интуит\" iconОбразец резюме на должность педагога
Московский Государственный Открытый Педагогический Университет им. Шолохова, факультет «Иностранных языков», специальность «Учитель...

Открытый Университет \"интуит\" iconО проведении Международного открытого шахматного фестиваля
Международный открытый шахматный фестиваль "Moscow Open 2011" проводится в г. Москве с 28 января (приезд) по 7 февраля (отъезд) 2011г....

Открытый Университет \"интуит\" iconАдрес Оргкомитета
РФ, Московский государственный университет им. М. В. Ломоносова, Московский физико-технический институт (государственный университет),...

Открытый Университет \"интуит\" iconКонкурс проводится по следующим номинациям: использование информационных...
«Новосибирскийнациональный исследовательский государственный университет», Высшим колледжем информатики Университета, Институтом...

Открытый Университет \"интуит\" icon6. Срок, место и порядок предоставления документации об аукционе
Форма торгов: открытый аукцион в электронной форме (далее – открытый аукцион, аукцион)

Открытый Университет \"интуит\" iconКонкурс Открытый конкурс
Открытый конкурс по отбору управляющей организации для управления многоквартирным домом на территории муниципального образования...

Открытый Университет \"интуит\" iconДокументация об аукционе предоставляется по адресу: 101000, г. Москва,...
Форма торгов: открытый аукцион в электронной форме (далее – открытый аукцион, аукцион)

Открытый Университет \"интуит\" iconДокументация об аукционе предоставляется по адресу: 101000, г. Москва,...
Форма торгов: открытый аукцион в электронной форме (далее – открытый аукцион, аукцион)

Вы можете разместить ссылку на наш сайт:


Все бланки и формы на filling-form.ru




При копировании материала укажите ссылку © 2019
контакты
filling-form.ru

Поиск