Реферат: Управление общежитием
Факультет (Faculti): независимая Таблица 5
Заголовок поля | Идентификатор | Ключ | Тип поля | Длина | |
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 |
Комната (Room): независимая Таблица 6
Заголовок поля | Идентификатор | Ключ | Тип поля | Длина | |
1 | Номер комнаты | Num room | PK | NUMERIC | 3 |
2 | Количество мест | kol mest | NUMERIC | 1 | |
3 | Качество | Quality | NUMERIC | 2 | |
4 | Примечания | note | MEMO | 30 |
Квитанция (Receipt):зависимая Таблица 7
Заголовок поля | Идентификатор | Ключ | Тип поля | Длина | |
1 | Номер квитанции | num receipt | PK | NUMERIC | 6 |
2 | Номер записи | num rec | FK | NUMERIC | 5 |
3 | дата оплаты | date ammou | DATE | 8 | |
4 | оплаченная сумма | sum total | FLOAT | 6,2 |
2.3. Файлы вида
Для просмотра информации одновременно во всех таблицах их необходимо связать (установить отношения). Отношения сохраняются в файле вида (kadastr.vue). На рис. 5 отражена схема взаимосвязи таблиц.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 5. Схема отношений между таблицами базы данных
3. Описание запросов к базе данных
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;