0
182
191
Имя поля | Тип поля | Ширина | Дробные разряды | Начало | Конец |
1 NUMBER | Numeric | 5 | 0 | 1 | 5 |
2 FIO | Character | 15 | 0 | 6 | 20 |
3 TOWN | Character | 8 | 0 | 21 | 28 |
4 STREET | Character | 20 | 0 | 29 | 48 |
5 HOUSE | Character | 3 | 0 | 49 | 51 |
6 FLAT | Character | 3 | 0 | 52 | 54 |
7 PHONE | Character | 8 | 0 | 55 | 62 |
8 KIND | Character | 12 | 0 | 63 | 74 |
9 DISCIPLINE | Character | 15 | 0 | 75 | 89 |
10 TIME | Character | 25 | 0 | 90 | 114 |
11 USLOV_RAB | Character | 15 | 0 | 115 | 129 |
12 USLOV_OPL | Character | 10 | 0 | 130 | 139 |
13 OKLAD | Numeric | 10 | 0 | 140 | 149 |
14 DATE | Date | 8 | 0 | 150 | 157 |
15 DOP_SVED | Memo | 10 | 0 | 158 | 167 |
Размеры всех полей структур БД подобраны таким образом, чтобы они включали в себя максимально возможные по длине значения, соответствующие назначению этих полей.
Некоторые атрибуты из схемы “сущность - связь” в структурах БД разбиты на два поля, например атрибут “Условия оплаты” разбит на два поля структуры БД: “USLOV_OPL” и “OKLAD”. Так принято в связи с тем, что при заполнении анкеты заказчик может в одной графе указать и условия оплаты (помесячный, почасовой оклад и так далее) и размер оклада. В БД эту информацию лучше хранить отдельно, так как условия оплаты выражаются в форме символьной строки, а размер оклада - в числовой форме, а согласно реляционной теории, в одном поле БД могут находиться только данные, имеющие один и тот же тип.
На этапе даталогического проектирования БД были построены следующие экранные формы:
- экранная форма ввода новых предложений изображена на рисунке 4.5;
Рисунок 4.5
- экранная форма ввода новых заявок изображена на рисунке 4.6;
Рисунок 4.6
- экранная форма просмотра предложений изображена на рисунке 4.7;
Рисунок 4.7
- экранная форма просмотра заявок изображена на рисунке 4.8;
Рисунок 4.8
- экранная форма условий поиска предложений изображена на рисунке 4.9;
Рисунок 4.9
- экранная форма условий поиска заявок изображена на рисунке 4.10.
Рисунок 4.10
5 Описание прикладной программы
Программа управления и обработки данных (далее - программа) в разработанной схеме отношений написана на входном языке СУБД FoxPro с использованием предоставляемых средств генератора меню, генератора экранов и генератора отчётов.
Древообразная структура вызова программных файлов и содержащихся в них процедур при работе программы представлена на рисунке А.1.
При запуске головного файла Kurs.PRG, листинг которого приведён в приложении Б, происходит инициализация переменных программы и запуск программного файла Mmm.MPR, полученного с помощью генератора меню, листинг которого показан в приложении В.
При этом в верхней строке окна FoxPro появляется строка сгенерированного меню. Структура меню программы имеет вид, изображённый на рисунке 4.1.
При выборе пункта меню “Выход” происходит инициализация в строке меню системного меню по умолчанию и завершение работы программы.
Далее изложение принципов работы программы будет вестись применительно к БД “Предложения”, так как работа со второй БД “Заявки” осуществляется полностью аналогично.
При выборе пункта меню “Просмотр предложений” активизируется файл Seepredl.SPR, полученный с помощью генератора экранов, листинг которого приведён в приложении Г (листинг файла Seezayav.SPR - в приложении Д). Этот файл представляет собой экранную форму, предназначенную для просмотра записей БД “Предложения”.
В экранной форме имеются объекты для просмотра (и/или редактирования) полей БД, четыре кнопки для движения по записям БД и кнопка “Выход”. При некорректных инструкциях по движению в БД на экран выдаётся соответствующее сообщение.
При выборе пункта меню “Поиск предложений” активизируется файл Finpredl.SPR, полученный с помощью генератора экранов, листинг которого приведён в приложении Е (листинг файла Finzayav.SPR - в приложении Ж). Этот файл представляет собой экранную форму, предназначенную для ввода значений полей БД, по которым будет осуществляться поиск. Поиск производится методом использования инструкции
SET FILTER TO <условие>
c условием, определённым введёнными значениями полей в экранной форме Finpredl.SPR. Причём те поля, значения которых не модифицировались, то есть у которых длина равна нулю, в условии поиска участия не принимают.
Полный отчёт. Этот пункт меню предназначен для формирования отчётной формы по БД. При его выборе происходит генерация отчёта, в который включаются все имеющиеся в БД на данный момент записи. Вывод отчёта происходит на принтер с параллельным его выводом на экран (чтобы удостовериться, что отчёт сгенерирован), после чего выдаётся сообщение
«Вывод отчётной формы на принтер произведён»
и происходит очистка экрана. В отчётную форму включены все основные поля БД. Примеры отчётных форм по двум БД содержатся в приложении И и в приложении К.
Отчёт по условию. Действия при выборе этого пункта меню отличаются от предыдущего тем, что вначале активизируется файл Finpredl.SPR для установления условия, по которому будет производиться отбор записей для их включения в отчётную форму по БД. Если таких записей (удовлетворяющих введённому условию) в БД нет, то выдаётся соответствующее сообщение.
При выборе пункта меню “Ввод новых предложений” запускается файл Predl.SPR, листинг которого приведён в приложении Л (Zayav.SPR - в приложении М). Этот файл представляет собой экранную форму, предназначенную для ввода информации в БД “Предложения”. Она во многом сходна с экранной формой Seepredl.SPR, но здесь есть всего две кнопки: “Ok” и “Отмена”, предназначенные соответственно для записи введённой информации в БД и для закрытия активного окна без сохранения сделанных изменений.
Перечисленные пункты меню “Предложения” практически полностью идентичны соответствующим пунктам меню “Заявки”, также тождественны между собой и действия, соответствующие этим пунктам меню.
6 Заключение
По результатам проделанной в процессе выполнения данного курсового проекта работы можно сделать следующие выводы по СУБД FoxPro. Пакет FoxPro:
- легок в использовании, таков, что даже начинающие пользователи могут работать с ним;
- обладает тонкими программными особенностями достаточной глубины и мощности, чтобы удовлетворить наиболее требовательных пользователей;
- предоставляет красивый оконный интерфейс с изящностью и доступностью графического продукта, простой, прекрасно реагирующий и очень быстрый;
- работает на небольших, очень экономичных конфигурациях аппаратного обеспечения без потери функциональности, а еще лучше - на больших, наиболее мощных конфигурациях аппаратного обеспечения;
- имеющий встроенный текстовый редактор, более мощный, чем большинство обычных систем подготовки текстов;
- работающий хорошо со всеми существующими программами в стандарте dBASE - в первый раз, каждый раз, без исключений;
- дающий доступ к тысячам прежде написанных программ;
- имеет средства отладки программ ;
- позволяет пересылать прикладные программы в неизменном виде на множестве различных платформ;
- позволяет переопределить горячие клавиши клавиатуры в соответствии с требованиями;
- имеющий встроенный редактор отчетов, который легче в использовании и более мощный, чем автономные редакторы;
- снабжен автоматической прозрачной поддержкой мыши, работающий одинаково хорошо (но, конечно, менее удобно) и без мыши;
- позволяет пользователю поддерживать большие количества данных, сотни тысяч и даже миллионы записей.
Поставленная задача была решена с максимально возможной полнотой. Результаты работы рекомендуется использовать для ведения БД в кадровом агентстве. Значимость использования СУБД определяется быстротой обработки данных на ЭВМ, меньшей вероятностью возникновения ошибок нежели при обработке вручную, более мощными ресурсами для хранения информации и так далее.