ХАБАРОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Государственный Комитет РФ по высшему образованию. Кафедра ПО ВТ и АС КУРСОВАЯ РАБОТА по предмету МОДЕЛИ И БАЗЫ ДАННЫХ на тему ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ “ДИСПЕТЧЕРИЗАЦИЯ АУДИТОРНОГО ФОНДА” ( 1 тип задания ) выполнила : студентка гр. ПО-42 Вершкова Н. В проверил : преподаватель Балычев Б. В. Хабаровск, 1997. ПОЯСНИТЕЛЬНАЯ ЗАПИСКА Содержание пояснительной записки : I. ВВЕДЕНИЕ. II. ОПИСАНИЕ ИСПОЛЬЗУЕМЫХ МОДЕЛЕЙ ДАННЫХ. III. ДВЕ СТРУКТУРЫ БД. (в соответствии с выбранными моделями). IV. СРАВНИТЕЛЬНЫЙ АНАЛИЗ СТРУКТУР БД. V. ОПИСАНИЕ БД СРЕДСТВАМИ СУБД PARADOX. VI. ПРИМЕРЫ ОПЕРАЦИЙ НАД ЭЛЕМЕНТАМИ БД. VII. ЗАКЛЮЧЕНИЕ. VIII. СПИСОК ЛИТЕРАТУРЫ. I. ВВЕДЕНИЕ
В нашем университете около 400 аудиторий используемых в учебном процессе более 300 учебных групп. Каждый семестр составляется
учебное расписание, при составлении которого приходится учитывать огромное количество факторов (Учебный план , размеры и компоновку групп, вместимость и специализацию аудиторий и т. д. и т. п). Без использования специальной базы данных этот процесс поглощает огромное количество людских и временных ресурсов, создает огромное количество различных бумаг, которые в , свою очередь, тоже надо учитывать при работе.
Документы теряются, возникает бедлам и бестолковщина. Расписание исправляется, дополняется до тех пор пока все окончательно не запутаются, и тогда ... ...
Возникает База Данных для Диспетчеризации аудиторного фонда. (И, соответственно, отпадает большинство вышеперечисленных проблем) Имея в распоряжении такую базу данных, Вы без труда можете вносить новую информацию, корректировать ее и создавать отчеты. И при этом Вы освободите себя от многочасовых поисков необходимого документа, от долгой и сложной компоновки информации, и наконец - освободите свой шкаф от огромных кип бумаги. Таким образом можно сделать вывод, что такая база нужна, полезна и многофункциональна. РАЗРАБОТКА ПРЕДМЕТНОЙ ОБЛАСТИ.
Для эффективной работы диспетчерской необходимо учесть следующие объекты в данной предметной области : факультеты , специальности и группы ВУЗа, дисциплины, изучаемые группами, информация о кафедрах и преподавателях, общая информация об аудиториях, дополнительная информация о компоновке групп.
После анализа необходимой в БД информации можно выделить следующие таблицы : I. Справочники условно-постоянной информации. Информация этих справочников заносится в БД 1 раз.
Вследствие она может корректироваться и пополняться, но реально необходимость пополнения и изменения может возникнуть 1 раз в семестр перед его началом. 1) Список факультетов - Facult. Код Наименование Института института NumFac* NameFac 9(1) A45 1 Институт Информационных Технологий 2 Институт Экономики и Управления 2) Список специальностей - Special. Код Код Наименование Спец-ти института специальности Nspec* NumFac NameSpec 9(3) 9(1) A3 1 1 ПО 2 1 ВМ 3 2 ФК 3) Список групп - Group. Код Код Наименование Кол-во группы Спец-ти группы чел. Ngroup* Nspec Namegroup Kol 9(3) 9(1) A6 9(2) 1 1 ПО-42 15 2 1 ПО-41 15 3 2 BM-41 20 4) Распределение по потокам - Potokg Код Номер группы потока Ngroup* Potok* 9(2) 9(2) 1 1 2 2 1 3 2 3 5) Список кафедр - Kafedr Код Название кафедры кафедры KK* NameK 9(2) A30 1 истории 2 физики 3 электроники 6)Список преподавателей - Prep Код Код Фамилия, Имя, Отчество Учёное кафедры преподавателя преподавателя звание KK KPrep* NamePrep UchZv 9(2) 9(2) А40 А20 3 1 Коваленко А. А. доцент 2 1 Михеенко А. Н 7) Список дисциплин кафедр - Disc. Код Код Наименование кафедры дисциплины дисциплины KK KD* NameDisc 9(2) 9(2) A20 1 1 история России 1 2 история религии 8) Вид Занятий - VidZan Код вида Вид занятий занятий KVid* Vid 9(1) A20 1 лекции 2 практики 3 лабораторные работы 9) Учебный план - UchPl Код Код Код Вида Код Количество группы дисциплины занятий преподавателя часов Ngroup* KD* Kvid* KPrep KolCh 9(3) 9(1) 9(1) 9(2) 9(3) 1 1 1 1 60 1 1 2 4 30 10) Вид аудитории - VidAud Код Вида Вид аудитории аудитории KVAud* VAud 9(1) A15 1 Лекционная 2 Дисплейный класс 3 Лаборатория электроники 11) Описание Аудиторий - Auditor Аудито- Код вида Вместимость рия аудитории Aud* KVAud Vmest A5 9(1) 9(3) 317п 1 40 330п 2 10 12) Числитель/Знаменатель - Ch_Z Код Ч/З Ч/З ChZ* Ch/Z 9(1) A15 0 Числитель 1 Знаменатель 13) Аудиторная нагрузка - Raspis Аудитория День Ч/З пара поток Код Код Вида Код препо недели дис-ны занятий давателя Aud* Day* ChZ* Para* Potok ND KVD Kprep A5 9(1) 9(1) D 9(3) 9(2) 9(1) 9(2) 317п 1 0 1 1 1 2 1 317п 1 0 2 2 1 2 1 ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ. Отношение - список-таблица.
Схема отношения - конечное множество атрибутов, участвующих в отношении. Ключ отношения - один или несколько атрибутов из схемы отношения, значения которых однозначно определяют кортеж отношений и в совокупности обладают свойством неизбыточности.
Ограничение целостности - логическое ограничение, которое определяет класс допустимых состояний БД.
База Данных - это совокупность взаимосвязанных данных для некоторой предметной области, используемых одним или несколькими приложениями и хранящихся с минимальной избыточностью. II. ОПИСАНИЕ ИСПОЛЬЗУЕМЫХ МОДЕЛЕЙ ДАННЫХ.
В данной работе представлено две различных моделей данных : реляционная, иерархическая. 1. Реляционная модель данных (РМД).
РМД- совокупность изменяемых во времени, нормализованных отношений различных степеней. Основной особенностью РМД является хорошо формализованное понятие линейных списков, позволяющее использовать для линейных списков реляционное исчисление. Условные обозначения R() - схема отношения, * - ключевое поле.
Для РМД возьмем систему таблиц, разработанных в пункте ВВЕДЕНИЕ. Рассмотрим схемы отношений и функциональных зависимостей в отношениях. Схемы отношений и функциональных зависимостей. Отношение Facult. R(Facult)={NumFac, NameFac}. NumFac* >
Т. к. NameFac является возможным ключом отношения, то Facult О 3н. ф. Отношение Special. R(Special)={Nspec*, NumFac, NameSpec, Norm}. NameSpec Т. к. NameSpec - является возмож ным ключом отношения, то NSpec* NumFac SpecialО 3 н. ф. 3. Отношение Group. R(Group)={Ngroup*, Nspec, NameGroup, Kol}. NameGroup Т. к. NameGroup - является возмож ным ключом отношения, то NGroup* NSpec GroupО 3 н. ф. Kol 4. Отношение Kafedr. R(Kafedr)={KK*, NameK}. KK* NameK Т. к. NameK является возможным ключом отношения, то KafedrО 3 н. ф. 5. Отношение VidZan. R(VidZan)={KVid*, Vid}. KVid* Vid Т. к. Vid является возможным ключом отношения, то DiscО 3 н. ф. 6. Отношение VidAud R(VidAud)={KVAud*, VAud}.
KVAud* VAud Т. к. VAud является возможным ключом отношения, то DiscО 3 н. ф. 7. Отношение Ch_Z. R(Ch_Z)={ChZ*, Ch/Z}. ChZ* Ch/Z Т. к. Ch/Z является возможным ключом отношения, то DiscО 3 н. ф. 8. Отношение Potokg. R(Potokg)={NGroup*, Potok*}.
NGroup* Т. к. В данном отношении присутствуют только ключевые поля, то Sp_Disc О 3 н. ф. Potok* 9. Отношение Raspis. R(Raspis)={Aud*, Day*, ChZ*, Para*, Potok, ND, KVD, KPrep}. Aud* Potok Day* ND Examins О 3 н. ф. ChZ* KVD Para* KPrep 10. Отношение Prep. R(Prep)={KK, Kprep*, NamePrep, UchZv}. NamePrep PrepО 3 н. ф. Kprep* KK UchZv 11. Отношение Disc. R(Disc)={KD*, KK, NameDisc}. NameDisc KD* KK DiscО 3 н. ф. 12. Отношение Auditor. R(Aud*)={KVAud*, Vmest}. KVAud Aud* Auditor О 3 н. ф. Vmest 13. Отношение UchPl. R(UchPl)={NSpec*, KD*, Kvid*, Kprep, KolCh}. NSpec* KPrep KD* KolCh UchPl О 3 н. ф. KVid*
В силу того, что все проанализированные отношения принадлежат третьей нормальной форме, не возникает надобности в нормализации отношений. Ограничения целостности.
Все таблицы представляют собой таблицы с ключами. При этом, однако, для ряда отношений можно указать возможные ключи : Facult - NameFac, Special - NameSpec, Group - NameGroup Kafedr - NameK VidZan - Vid VidAud - Vaud Ch_Z - Ch/Z Ограничения по существованию.
Кардинальное число - определяет максимальное и минимальное число элементов множества В, связанных с одним элементом множества А, и наоборот. (NumFac) (Facult): (Special) (1, 1): (1, Ґ) (NSpec) (Special): (Group) (1, 1): (1, Ґ) (NGroup) (Group): (Potokg) (1, ): (1, 1) (Group): (UchPl) (1, ): (1, 1) (Potokg): (UchPl) (1, ): (1, 1) (Potok) (Potokg): (Raspis) (, 1): (1, 1) (Kafedr): (Prep) (1, 1): (1, Ґ) (Kafedr): (Disc) (1, 1): (1, ) (Prep): (Disc) (1, ): (1, ) (KPrep) (Prep): (UchPl) (1, ): (1, 1) (Prep): (Raspis) (1, ): (1, 1) (UchPl): (Raspis) (1, 1): (1, 1) (KD) (Disc): (UchPl) (1, ): (0, 1) (Prep): (Raspis) (1, ): (0, 1) (Kvid) (VidZan): (UchPl) (1, 3): (0, 1) (VidZan): (Raspis) (1, 3): (0, 1) (KVAud) (VidAud): (Auditor) (1, ): (1, 1) (Aud) (Auditor): (Raspis) (1, ): (1, 1) (ChZ) (Ch_Z): (Raspis) (1, 2): (1, 1) 2. Иерархическая модель данных (ИМД).
ИМД - класс сетевых моделей данных, в котором допускаются только структурные диаграммы в форме упорядоченного дерева. Макеты типов записей для ИМД. VYZ - однозаписевая структура. Facult NameFac 2) Special NameSpec 3) Group NameGroup Kol 4) Potokg Potok 5) Kafedr NameK 6) Prep Kprep* NamePrep UchZv 7) Disc ND* NameDisc 8) UchPl ND* KPrep KolCh 9) Auditor Aud* Vmest 10) Raspis Aud* Day* Para* Potok ND KPrep Ограничения целостности. Ограничения по существованию :
записи типов Raspis, UchPl могут содержать только такие значения поля ND (KPrep), которые присутствуют в соответствующем поле хотя бы одной записи типа Disc (Prep). Дублирование данных :
Иерархический характер модели привел к необходимости дублирования в ней части данных : кодов дисциплин ND - в записях типов Disc, Raspis, UchPl.
кодов преподавателей Kprep - в записях типов Prep, UchPl, Raspis.
Иерархический ключ- это элемент данных, значения которого уникальны только на том иерархическом пути, где он появляется, но не в БД в целом.
Для данной структуры иерархическим ключом является поле Aud. ДВЕ СТРУКТУРЫ БД. Структура БД для РМД. Facult Special Group Potokg UchPl VidZan Prep Kafedr Disc Auditor Raspis VidAud ChZ Структура БД для ИМД. VYZ Auditor Facult Kafedr Special Prep Disc Raspis Group Potokg UchPl СРАВНИТЕЛЬНЫЙ АНАЛИЗ ПРЕДСТАВЛЕННЫХ СТРУКТУР.
Как видно из представленных описаний моделей, в ИМД заметно меньше дублирование информации. Однако РМД более наглядно представляет данную предметную область. ОПИСАНИЕ БД СРЕДСТВАМИ СУБД PARADOX. Ниже представлены структуры таблиц Paradox. ПРИМЕРЫ ОПЕРАЦИЙ НАД ЭЛЕМЕНТАМИ БД.
Посредством операций реляционной алгебры, составить 3 запроса. Определить расписание для группы ПО-42. (sNameGroup=ПО-42 (Group)Potokg) Raspis = Raspisanie. Вывести список преподавателей кафедры истории. p{NamePrep}(s NameK=’История’(Kafedr) Prep)=Spisoc Вывести группы специальности ПО занимающихся в 220п. D=( p{Ngroup} (sAud=’220п ’(Raspis)) Potokg) Gr= p{Namegroup}(D (sNamespec=’ПО ’(Special) Group)) ЗАКЛЮЧЕНИЕ.
В заключение необходимо добавить, что разработанная БД мобильна, не избыточна, легко пополняема. Она, также, может быть урезана в случае необходимости. СПИСОК ЛИТЕРАТУРЫ.
При выполнении работы была использована следующая литература : конспект лекций по предмету ‘Модели и Базы Данных’, методика по предмету ‘Модели и Базы Данных’.