Создание и заполнение базы данных «Авиасалон», страница 2


Рис. 7. Поиск дорогих, дешёвых самолётов, а также средней стоимости.

Рис. 9. Самолёты заданного производителя, с учётом вместительности.

Рис. 11. Самолёты данного типа в определ. период, с определённой стоимостью.

Рис. 8. Самолёты свыше заданной цены.

Рис. 10. Самолёты с заданным типом для заданного срока эксплуатации.

 Рис. 12. Виды ремонта для заданного типа самолёта и в целом.


Рис. 13. Самолёты со стоимостью ремонтных работ, не превышающие данного ограничения .


Рис. 14. Количествоотремонтированных самолётов  и средняя стоимость ремонтных работ за последний месяц, квартал.

Рис. 15.  Доля дешёвых самолётов, не превышающих стоимости ремонтных работ больше заданного.


7. Графическое представление связей между файлами

Рис.16 Связи в БД

8. Файлы базы данных

Рис. 17. Таблица «Aviasalon» базы данных


Рис. 18. Таблица «Samolet» базы даных.

      .

Рис. 19. Таблица «Tip» базы данных.



9. Структуры файлов баз данных

Для решения задачи в среде Visual FoxPro 6.0 были созданы следующие таблицы:

Таблица «Авиасалон», внутренне имя – aviasalon.dbf

Поле

Тип поля

Описание

Тип

Character(15)

Тип самолёта

Вид_самолёта

Integer(4) (Regular )

Идентификатор вида самолёта

Вид_ремонта

Integer(4) (Regular )

Идентификатор вида ремонта

Год_выпуска

Date(8)

Год выпуска

Дата_ремонта

Date(8)

Дата ремонта

Срок_эксплуатации

Numeric(3)

Срок эксплуатации

Скорость

Numeric(10)

Скорость

Стоимость_ремонта

Numeric(4)

Стоимость ремонта

Цена_производителя

Numeric(8)

Цена производителя

Место_изготовления

Character(8)

Место изготовления

Вместительность

Character(8)

Вместительность

Таблица «Самолёт», внутреннее имя – Samolet.dbf

Поле

Тип поля

Описание

Id_вид_самолета

Integer(4) (primary)

Идентификатор вида самолёта

Вид_самолёта

Character(15)

Вид самолёта

Таблица «Виды ремонта», внутренне имя – Vid_remonta.dbf

Поле

Тип поля

Описание

Id_вид_ремонта

Integer(4) (primary)

Идентификатор вида ремонта

Был_небыл_ремонт

Character(30)

Был или не был ремонт

Вид_ремонта

Character(30)

Вид_ремонта

10. Тексты программ

Все запросы выполнены с помощью языка запросов SQL (Structured Query Language).

Код сортировки самолётов:

SELECT samolet.вид_самолёта, aviasalon.тип, aviasalon.год выпуска, aviasalon.срок_эксплуатации,;

 aviasalon.место_изготовления, aviasalon.цена_производителя, aviasalon.скорость,;

  aviasalon.вместительность, vid_remonta.был_небыл_ремонт,;

  vid_remonta.вид_ремонта, aviasalon.дата_ремонта, aviasalon.стоимость_ремонта;

FROM  data_avia!aviasalon;

INNER JOIN data_avia!samolet ON aviasalon.вид_самолёта = samolet.id_вид_самолёта;

INNER JOIN data_avia!vid_remonta ON aviasalon.вид_ремонта = vid_remonta.id_вид_ремонта;

WHERE aviasalon.вид_самолёта == (select samolet.id_вид_самолёта FROM data_avia!samolet;

WHERE  samolet.вид_самолёта == thisform.combo1.value);

order by aviasalon.год_выпуска

SELECT samolet.вид_самолёта, aviasalon.тип, aviasalon.год выпуска, aviasalon.срок_эксплуатации,;

 aviasalon.место_изготовления, aviasalon.цена_производителя, aviasalon.скорость,;

  aviasalon.вместительность, vid_remonta.был_небыл_ремонт,;

  vid_remonta.вид_ремонта, aviasalon.дата_ремонта, aviasalon.стоимость_ремонта;

FROM  data_avia!aviasalon;

INNER JOIN data_avia!samolet ON aviasalon.вид_самолёта = samolet.id_вид_самолёта;

INNER JOIN data_avia!vid_remonta ON aviasalon.вид_ремонта = vid_remonta.id_вид_ремонта;