Министерство Образования и Науки РФ
Новосибирский Государственный Технический Университет
Кафедра Вычислительной Техники
по дисциплине
Программирование в среде Visual Fox Pro
Факультет: АВТ
Группа: АМ-215
Студент: Дворкин А. Б.
Преподаватель: Трошина Г. В.
Вариант: 32
Новосибирск, 2005
Оглавление:
1. Задание.. 3
2. Структура базы данных и таблиц.. 4
2.1. Структура базы данных. 4
2.2. Структура таблиц. 5
3. Запросы к базе данных и интерфейс пользователя.. 6
3.1. Интерфейс пользователя. 6
3.2. Данные. 7
3.3. Формы и запросы.. 9
4. Выводы... 27
Сформировать несколько баз данных “Машины”, “Механик”, “Ремонт” и др. Предусмотреть: меню, печать на экран, ввод данных, редактирование, просмотр данных. С введением и использованием нескольких баз данных реализовать следующие типы запросов:
n Для каждого автомобиля указать сведения о нем (тип, год выпуска, срок эксплуатации, место изготовления, цена, скорость, вместительность и т.п.).
n Для каждого автомобиля выдать список, отсортированный:
n по году выпуска,
n в алфавитном порядке все виды,
n по цене,
n по сроку эксплуатации,
n по стоимости ремонтных работ,
n по виду ремонта.
n Найти долю «старых» машин (срок эксплуатации больше заданного, ввод с клавиатуры) от общего числа машин.
n Найти самый дорогой автомобиль (по каждому типу), самый дешевый, среднюю стоимость, найти автомобили с ценой свыше 50 т.р. (и любая другая сумма, т.е. предусмотреть ввод цены с клавиатуры).
n Найти все автомобили, поступившие из заданной страны (ввод страны), чья скорость больше заданной (ввод скорости).
n Найти количество автомобилей в гараже (по каждому типу и в целом) с заданным сроком эксплуатации (ввод срока).
n Найти все автомобили заданной вместительности (ввод) для заданного года выпуска.
n Для каждого механика указать сведения о нем (ФИО, год рождения, стаж работы, вид ремонта и т.д.).
n Найти самый дорогой вид ремонта, самый дешевый, среднюю стоимость ремонта для каждого механика и в целом, найти машины со стоимостью ремонтных работ в заданных пределах (предусмотреть ввод цены с клавиатуры) для каждого механика и в целом.
n Количество отремонтированных машин за месяц, квартал; средняя стоимость ремонтных работ за этот же период.
n Найти долю дешевых (по стоимости ремонтных работ) машин (меньше заданного, ввод ограничения) от общего числа машин (для каждого механика и в целом).
n Найти всех механиков, чей стаж находится в заданных пределах (ввод интервала) для заданного вида ремонта (выбор).
База данных AutoDB создавалась с учетом следующих соображений:
- каждая машина может быть отремонтирована несколько раз
- каждый механик может заниматься только одним видом ремонта
Поэтому сведения о ремонтах и машинах хранятся в разных таблицах, а в таблице, хранящей сведения о механиках, есть идентификатор выполняемого механиком вида ремонта.
База данных состоит из пяти таблиц:
- cars – содержит сведения о машинах
- car_types – содержит типы машин
- mechanics – содержит сведения о механиках
- repair_types – содержит виды ремонта
- repairs – содержит сведения о ремонтах
На рис. 1 представлена структура базы данных
Рис. 1. Структура базы данных AutoDB
Таблицаcars
Таблица cars содержит следующие поля:
- car_id (integer, primary) – идентификатор машины
- variety (character(20)) – марка
- car_type_id (integer, regular)– идентификатор типа машины
- manuf_year (integer) – год выпуска
- exploitation (integer) – срок эксплуатации
- manuf_place (character(20)) – страна-изготовитель
- cost (integer) – цена
- speed (integer) – скорость
- capacity (integer) – вместительность – максимальная масса груза
Таблицаcar_types
Таблица car_types содержит следующие поля:
- car_type_id (integer, primary)– идентификатор типа машины
- car_type (character(20)) – тип машины
Таблица mechanics
Таблица mechanics содержит следующие поля:
- mech_id (integer, primary) – идентификатор механика
- name (character(30)) – ФИО
- born_year (integer) – год рождения
- service_len (integer) – стаж
- rep_id (integer, regular) – идентификатор вида ремонта
Таблица repair_types
Таблица repair_types содержит следующие поля:
- rep_id (integer, primary) – идентификатор вида ремонта
- rep_type (character(40)) – вид ремонта
Таблица repairs
Таблица repairs содержит следующие поля:
- car_id (integer, regular) - идентификатор машины
- mech_id (integer, regular) – идентификатор механика
- cost (integer) – цена ремонта
- date (date) – дата ремонта
Пользовательский доступ к базе данных осуществляется с помощью меню (рис. 2). С помощью него вызываются экранные формы ввода/вывода, позволяющие производить разнообразные запросы к базе данных.
Рис. 2. Меню базы данных
- Подменю Cars позволяет добавлять, просматривать и искать по различным критериям машины (рис. 3.).
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.