2.2. Определение связей информационных объектов, построение информационно-логической модели и ER-диаграммы
Для построения информационно-логической модели сначала построим матрицу смежности — это квадратная матрица по числу ИО, которая заполняется по строкам. Элемент матрицы на пересечении строки и столбца равен 1, если ИО, стоящий в строке, связан с ИО, стоящим в столбце, отношением один ко многим, тип функциональной связи во внимание не принимается.
Существуют следующие типы отношений между объектами:
¨ Один-к-одному (1:1). Каждому экземпляру первого информационного объекта соответствует только один экземпляр второго информационного объекта
¨ Один-ко-многим (1:М). Каждому экземпляру одного информационного объекта соответствует несколько экземпляров другого информационного объекта, а каждому экземпляру второго информационного объекта соответствовать не более одного экземпляра первого информационного объекта.
¨ Многие-ко-многим (М:М). Каждому экземпляру одного информационного объекта соответствует несколько экземпляров другого информационного объекта и каждому экземпляру второго информационного объекта может соответствовать несколько экземпляров первого.
В результате анализа получили 8 информационных объектов: ДНИ НЕДЕЛИ, АУДИТОРИИ, РАСПИСАНИЕ ЗВОНКОВ, УЧЕБНЫЙ ПЛАН, ГРУППЫ, ДИСЦИПЛИНЫ, РАСПИСАНИЕ, ПРЕПОДАВАТЕЛИ. Проведем попарный анализ связей между ними:
Дни недели (1) Расписание (7). Тип связи 1:М. Связь между этими объектами обеспечивается с помощью реквизита Код дня недели. Аудитории (2) Расписание (7). Тип связи 1:М. Связь между этими объектами обеспечивается с помощью реквизита Номер аудитории. Расписание звонков (3) Расписание (7). Тип связи 1:М. Связь между этими объектами обеспечивается с помощью реквизита Номер пары. Учебный план (4) Дисциплины (6). Тип связи 1:М. Связь между этими объектами обеспечивается с помощью реквизита Дисциплина. Группы (5) Расписание (7). Тип связи 1:М. Связь между этими объектами обеспечивается с помощью реквизита Код группы. Дисциплины (6) Расписание (7). Тип связи 1:М. Связь между этими объектами обеспечивается с помощью реквизита Код дисциплины. Преподаватели (8) Расписание (7). Тип связи 1:М. Связь между этими объектами обеспечивается с помощью реквизита Табельный номер преподавателя.По этим данным можно построить матрицу смежности, которая позволяет выстроить информационные объекты по уровням (Рис.2.2.)
Рис. 2.2 Матрица смежности
Информационно-логическая модель приведена к каноническому виду, и объекты расположены в ней по уровням. На нулевом уровне располагаются объекты не подчиненные никаким другим объектам, на 1 уровне подчиненные 0 уровню и т.д. Такое размещение объектов дает представление об иерархической подчиненности, делает модель более наглядной и облегчает понимание зависимостей 1:М.
Матрица смежности показывает, что:
- информационные объекты Дни недели, Аудитории, Расписание звонков, Учебный план, Группы, Преподаватели находятся на 0ом уровне;
- информационный объект Дисциплины находится на 1ом уровне;
- информационный объект Расписание находится на 2ом уровне.
Диаграммы отношений между таблицами помогают наглядно представить проект базы данных. Диаграммы объект-отношение (Entity-relation - ER), которые также называют диаграммами объект-атрибут-отношение (entity-atribute-relation – EAR), представляют собой один из наиболее широко используемых методов для изображения отношений между таблицами базы данных. Эллипсы над прямоугольниками таблиц обозначают классы атрибутов (поля), входящие в отношение. Ромбы, соединяющие пары прямоугольников таблиц и эллипсы полей, представляющих отношение между полями.
ER-диаграмма предметной области «Расписание» представлена в ПРИЛОЖЕНИИ А.
2.3. Определение логической и физической моделей базы данных
Логическая структура реляционной базы данных является адекватным отображением полученной информационно-логической модели предметной области. Для канонической модели не требуется дополнительных преобразований. Каждый информационный объект модели данных отображается соответствующей реляционной таблицей. Структура реляционной таблицы определяется реквизитным составом соответствующего информационного объекта, где каждый столбец (поле) соответствует одному из реквизитов. Ключевые реквизиты образуют уникальный ключ реляционной таблицы. Для каждого столбца таблицы задается тип, размер данных и другие свойства. Топология проекта схемы данных практически совпадает с топологией информационно – логической модели. Логическая структура базы данных приведена в ПРИЛОЖЕНИИ В, а физическая – в ПРИЛОЖЕНИИ С.
2.4. Описание работы с программой «Расписание занятий»
Программа, с условным названием «Расписание занятий», предназначена для составления расписания занятий. Для этого необходимо иметь следующую информацию: занятость аудиторий, сведения о группах, специализация преподавателей, расписание звонков, сведения о дисциплинах (учебный план), дни недели. Для обеспечения пользователя указанной информацией в БД должны храниться справочные данные о группах, аудиториях и преподавателях. В результате анализа предметной области выявляются документы, содержащие справочную информацию: «Группы», «Аудитории», «Преподаватели».
В базу данных заносятся все необходимые сведения. На основании введенных данных организованы запросы на поиск нужной информации (по аудиториям, группам или преподавателям).
Работа начинается с основного окна (рис. 2.4.1), на котором отображается пять кнопок.
Рис. 2.4.1 Главное окно программы
При нажатии на кнопки «Расписание» появляется возможность работать со всей базой данных. Главная форма «Дни недели» содержит подчинённую форму «Расписание». Можно редактировать расписание в виде записей базы (рис. 2.4.2):
Рис. 2.4.2 Редактирование расписания на основе всех данных
При нажатии кнопки «Расписание группы» появляется форма с запросом кода группы (рис. 2.4.3), в нашем примере для группы с кодом «3514», затем сама база для редактирования расписания (рис. 2.4.4).
Рис. 2.4.3 Запрос кода группы
Рис. 2.4.4 Редактирование расписания для определённой группы
При нажатии кнопки «Аудитория» появляется запрос номера аудитории (рис. 2.4.5), в нашем примере номер аудитории «1», затем запрос кода дня недели (рис. 2.4.6), в нашем примере – «1» (Понедельник), и, затем форма для редактирования расписания (рис. 2.4.7).
Рис. 2.4.5 Запрос номера аудитории
Рис. 2.4.6 Запрос кода дня недели
Рис. 2.4.7 Редактирования расписания
При нажатии кнопки «Преподаватель», появляется запрос фамилии преподавателя (рис. 2.4.8), затем запрос кода дня недели (рис. 2.4.9), затем сама форма редактирования расписания (рис. 2.4.10)
Рис. 2.4.8 Запрос фамилии преподавателя