Министерство Образования и Науки РФ
Федеральное агентство по образованию
ГОУВПО НГТУ
Кафедра ВТ
Расчетно-графическая работа
по дисциплине
"Базы данных"
"Программирование в среде FoxPro"
Факультет АВТ
Группа АП-318
Вариант 3
Студентка Юрина И.Н.
Преподаватель
Трошина Г.В.
Новосибирск 2006
Задание. 3
Краткое описание. 4
Интерфейс программы.. 6
Результаты работы.. 7
Задание 1. 7
Задание 2. 8
Задание 3. 9
Задание 4. 10
Задание 5. 11
Задание 6. 13
Задание 7. 14
Задание 8. 15
Задание 9. 16
Задание 10. 17
Задание 11. 18
Задание 12. 19
Задание 13. 20
Вывод. 21
Список литературы.. 22
Основная база данных "Антиквариат". Предусмотреть: меню, печать на экран, ввод данных, редактирование, просмотр данных. Реализовать следующие типы запросов с использованием нескольких таблиц:
1. Для каждого типа антиквариата (например, иконы, марки, значки, журналы, книги и т.п.) указать сведения о нем (наименование, год выпуска, место издания, цена, автор и т.п.).
2. Для каждого вида товара выдать список постоянных клиентов, отсортированный:
- по дате приобретения,
- в алфавитном порядке,
- по стоимости.
3. Для каждого вида товара указать сведения о поставщике (псевдоним, адрес и т.д.).
4. Найти самый дорогой вид товара, самый старый по году, найти товары с ценой выше 2000 р. (и любая другая сумма, т.е. предусмотреть ввод цены с клавиатуры).
5. Найти объем продаж заданного товара за квартал, за год – за этот же период: среднюю цену, самую дорогую и самую дешевую вещь.
6. Найти товары, поставляемые заданным поставщиком (ввод поставщика), чья дата продажи находится в заданных пределах (ввод интервала).
7. Найти товар для заданного места выпуска (выбор страны), чья стоимость находится в заданных пределах (ввод интервала).
8. Найти долю антиквариата, проданного за определенный период (ввод периода) от общего времени продажи.
9. Найти весь товар, поступивший от заданного поставщика, чья стоимость больше, чем средняя стоимость заданного товара (ввод типа), поступившего из заданной страны (ввод названия страны).
10. Найти долю дешевого товара (чья стоимость меньше заданной, ввод стоимости), поступившего от заданного поставщика и в целом.
11. Найти среднюю стоимость товара, проданного за определенный промежуток времени (ввод интервала).
12. Найти весь товар, чья стоимость выше, чем средняя стоимость товара заданного автора.
13. Найти товар, который лучше всего раскупают, указать параметры (стоимость, автор и т.д.).
Запросы реализованы посредством использования инструментов Microsoft Visual FoxPro 9.0. База данных включает в себя 4 таблицы: "Антиквариат" (pro), "Поставщики" (pos), "Место производства" (stran), "Тип товара" (tip). Фрагменты таблиц, а также схема связи между ними, приведены ниже.
Рис. 1. Таблица "Антиквариат"
Рис. 2. Таблица "Поставщики"
Рис. 3. Таблица "Место производства"
Рис. 4. Таблица "Тип товара"
Рис. 5. Связь между таблицами
В данной программе основной упор делается на работу с формами, т.к. это наиболее приемлемый и дружественный вид реализации интерфейса пользователя.
При запуске программы на экране появляется "главная форма" (glav), с помощью которой можно осуществить то, или иное действие (по заданию).
Рис. 6. Главная форма
На главной форме создано множество кнопок. Тринадцать из них называются в соответствии с номером выполняемого задания. Остальные позволяют производить работу с данными, запускать меню и завершать работу. Действия, которые выполняются с помощью этих кнопок, "всплывают" в виде подсказок при наведении курсора.
Рис. 7. Форма для работы с данными
Для каждого типа антиквариата указать сведения о нем.
Запрос реализуется с помощью кнопки "vse o tovare", находящейся на главной форме.
Текст запроса:
CLOSE TABLES
select ;
tip.tip as тип,;
pro.Naimenovanie as товар,;
pro.God_vipuska as выпущен,;
stran.Strana as место_издания,;
pro.avtor as автор,;
pos.psevdonim as поставщик,;
pro.cena as цена,;
pro.pokupatel as покупатель,;
pro.data_prodaghi as дата_продажи;
from "G:\bd\irkrgr\irgr\pro.dbf",;
"G:\bd\irkrgr\irgr\pos.dbf",;
"G:\bd\irkrgr\irgr\tip.dbf",;
"G:\bd\irkrgr\irgr\stran.dbf";
where pro.id_tip = tip.id_t;
AND pro.id_postav = pos.id_pos;
AND pro.id_stra = stran.id_stran;
order BY pro.id_tip,pro.naimenovanie
Рис. 8. Результаты работы запроса 1
Для каждого вида товара выдать список постоянных клиентов, отсортированный:
- по дате приобретения,
- в алфавитном порядке,
- по стоимости.
Рис. 9. Форма для выполнения второго задания
Текст запроса:
if thisform.optiongroup1.option1.value=1 && по дате приобретения
select tip.tip as тип,;
pro.naimenovanie as товар,;
pro.pokupatel as клиент,;
pro.Data_prodaghi as приобретен,;
pro.cena as цена;
from pro,tip;
where pro.id_tip = tip.id_t and tip.tip = thisform.combo1.DisplayValue;
order by pro.Data_prodaghi
endif
if thisform.optiongroup1.option2.value=1 && в алфавитном порядке
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.