Базы данных "Выставочный комплекс" Visual FoxPro

Автор работы: Пользователь скрыл имя, 07 Марта 2014 в 21:02, курсовая работа

Краткое описание

Реляционная модель обладает следующими преимуществами:

- структурная независимость

- концептуальная простота

- простота проектирования, реализации, управления и использования

- нерегламентированные запросы

- мощная система управления базой данных.

В настоящее время невозможно представить себе деятельность любого современного предприятия без использования профессиональных СУБД.

Вложенные файлы: 1 файл

Курсовая по БД.docx

— 2.68 Мб (Скачать файл)

 

 

 

 

Таблица «Ligoty»

Рис9. Структура таблицы "Ligoty" - поле kod_ligot

Рис10. Структура таблицы "Ligoty" - поле naim_ligot

Рис. 3.1. Структура таблицы "Ligoty" - поле skidka

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица «Bilet»

 

Рис12. Структура таблицы "Bilet" - поле nomp_bilet

Рис13. Структура таблицы "Bilet" - поле regist_nomp

Рис14. Структура таблицы "Bilet" - поле kod_firmy

Рис15. Структура таблицы "Bilet" - поле kod_vyst

Рис16.  Структура таблицы "Bilet" - поле kod_ligot

Рис17.  Структура таблицы "Bilet" - поле data

Рис18.  Структура таблицы "Bilet" - поле cena_l

 

 

 

 

 

 

 

 

 

 

 

 

После завершения ввода можно просмотреть полученную структуру пустой таблицы, выбрав в меню команду Browse.

Рис19. Окно диспетчера проектов – Созданные таблицы

 

Рис20. Пустая структура таблицы «Firmy»

Заполнить таблицу можно при помощи команды Table в строке меню. В выплывающем меню выбираем Append New Record. Вводим информацию в таблицу.

 

Рис21. Заполненная структура таблицы «Firmy».

 

 

Рис22. Заполненная структура таблицы «Vystavka».

 

 

 

 

Рис23.  Заполненная структура таблицы «Ligoty».

Рис24. Заполненная структура таблицы «Bilet».

2. Выполнение индексации, связей между таблицами и целостность данных

 

Среди требований, предъявляемых к СУБД, основное место занимает возможность быстрого поиска необходимой информации. Прекрасным средством, позволяющим решить эту проблему, является использование индексов.

Для создания индекса таблицы используется вкладка Indexes окна конструктора таблицы Table Designer. Вводит в поле Name имя индекса нашей таблицы, в Type выбираем тип индексирования. Значение индекса или индексного выражения вводится в поле Expression.

Рис25. Индексирование в таблице «Firmy»

В таблице «Firmy» тип индекса kod_fim_i – Primary, так как kod_firmy является первичным ключом.

 

 

Рис26.  Индексирование в таблице «Vystavka»

Рис27.  Индексирование в таблице «Ligoty»

Рис28. Индексирование в таблице «Bilet»

 

После индексирования таблиц создается отношение между нами. Такие таблицы называются связанными. Из двух связанных таблиц одна является главной, а другая — подчиненной. Главную таблицу называют родительской, а подчиненную — дочерней.

Рис29.  Отображение связи между таблицами

Целостность данных является одним из самых важных требований, предъявляемых к базам данных.

 

Рис30. Диалоговое окно Referential Integrity Builder для определения условия целостности данных

   

Мы задаем опции так, что, если  пользователь изменит, удалит или добавит данные в родительской таблице, то все аналогичные операции автоматически произойдут и в дочерней таблице. Если же  пользователь попытается провести эти операции в дочерней таблице, то программа выдаст сообщение о том, что триггер (программа  запуска отслеживаемых связей) нарушен. Все это происходит как раз за счет налаженных связей между родительскими и дочерними таблицами.

 

 

 

 

 

 

 

 

Запросы на языке QBE

 

1.Запросы  из постановки задачи

 

Запрос  1

 

Все проданные билеты, на данную выставку.

 

SELECT Bilet.nomp_bilet, Bilet.kod_vyst;

 FROM ;

     "vystavochnyj kompleks_kurs!bilet";

 WHERE  Bilet.kod_vyst = ( "В001" )

 

 

Рис31. Запрос 1

 

 

Запрос 2

 

Список всех выставок, наименование и проданные билеты на них.

 

SELECT Bilet.nomp_bilet, Bilet.kod_vyst, Vystavka.naim_vyst;

 FROM ;

     "vystavochnyj kompleks_kurs!vystavka" ;

    INNER JOIN "vystavochnyj kompleks_kurs!bilet" ;

   ON  Vystavka.kod_vyst = Bilet.kod_vyst

 

 

 

 

Рис32. Запрос 2

 

 

 

 

 

Рис32.1 Запрос 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Запрос 3

 

Список выставок, которые организованы заданными фирмами и проданные билеты.

 

SELECT Bilet.nomp_bilet, Bilet.kod_firmy, Bilet.kod_vyst,;

  Vystavka.naim_vyst;

 FROM ;

     "vystavochnyj kompleks_kurs!vystavka" ;

    INNER JOIN "vystavochnyj kompleks_kurs!bilet" ;

   ON  Vystavka.kod_vyst = Bilet.kod_vyst;

 WHERE  Bilet.kod_firmy = ( "Ф01" )

 

 

 

 

Рис34. Запрос 3

 

 

 

 

 

Рис34.1 Запрос 3

 

 

 

 

 

 

 

 

 

 

 

 

2.Простые запросы

 

Запрос  1

 

Вывод наименований категорий льготности, кроме категорий: «Не льготный» и «Детский».

 

SELECT *;

 FROM ;

     "vystavochnyj kompleks_kurs!ligoty";

 WHERE  Ligoty.naim_ligot NOT IN ("НЕ ЛЬГОТНЫЙ", "ЛЬГОТНЫЙ ДЕТСКИ")

 

 

 

Рис35. Простой запрос 1

 

 

Рис35.1 Простой запрос 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Запрос 2

 

Вывод проданных билетов «02.15.13» с номером билета, кодом выставки и фирмы.

 

SELECT Bilet.data, Bilet.nomp_bilet, Bilet.kod_firmy, Bilet.kod_vyst;

 FROM ;

     "vystavochnyj kompleks_kurs!bilet";

 WHERE  Bilet.data = CTOD("02/15/13")

 

 

  

Рис36. Простой запрос 2

 

 

 

 

 

 

Рис36.1 Простой запрос 2

 

 

 

 

 

 

 

 

 

 

 

 

 

Запрос 3

 

Список категорий льготности и их наименования с ценой больше «50».

 

SELECT *;

 FROM ;

     "vystavochnyj kompleks_kurs!ligoty";

 WHERE  Ligoty.cena > ( 50 )

 

 

 

 

Рис37. Простой запрос 3

 

 

 

 

 

 

 

 

Рис37.1 Простой запрос 3

 

 

 

 

 

 

 

 

 

 

Запрос 4

 

Номера билетов с кодом выставки «В102» и с кодом фирмы «Ф01».

 

SELECT Bilet.nomp_bilet, Bilet.kod_firmy, Bilet.kod_vyst;

 FROM ;

     "vystavochnyj kompleks_kurs!bilet";

 WHERE  Bilet.kod_firmy = ( "Ф01" );

   AND  Bilet.kod_vyst = ( "В102" )

 

 

 

 

 

 

 

Рис38. Простой запрос 4

 

 

 

 

 

Рис38.1 Простой запрос 4

 

Рис38.2 Простой запрос 4

Запрос 5

 

Вывод всех выставочных комплексов, имеющих в наименовании сочетания букв «КО» и их коды.

 

SELECT *;

 FROM ;

     "vystavochnyj kompleks_kurs!vystavka";

 WHERE  Vystavka.naim_vyst LIKE ( "%КО%" )

 

 

 

Рис39. Простой запрос 5

 

 

 

 

 

Рис39.1 Простой запрос 5

 

 

 

 

 

 

 

 

 

 

 

 

Запрос 6

 

В таблице «Bilet» вывести все данные, кроме фирм-организаторов «Ф01».

 

SELECT *;

 FROM ;

     "vystavochnyj kompleks_kurs!bilet";

 WHERE  Bilet.kod_firmy <> ( "Ф01" )

 

 

Рис40. Простой запрос 6

 

 

 

 

 

 

Рис40. 1 Простой запрос 6

 

 

 

 

 

 

 

 

 

 

 

Запрос 7

 

Вывести из таблицы «Bilet» код фирмы и код выставки с ценой проданного билета 80 рублей.

 

 

SELECT Bilet.kod_firmy, Bilet.kod_vyst, Bilet.cena_l;

 FROM ;

     "vystavochnyj kompleks_kurs!bilet";

 WHERE  Bilet.cena_l = ( 80.00 )

 

 

 

 

Рис41. Простой запрос 7

 

 

 

 

 

Рис41.1 Простой запрос 7

 

 

 

 

 

 

 

 

 

 

 

3.Многостраничные и вычисляемые запросы

 

Запрос  1

 

Посчитать количество проданных билетов и общую сумму от продаж билетов.

 

SELECT SUM(Bilet.cena_l) AS общ_сумм,;

  COUNT(Bilet.nomp_bilet) AS кол_прод_бил;

 FROM ;

     "vystavochnyj kompleks_kurs!bilet"

 

 

Рис42. Вычисляемый запрос 1

 

 

 

 

 

 

Запрос 2

 

Вывести проданные билеты в промежутке «15.01.13 – 28.02.13», указав код льготности и наименование.

 

SELECT Bilet.data, Bilet.kod_ligot, Ligoty.naim_ligot;

 FROM ;

     "vystavochnyj kompleks_kurs!bilet" ;

    INNER JOIN "vystavochnyj kompleks_kurs!ligoty" ;

   ON  Bilet.kod_ligot = Ligoty.kod_ligot;

 WHERE  Bilet.data BETWEEN CTOD("02/15/13") AND CTOD("02/28/13")

 

 

 

Рис43. Многостраничный запрос 2

 

 

 

 

 

 

      

Рис43.1 Многостраничный запрос 2

 

 

 

 

 

 

 

 

 

 

Запрос 3

 

Определить количество проданных билетов с кодом фирмы «Ф02».

 

SELECT COUNT(Bilet.kod_vyst) AS кол_прод_бил_ф02;

 FROM ;

     "vystavochnyj kompleks_kurs!bilet";

 WHERE  Bilet.kod_firmy = ( "Ф02" )

 

 

     

Рис44. Вычисляемый запрос 3

 

 

 

 

 

 

Рис44.1 Вычисляемый запрос 3

 

 

 

 

 

 

 

 

 

 

 

 

Создание отчетов

 

Отчет представляет собой форматированное представление данных, выводимое на экран, принтер или в файл. Отчет, создаваемый в Visual FoxPro, может быть представлен в табличном виде или в свободной форме. Табличный отчет — это напечатанная таблица, в которой строка представляет собой запись, а каждый из элементов строки содержит поле исходной таблицы или вычисляемое поле. Данные в таблице упорядочены. Табличные отчеты используются для печати данных, представленных в виде списка.

В отчете «Фирмы-организаторы» на базе таблицы «Firmy» указаны все коды фирм, которые сопоставлены с их наименованиями.

Рис45. Вид отчета в конструкторе

 

Рис46. Отчет по фирмам-орагнизаторам

В отчеты помимо исходных данных таблиц были внесены изменения, которые отразились в ведомостях – подсчет данных (кодов).

 

 

 

 

 

 

 

Рис47. Вид отчета в конструкторе

 

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

Рис48. Отчет по выставочным комплексам

 

 

 

 

 

 

 

 

В отчете по категориям льготности помимо количества были добавлены строки максимальной и минимальной скидки.

Рис49. Вид отчета в конструкторе

 

Рис50. Отчет по категориям льготности.

 

 

 

 

 

 

В отчете по продажам билетов были добавлены строки суммы и средней цены билетов.

Рис51. Вид отчета в конструкторе

 

Лист будущего отчеты был отражен в альбомном виде для того, чтобы все колонки смогли поместиться в отчете и не находили на друг друга.

Рис52. Отчет по продажам билетов

 

 

Рис52.1 Отчет по продажам билетов

 

 

 

 

 

Рис52.2 Отчет по продажам билетов

 

 

 

 

 

 

 

 

 

 

Разработать форму отчетной сводки  для вычисления стоимости проданных билетов в пределах каждого  выставочного комплекса билетов по конкретной категории льготности билета.

Рис53. Вид отчета в конструкторе

 

 

 

 

 

 

 

Рис54. Отчет для вычисления стоимости проданных билетов

 

 

 

 

 

 

Рис54.1 Отчет для вычисления стоимости проданных билетов

 

 

 

 

 

 

 

Рис54.2 Отчет для вычисления стоимости проданных билетов

 

 

 

 

 

 

Создание форм

 

 

 


Информация о работе Базы данных "Выставочный комплекс" Visual FoxPro