Структуры создаваемых баз данных
Поле | Имя | Тип | Длина |
класс | N | ||
Класс1 | С | ||
пр:год | N | ||
четв:1 | N | ||
четв:2 | N | ||
четв:3 | N | ||
четв:4 | N | ||
неусп:ч1 | N | ||
неусп:ч2 | N | ||
неусп:ч3 | N | ||
неусп:ч4 | N | ||
втгод:ч1 | N | ||
втгод:ч2 | N | ||
втгод:ч3 | N | ||
втгод:ч4 | N | ||
проп.без у/п | N | ||
по:болезни | N | ||
на:учете | N | ||
тр.семья | N | ||
Поле | Имя | Тип | Длина |
класс | N | ||
класс1 | С | ||
семьи | N | ||
дети | N | ||
фонд | N | ||
молоко | N | ||
пол1 | N | ||
пол2 | N | ||
осмотр | N | ||
хрон | N | ||
спрг | N | ||
учебн | С | ||
гпд | С | ||
упк | С |
Создадим форматные файлы отчетов для вывода информации по одномуизстолбцов таблиц: PROP FRM (пропуски), TRUD.FRM (трудные учащиеся), UPK.FRM (УПК), SOHR.FRM (сохранение контингента), WTORG.FRM (успеваемость второгодников). NEUSP.FRM (неуспевающие), SEM.FRM (многодетные семьи и опекаемые), PIT.FRM (горячее питание), MED.FRM (медицинское обслуживание), UBN.FRM (сохранность учебников), GRD.FRM (группы продленного дня).
Ниже представлены тексты некоторых программ, поддерживающие рассматриваемую информационную систему (автор -Т.П. Глазко).
Программа 140
____________ модуль MAIN. PRG _________________
erase
set colon on
set talk off
store ' ' to rl,dd,d3
do whiled3<>'3'
erase
do while dd<>'l' .and. dd <>'2' .and. dd<>'3'
@ 5,12 say ' 1). Часть 1 '
@ 6,12 say ' 2). Часть 2
@ 7,12 say ' 3). Конец работы '
@ 8,12 say ' Введите цифру ' get dd
read
loop
enddo
If dd<>'3'
do case
case dd= '1'
use newws Index kl
case dd= '2'
use newwsl Index kll
endcase
do menu
else
store '3' to d3
endif store ' ' to dd
loop
enddo
cancel
_______ МОДУЛЬ MENU.PRG ____________________
MENU.PRG поддерживает меню операций и в зависимости от выбранного пункта передает управление модулям: SERVIS2.PRG (корректировка), APPN PRG (добавление), NEWBD.PRG (создание новой БД), SERVIS3.PRG (удаление), DOC.PRG (документы). Прежде чем будет вызвана программа SERVIS2.PRG, выполняется еще одна программа - DOP.PRG, которая к этому меню добавляет запрос на классы.
Программа 141
set format to screen
store 0 to dl, d2
do while d2<>8
goto top
erase
store 0 to dl
text
МЕНЮ
1) Заполнение новой базы 4) Удаление записей
2) Добавление записей 5) Документы
3) Корректировка 6) Выход
endtext
do while d1<>l .and. dl<>2 .and. dl<>3 .and. dl<>4; .and. dl<>5 .and.
dl<>6
@ 9,1 say ' Введите цифру' get dl picture '9'
read
loop
enddo
do case
case dl=3
do DOP
do SERVIS2
case dl=2
do APPN
case dl=l
do NEWBD
case dl=4
do SERVIS3
case dl=5
do DOC
case dl=6
store 8 to d2
endcase
loop
enddo
return
_____________ модуль DOP.PRG ______________
DOP.PRG осуществляет запрос на классы, по результатам ввода формирует логическую переменную kkk. используемую в некоторых других модулях для контроля за номерами классов, kkk принимает значение «истина», если поле «класс» соответствует введенным номерам, и «ложь» - в противоположном случае.
Программа 142
store 0 to kl
store to kl
store Т to pp
*** запрос на классы
@ 10,1 say 'Какие классы*
do while pp
@ 10,13 get kl picture '99-99'
read
if val($(kl,l,2))<12 .and. val($(kl,4,2))<l2
store F to pp
endif
loop
enddo
*** Формирование логической переменной kkk
if val ($(kl,4,2))=0
store 12 to kl
else
store val($(kl,4,2))+l to kl
endif
store 'Kлacc>val ($ (kl, 1,2))—1 .and. Knacc<kl' to kkk
return
____________ модуль SERV1S2.PRG _________________
Этот модуль позволяет внести изменения в записи БД. Классы, в которых будет производиться корректировка, пользователь указывает, отвечая на запрос до вызова настоящей программы.
Программа 143
erase
set colon off
set talk off
goto top
if val(dd)=l
do shapka
else do shapkal
endif
store 1 to numl ,num2
store Т to log
store ' ' to rl
store 0 to pointer, num
store 't' to dl
count to num
do while num1<num .and. num2<num .and. log
store 10 to line
store 't' to dl
@ 21,25 say 'Нажмите«к>> для перехода к другим записям
@ 22,25 say "или ВВОД для внесения изменений'
if val(dd)=l
do newws2
else
do newws21
endif
skip - line + 10
store 10 to line
do i zm2
store pointer+1 to pointer
loop
if num1<num
skip
endif
enddo
_____________ модуль SHAPKA.PRG _____________
Программа 144
erase
text
таблица 1
Класс | Сохранение контингента | Неуспевающие | Второгодники, их успеваем. | Пропуски | Работа с трудными учащимися и их семьями | |||
Конец года | Четверти 1 2 3 4 | Четверти 1 2 3 4 | Четверти 1 2 3 4 | Без ув. причин | По болезни | Состоящ. на учете | Трудные семьи | |
endtext
return .
____________ модуль SHAPKA1.PRG ____________
Программа 145
erase
text
таблица 2
Класс | Многодетные семьи и опекаемые дети | Горячее питание | Медицинское обслуживание | Учебники, дидактические материалы | ГПД | УПК | |||||
семьи | опекаемые дети | фонд всеобуча | б/п молоко | п. | п. | Количество осмотров | Хронические заболевания | ||||
Контрольные вопросы и задания
1. Как сформировалось понятие «база данных»? Какое место базы данных занимают в структуре информационных систем?
2. В чем состоит концепция ANSI/SPARC трехуровневого представления данных?
3. Что означает «концептуальное представление данных»?
4. Из каких этапов слагается проектирование баз данных?
5. Какие принципы системного анализа используются при проектировании баз данных?
6. Охарактеризуйте основные параметры СУБД типа dBASE.
7. Каковы основные компоненты СУБД dBASE IV?
8. Каковы назначение и основные функции управляющегоцентра?
9. Файлы каких типов используются в системе dBASE?
10. Как происходит создание файла БД?
11. Охарактеризуйте возможности ввода информации в файл БД.
12. Как формируются запросы к БД?
13. Как формируются экранные формы?
14. Как происходит разработка отчетов?
15. Каков синтаксис команд командного языка dBASE?
16. Запишите команды и поясните назначение опций:
а) создания файла БД;
б) открытия файла БД;
в) создания индексного файла;
г) открытия индексного файла;
д) вызова экранных форм, редактирования и ввода данных;
е) просмотра информации;
ж) перемещения по файлу;
з) вставки и удаления записей;
и)сортировки и поиска;
к) создания экранных форм ввода-вывода;
л) оформления экранного интерфейса.
17. Запишите дополнительные команды ввода-вывода.
18. Какие команды используются для создания форм отчетов и печати отчетов?
19. Какие команды используются при создании программных файлов dBASE?
20. Как оформляются и вызываются программные процедуры?
21. Какие возможности описания и начального присвоения переменных имеются в языке dBASE?
22. Какие команды позволяют организовать диалоговые меню программ?
23. Какой вид имеют управляющие конструкции ветвления, выбора и цикла в языке dBASE?