Мурманский Государственный Технический Университет
Наименование организация:
Общежитие института.
Наименование предметной области:
Управление общежитием, учет прибывших, убывших студентов, контроль над своевременной уплатой сумм за проживание в общежитие.
Цель разработки ИС (БД):
Оперативное слежение за прибытием и отъездом студентов.
Учет свободных мест в общежитие. Организация оперативного, своевременного учета оплаты студентами проживания в общежитии.
Точка зрения:
Комендант общежития.
Перечень процессов составляющая деятельность общежития:
Описание процессов, поддерживаемых в рамках данного исследования:
Описание регламента для процессов:
Уточнение правил для выполнения процессов для ПО:
Список выявленных сущностей:
Перечень возможных запросов к базе данных:
Перечень возможных отчетов:
На основе физической модели выполнено описание структуры таблиц базы данных в табл. 1-7 представлено описание структуры файлов *.dbf.
Журнал комменданта (Logbook) зависимая Таблица 1
Заголовок поля |
Идентификатор | Ключ | Тип поля | Длина | |
1 | Номер записи | Num_rec | PK | NUMERIC | 5 |
2 | Номер комнаты | Num_room | FK | NUMERIC | 3 |
3 | Номер договора | Num_treaty | FK | NUMERIC | 5 |
4 | Дата въезда | Date_ent | DATE | 8 | |
5 | Дата выезда | Date_exit | DATE | 8 | |
6 | Оплата за место | Sum | FLOAT | 6,2 | |
7 | факт проживания | loglive | LOGICAL | 1 |
Заголовок поля |
Идентификатор | Ключ | Тип поля | Длина | |
1 | Номер студ. билета | Num_stud | PK | NUMERIC | 5 |
2 | Имя | Name | CHARACTER | 15 | |
3 | Фамилия | Surname | CHARACTER | 15 | |
4 | Отчество | Patronim | CHARACTER | 19 | |
5 | Дата рождения | BirthD | DATE | 8 | |
6 | Номер паспорта | N_pas | NUMERIC | 6 | |
7 | Серия паспорта | S_pas | CHARACTER | 5 | |
8 | Индекс | Zip | NUMERIC | 6 | |
9 | Район | District | CHARACTER | 20 | |
10 | Город | Np | CHARACTER | 20 | |
11 | Улица | street | CHARACTER | 15 | |
12 | Дом | dom | NUMERIC | 3 | |
13 | Квартира | flat | NUMERIC | 3 | |
14 | Телефон домашний | tel | NUMERIC | 9 |
Заголовок поля |
Идентификатор | Ключ | Тип поля | Длина | |
1 | Номер договора | Num treaty | PK | NUMERIC | 5 |
2 | Код специальности | Kod spec | FK | NUMERIC | 5 |
3 | Код факультета | Kod facul | FK | NUMERIC | 2 |
4 | Номер студ билета | Num stud | FK | NUMERIC | 5 |
5 | Дата заключения | Date start | DATE | 8 | |
6 | Курс | Kurs | NUMERIC | 1 |
Заголовок поля |
Идентификатор | Ключ | Тип поля | Длина | |
1 | Код специальности | kod spec | PK | NUMERIC | 5 |
2 | Название | naz spec | CHARACTER | 35 | |
3 | Короткое название | short spec | CHARACTER | 10 |
Заголовок поля |
Идентификатор | Ключ | Тип поля | Длина | |
1 | Код факультета | kod facul | PK | NUMERIC | 2 |
2 | Название | naz facul | CHARACTER | 35 | |
3 | Короткое название | short facul | CHARACTER | 5 | |
4 | ФИО декана | SNP decan | CHARACTER | 20 | |
5 | Телефон декана | tel decan | NUMERIC | 6 |
Заголовок поля |
Идентификатор | Ключ | Тип поля | Длина | |
1 | Номер комнаты | Num room | PK | NUMERIC | 3 |
2 | Количество мест | kol mest | NUMERIC | 1 | |
3 | Качество | Quality | NUMERIC | 2 | |
4 | Примечания | note | MEMO | 30 |
Заголовок поля |
Идентификатор | Ключ | Тип поля | Длина | |
1 | Номер квитанции | num receipt | PK | NUMERIC | 6 |
2 | Номер записи | num rec | FK | NUMERIC | 5 |
3 | дата оплаты | date ammou | DATE | 8 | |
4 | оплаченная сумма | sum total | FLOAT | 6,2 |
Для просмотра информации одновременно во всех таблицах их необходимо связать (установить отношения). Отношения сохраняются в файле вида (kadastr.vue). На рис.
5 отражена схема взаимосвязи таблиц.
1. Показать количество студентов, проживающих в комнате (2):
SELECT Logbook.*, Student.surname, Student.name, Student.patronic;
FROM Logbook, Student, Treaty;
WHERE Treaty.num_treaty = Logbook.num_treaty;
AND Student.num_stud = Treaty.num_stud;
AND Logbook.lognote = .T.;
GROUP BY Logbook.num_room, Student.num_stud;
HAVING Logbook.num_room = 2
2. Перечень всех студентов 4 курса проживающих в общежитии
SELECT Logbook.num_rec, Logbook.num_room, Logbook.num_treaty,;
Logbook.lognote, Student.surname, Student.name, Student.patronic,;
Treaty.kurs;
FROM Logbook, Student, Treaty;
WHERE Treaty.num_treaty = Logbook.num_treaty;
AND Student.num_stud = Treaty.num_stud;
AND Logbook.lognote = .T.;
GROUP BY Treaty.kurs, Student.num_stud;
HAVING Treaty.kurs = 4;
ORDER BY Student.surname
3. Просмотр информации о комнатах общежития: количество комнат с 4-мя местами:
SELECT Room.kolmest, COUNT(Room.num_room), Room.qualit, Room.num_room;
FROM Room;
GROUP BY Room.kolmest;
HAVING Room.kolmest = 4
4. Покозать распределение студентов по комнатам
SELECT Student.surname, Student.name, Student.patronic, Treaty.num_stud,;
Treaty.kurs, Logbook.num_room, Faculty.shot_facul, Speciali.shot_spec;
FROM Student, Room, Treaty, Logbook, Faculty, Speciali;
WHERE Treaty.num_stud = Student.num_stud;
AND Logbook.num_room = Room.num_room;
AND Student.num_stud = Treaty.num_stud;
AND Student.num_stud = Treaty.num_stud;
AND Room.num_room = Logbook.num_room;
AND Faculty.kod_facul = Treaty.kod_facul;
AND Speciali.kod_spec = Treaty.kod_spec;
AND Logbook.lognote = .T.;
GROUP BY Room.num_room, Student.num_stud
4. Описание отчетов и этикеток
На рис 7. представлена схема отчета "Список студентов 4-го курса"
На рис. 8 представлена схема экрана "Информация о комнате"