Построение информационной и даталогической моделей данных
Министерство образования, культуры и здравоохранения
Республики Казахстан
ВУЗ АВИЭК
ФАКУЛЬТЕТ ИНФОРМАТИКИ
КОНТРОЛЬНАЯ РАБОТА
По дисциплине «базы данных, базы знаний»
Тема: «построение информационной и даталогической моделей данных»
Выполнил:
ст. гр. ПОС-96-1 з/o
Гринев М.В.
Принял:
Алматы 1999 г.
Цель работы: построение упрощенной информационной и даталогической моделей пункта мобилизации и учета военнобязанных граждан.
Для организации учета военнобязанных граждан необходимо располагать следующей информацией:
1. Фамилия
2. Имя
3. Отчество
4. Дата рождения
5. Место работы или учебы
6. Домашний адрес
7. Пригодность к службе
8. Уникальный, индивидуальный номер
9. Гражданская специальность
10. Шифр воинской части
11. Род войск
Все вышеперечисленные данные разбиты в две таблицы, имеющие одинаковое поле «Уникальный, индивидуальный номер» для последующей статистической обработки всех данных в обеих таблицах.
Ниже приводятся структуры таблиц и текст программы обработки, которая обеспечивает ввод, изменение, удаление данных в таблицах.
Структура таблицы 1 (результат выполнения команды list stru to struct1.txt)
Structure for database: C:\WORK\SEMESTR7\BZ_BD\KONTR1.DBF
Number of data records: 15
Date of last update : 22.11.99
Field Field Name Type Width Dec Index
1 SNAME Character 20
2 NAME Character 15
3 FNAME Character 15
4 DR Date 8
5 ADRES Character 25
6 M_RAB_UCH Character 15
7 GODNOST Logical 1
8 ID Numeric 3
** Total ** 103
структура таблицы 2 (результат выполнения команды list stru to struct11.txt)
Structure for database: C:\WORK\SEMESTR7\BZ_BD\KONTR1_1.DBF
Number of data records: 25
Date of last update : 22.11.99
Field Field Name Type Width Dec Index
1 ID Numeric 3
2 CPECIAL Character 18
3 ROD_VOISK Character 10
4 CHAST Character 10
** Total ** 42
Текст программы обработки данных (содержание файла kontr1_1.prg)
set defa to c:\work\semestr7\bz_bd
set date german
set cursor off
set status off
set bell off
set deleted on
clear macros
on key
clear
use kontr1 in a
sele a
index on sname to sname.idx compa
use kontr1_1 in b
sele b
index on id to id.idx compa
sele a
brow nowait title '^T-del. ^N-add. мобилизация-99 ^W-выход';
fields sname: H='фамилия':20,;
name: H='имя':15,;
fname: H='отчество':15,;
dr: H='дата рождения':8,;
adres: H='домашний адрес':25,;
m_rab_uch: H='место работы/учебы':15,;
godnost: H='пргодность':1,;
id: H='UIN':3
sele b
browse nowait title '^T-del. ^N-add. распределение-99 ^W-выход';
fields id: H='UIN':3,;
cpecial: H='гражд. специальность':18,;
rod_voisk: H='войска':10,;
chast: H='шифр части':10
Для облегчения поиска и простоты работы обе таблицы (базы) проиндексированы по 1 полю первая по полю sname, вторая по полю id. Таким образом при отображении данные упорядочиваются по указанным полям.