Создание базы данных «Пресса», страница 2


3. Структура связей между таблицами

Структура связей между таблицами представлена на рис.4

Рис.4. Связи между таблицами базы данных ‘pressa’

4. Интерфейс пользователя

Как уже было сказано выше, данная программа выполнена на основе меню. На рис.5 представлено меню, которое появляется сразу же после запуска программы

Рис.5. Внешний вид меню пользователя

5. Описание работы меню

  1. Первый пункт меню называется ‘Edit’(редактирование). Редактирование возможно как в таблице, так и в форме

            

Рис.6. Подменю пункта ‘edit’ (редактирование)


  1. Второй пункт называется ‘view’(просмотр). Он предназначен для просмотра таблиц данных

Рис.7. Подменю пункта ‘view’(просмотр)

3.Третий пункт называется ‘queries’(запросы). Он позводяет осуществлять различные запросы в базе данных и выводить на экран их результат

Рис.8. Подменю пункта ‘queries’(запросы)

4.Четвертый пункт называется ‘About’. В нем сдержтся информация о программе и о ее разработчике

Рис.9. Пункт меню “About”

6. Руководство пользователя

При запуске меню активируется меню, которое предоставляет доступ к основным формам для работы с базой данных. Все запросы выполнены по «шаблону» - каждый запрос имеет примерно одинаковый вид. Это заголовок, в котором детально описан запрос, поля для выбора и ввода данных (combo box, text box). Для того, чтобы вызвать меню нужно в менеджере проекта, выбрав вкладку ‘menu’, нажать копку ‘run’. Либо в оболочке Visual FoxPro 6.0 (или другой с номером выше 6.0.) в меню ‘Program’ выбрать пункт ‘Do’, после чего указать путь к файлу menu.mpr. Стандартное меню исчезнет, и появится меню данной программы. После этого можно выбирать нужные команды меню и осуществлять необходимые действия.


7. Тексты программ с комментариями

По заданию необходимо было реализовать 18 запросов. Ниже приведен текст каждого из них и результат выполнения этого запроса.

Form_01.scx

Для каждого вида прессы выдать список, отсортированный:

1. В алфавитном порядке по наименованию

2. По тиражу

3. По стоимости

Рис.10. Форма “form_01.scx”

Обработка кнопки «Сортировка в алфавитном порядке»:

SELECT Press.name_press, typ.Type_ as Type_of_press, Press.price;

FROM  pressa!press INNER JOIN pressa!typ;

ON  Press.id_type = Typ.id_type;

WHERE press.id_type=(SELECT typ.id_type FROM pressa!typ WHERE typ.Type_=thisform.combo1.value);

ORDER BY Press.name_press

Обработка кнопки «Сортировка по тиражу»:

SELECT Press.name_press, Press.circulation, typ.Type_ as Type_of_press;

FROM  pressa!press FULL JOIN pressa!typ;

FULL JOIN pressa!publisher ;

ON  Press.id_publisher = Publisher.id_publisher ;

ON  Press.id_type = Typ.id_type;

WHERE press.id_type=(SELECT typ.id_type FROM pressa!typ WHERE typ.Type_=thisform.combo1.value);

ORDER BY Press.circulation

Обработка кнопки «Сортировка по стоимости»:

SELECT Press.name_press, Press.price, typ.Type_ as Type_of_press;

FROM  pressa!press FULL JOIN pressa!typ;

FULL JOIN pressa!publisher ;

ON  Press.id_publisher = Publisher.id_publisher ;

ON  Press.id_type = Typ.id_type;

WHERE press.id_type=(SELECT typ.id_type FROM pressa!typ WHERE typ.Type_=thisform.combo1.value);

ORDER BY Press.price, Press.name_press

Результаты работы запроса:

  

Рис.11.Результаты работы  формы “form_01.scx”


Form_02.scx

Найти самое дорогое издание, самое дешевое, среднюю стоимость для каждого вида прессы и в целом

Рис.12. Форма “form_02.scx”

Обработка кнопки «Самое дорогое издание»:

LOCAL kol(1)

SELECT count(typ.type_);

FROM pressa!typ;

INTO ARRAY kol