
- •Создание запросов
- •Работа № 4. Формирование простых запросов
- •Работа № 5. Формирование отчетов
- •Технология работы
- •Практическое занятие №4. Создание запроса с вычисляемым полем
- •Запросы к базе данных
- •Создание меню
- •1. Прочитать краткую справку о понятии меню.
- •2.Создание меню визуальными средствами.
Работа №1. Знакомство с СУБД VISUAL-FOXPRO. Создание базы данных, состоящей из одной таблицы.
Задание 1. Создать базу данных и изготовить структуру таблицы с информацией об учащихся «Компьютерной школы»
Ход работы:
Вызвать программу Visual-FoxPro 8.0 через меню <пуск>
Выбрать File- NEW FILE. В результате выполнения команды откроется диалоговое окно NEW(новый), в котором перечислены все типы файлов Visual-FoxPro, которые можно создать. Выбрать переключатель Database (база данных) и нажать кнопку New File (новый файл). В результате выполненных операций произойдет появление диалоговое окно Create (создать).
Далее следует выбрать папку или создать новую, где будет находится создаваемая база данных. В поле ENTER (ввод) указать имя файла базы данных school и выбрать сохранить.
Откроется окно DATABASE DESIGNER- SCHOOL (окно конструктора созданной базы данных).
5.В системном меню появится новое меню DATABASE (базы данных),
содержащее команды Конструктора базы данных Команды меню DATABASE
New Table - создание таблицы
Add Table - добавление таблицы
New Remote View- создание удаленного представления данных New Local View- создание локального представления данных Modify- модификация таблицы
Browse- редактирование таблицы в режиме Browse
Remove- удаление таблицы из базы данных
Rebuild Table Indexes- перестройка индексов
Remove Deleted Records- физическое удаление помеченных записей Edit Relationship- редактирование межтабличных связей Referential Integrity- определение целостности данных Edit Stored Procedures- редактирование хранимых процедур Clean Up Database- очистка базы данных от помеченных на удаление
Объектов
Создать базу данных можно также, набрав в командном окне команду
Create Database (имя базы данных)
6. Создание таблицы SPISOK
Для создания входящей в базу данных таблицы, требуется выполнить команду Database- New Table. Далее следует вызвать конструктор таблиц кнопка New Table (новая таблица). Откроется диалоговое Create.
Укажите нужный каталог и имя таблицы SPISOK. После присваивания
Имени таблицы откроется окно TABLE DESIGNER, которое имеет три вкладки FIELDS, INDEXES, TABLE.
Далее, чтобы создать структуру таблицы, нужно открыть вкладку FIELDS. Для работы с полями таблицы. В колонку NAME этой вкладки вводится имя поля. Его длина для свободной таблицы не должна превышать 10 символов. В колонке TYPE из предлагаемого списка следует выбрать подходящий тип для каждого поля таблицы. Набрать, для создаваемой базы данных SCHOOL, содержащей таблицу SPISOK следующие поля:
Код - numeric
Фамилия, имя, отчество- character
Год рождения, школа, класс, группа- numeric.
Для перемещения по списку полей можно использовать мышь или клавиатуру. Вставка нового поля перед выбранным INSERT. По умолчанию новому полю присваивается имя NEW Field. В любой момент имя поля и его спецификацию можно редактировать, DELETE- удаляет отмеченное поле из списка. Для сохранения структуры таблицы щелкнуть по кнопке ОК или нажать CTRL+W. После сохранения структуры система выводит запрос на ввод данных в таблицу. При положительном ответе (Y) Откроется окно для ввода данных в таблицу в режиме выполнения APPEND. Заполнить таблицу значениями.
Код |
Фамилия |
Имя |
Отчество |
Год_рождения |
школа |
класс |
группа |
1 |
Иванникова |
Анна |
Ивановна |
1984 |
1 |
9 |
101 |
2 |
Баранова |
Ирина |
Алексеевна |
1983 |
3 |
10 |
102 |
3 |
Корнилова |
Ольга |
Владимировна |
1985 |
5 |
10 |
102 |
4 |
Сидорова |
Мария |
Ивановна |
1986 |
1 |
9 |
101 |
5 |
Козлова |
Елена |
Петровна |
1985 |
4 |
10 |
103 |
6 |
Смирнова |
Ирина |
Михайловна |
1984 |
5 |
10 |
101 |
7 |
Казаков |
Антон |
Петрович |
1985 |
4 |
10 |
101 |
Задание 2. Создать форму для базы данных SCHOOL
1. Выполнить команду в главном меню NEW- FORM- NEW FILE
Создадим форму в режиме конструктора.
Далее в главном меню выбрать команду FORM- QUCK FORM
Выбрать среду окружения, т.е. выбрать таблицы для построения формы. В нашем примере это таблица SPISOK и все ее поля.
Далее нанести на форму три кнопки COMMAND BUTTON с панели инструментов FORM CONTROL, . .
Щелкнуть мышкой по; объекту и изменить свойство
Caption - набрать вперед. Далее нужно щелкнуть дважды по добавленной кнопке и набрать текст обработки события.
if .not.eof()
skip endif
thisform.refresh
Над второй кнопкой проделать аналогичные операции, свойство Caption заменить на назад. Текст обработки события
if .not.bof() skip-1
endif
thisform.refresh
Свойство Caption третьей кнопки - ВЫХОД. Текст обработки события thisform.release
6. Далее выполнить команду в главном меню выбрать
Form- Run Form
Команда SKIP перемещает указатель записи таблицы вперед или назад в
выбранной таблице.
EOF() функция конца файла, она истинна, если достигнут конец и ложна
в противном случае.
BOF() функция начала файла. Она истинна, если достигнуто
начало файла и ложно в противном случае.
If... endif в зависимости от условия выполняет те или иные
команды, находящиеся внутри конструкции.
thisform - используется в классах экранных форм для отображения обращения к включенным в нее объектам.
refresh - обновляет изображение объекта
release - выход из формы
Создание запросов
Чтобы создать запросы следует использовать QUERY DESIGNER. Для этого следует выбрать команду FILE- NEW- QUERY- QUERY WIZARD. Далее следует выполнить формирование запроса, отвечая на вопросы и нажимая клавишу NEXT.
По окончании формирование запроса в диалоговом окне, результат запроса можно оценить, выполнив команду QUERY/ RUN QUERY
Для повторного выполнения запроса, сформированного в окне конструктора, его необходимо сохранить, выполнив команду FILE- SAVE as. В открывшемся окне указать полное имя файла, в котором будет сохранено окно с полученным запросом. В результате будет создан файл, хранящий запрос с расширением QPR. Теперь для повторного выполнения запроса нужно выполнить FILE- OPEN, QUERY-RUN QUERY.
Конструктор запросов представляет несколько вариантов результата Запроса QUERY- QUERY DESTINATION. Диалоговое окно QUERY DESTINATION представляет возможность выбрать одну из кнопок BROWSE, CURSOR, TABLE, SCREEN, REPORT, LABEL.
Для просмотра результата запроса вывод направить в окно BROWSE. Будет создана временная таблица, при закрытии она удаляется из памяти.
Работа № 4. Формирование простых запросов
Задание №1. Создать базу данных РЕКИ РОССИИ, информацию для заполнения полей таблицы взять из таблицы 1.
Задание №2. Сформировать запрос, на выборку данных, позволяющих получать информацию о реках впадающих в Азовское море. Для выполнения задание использовать информацию из материала Запросы к базе данных
В главном меню активизировать команду FILE- NEW- QUERY-QUERY WIZARD
В окне WIZARD SELECTION выбрать QUERY WIZARD.
Далее в окне QUERY WIZARD выбрать созданную базу данных, таблицу с информацией и поля необходимые для создания запроса.
Далее двигаться по кнопке NEXT
На шаге FINISH создать запрос в папке, где находится база данных
Открыть созданный запрос. Тип файла query(*. qpr)
Запрос открыт в режиме «конструктора QUERY DESIGNER»
Выбрать вкладку FILTER , в ячейке FIELD NAME выбрать поле КУДА ВПАДАЕТ
В значении списка CRITERIA выбрать =
Значение списка EXAMPLE “Азовское море”
Выполнить запрос
Аналогично создать запросы для ответа на следующие вопросы:
- Определить реки, исток которых находится на Валдайской возвышенности?
- Какие реки впадают в Каспийское море?
- Какие реки короче Камы?
- Какие реки длиннее Иртыша?
Таблица 1. РЕКИ РОССИИ
Название реки |
Длинна, км |
Годовой сток, км3 |
Площадь бассейна, тыс. км2 |
Истоки |
Куда впадает |
Амур |
4416 |
350 |
1855 |
Яблоневый хребет |
Татарский пролив |
Лена |
4400 |
488 |
2490 |
Байкальский хребет |
Море Лаптевых |
Обь |
4070 |
400 |
2990 |
Предгорья Алтая |
Карское море |
Иртыш |
4248 |
323 |
1643 |
Китай |
Обь |
Енисей |
3487 |
600 |
2580 |
Восточный Саян |
Карское море |
Волга |
3530 |
255 |
1360 |
Валдайская возвышенность |
Каспийское море |
Колыма |
2129 |
44 |
643 |
Хребет Черского |
Восточносибирское море |
Урал |
2428 |
54 |
231 |
Южный Урал |
Каспийское море |
Дон |
2200 |
45 |
504 |
Среднерусская возвышенность |
Азовское море |
|
|||||
Кама |
1805 |
130 |
507 |
Верхнекамская возвышенность |
Волга |
Печера |
1809 |
130 |
322 |
Северный Урал |
Баренцево море |
Ангара |
1779 |
62 |
1039 |
Байкал |
Енисей |
Селенга |
1024 |
14 |
447 |
Монголия |
Байкал |
Кубань |
870 |
11 |
58 |
Кавказ |
Азовское море |
Нева |
74 |
|
281 |
Ладожское озеро |
Балтийское море |