Разработка базы данных «Составление расписания для высших учебных заведений»

Министерство образования и науки РФ

Федеральное государственное бюджетное образовательное учреждение

Высшего профессионального образования

«ВОСТОЧНО-СИБИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ТЕХНОЛОГИЙ И УПРАВЛЕНИЯ»

(ФГБОУ ВПО ВСГУТУ)

Кафедра «Системы информатики»

КУРСОВОЙ ПРОЕКТ

по дисциплине «БАЗЫ ДАННЫХ»

на тему «Разработка базы данных

«Составление расписания для высших учебных заведений»

Выполнл(а):

студент гр.529

__________

Руководитель:

к.т.н, доцент

___________

Базарон С.А.

Нормоконтролер:

к.п.н., доцент

___________

Чимитова Е.Г.

Оценка:

___________

Дата защиты:

___________

Улан-Удэ

2012


Содержание

Введение…………………………………….……………...……………...…3

1. Проектирование Базы данных………………………...………….………5

1.1. Постановка задачи……………………………………………………....6

1.2. Описание предметной области…………………………………………6

1.3. Проектирование логической модели базы данных…………………...8

2. Реализация базы данных и пользовательское приложения…………..10

2.1. Проектирование физической модели базы данных …………………11

2.2. Создание базы данных в Microsoft SQL Server ……………………...13

2.3. Реализация клиентского приложения………………………………...17

Заключение………………………………………………………………….21

Список использованных источников……………………………………...23

Приложение А………………………………………………………………25

Приложение Б……………………………………………………………….27

Приложение В………………………………………………………………29


ВВЕДЕНИЕ


Эффективная и рациональная организация учебного процесса – одна из важнейших задач любого учебного заведения. Поэтому все более актуальным становится вопрос об автоматизации этого процесса.

Если использовать при организации процесса обучения ЭВМ, в частности различного рода программные продукты, то можно сделать этот процесс гораздо более точным и быстрым, лишенным множества накладок, которые возникают при его организации вручную.

Задачу составления расписания не стоит рассматривать только как некую программу, реализующую функцию механического распределения занятий в начале семестра, на которой ее (программы) использование и заканчивается. Экономический эффект от более эффективного использования трудовых ресурсов может быть достигнут только в результате кропотливой работы по управлению этими трудовыми ресурсами. Расписание здесь является лишь инструментом такого управления, и для наиболее полного его использования необходимо, чтобы программа сочетала в себе не только средства для составления оптимального расписания, но и средства для поддержания его оптимальности в случае изменения некоторых входных данных, которые на момент составления расписания считались постоянными.

Таким образом, целью данной курсового проекта является создание системы управления базой данных «Составление расписания» на примере «Составления расписания для высших учебных заведениях», включающую базу данных и пользовательское приложение.

Задачи курсового проекта можно сформулировать как:

  • Создание логической и физической моделей базы данных;
  • Создание базы данных в Среда SQL Server Management Studio;
  • Создание интерфейса программы в Delphi 7.

1. ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ


1.1. Постановка задачи

Необходимо разработать базу данных «Составление расписания для высших образовательных учреждений» для хранения данных, связанных с нею.

Также необходимо разработать и реализовать пользовательское приложение, в котором производится добавление, удаление и редактирование записей таблиц базы данных. Приложение должно включать в себя функции поиска, фильтрации информации и создания отчётов.

1.2. Описание предметной области

Расписание занятий в высшем учебном заведении служит для сведения в единую взаимосвязанную систему учащихся, преподавателей и мест проведения занятий (аудиторий).

Оптимизация расписания занятий является одним из основных факторов, способных существенно оптимизировать учебный процесс.

В частности, организация учебного процесса, представляя собой один из важнейших этапов на пути развития и эффективного функционирования вуза, является совокупностью взаимосвязанных задач, решаемых различными подразделениями учебного заведения. Одной из таких задач является составление расписания. От того, насколько хорошо составлено расписание зависит эффективность работы преподавателей, усвоение учебного материала студентами, рациональное использование интеллектуальной и материальной баз вуза.


Традиционный способ представляет собой следующие этапы, выполняющиеся вручную:

1. Разработка и утверждение учебных планов.

2. Выборка из планов перечня дисциплин и закрепление их за кафедрами.

3. Составление учебных поручений кафедрам других факультетов на закрепление учебной нагрузки за преподавателями.

4. Распределение нагрузки на кафедрах.

5. Составление проходки на семестр, которая содержит информацию о дисциплинах, видах занятий, часами по каждому из видов и преподавателе.

6. Учёт занятого и свободного времени преподавателей работающих по совместительству.

7. Составление расписания.


1.3. Проектирование логической модели базы данных

Процесс проектирования данных можно условно разделить на два этапа: логическое моделирование и физическое проектирование. Результатом первого из них является так называемая логическая (или концептуальная) модель данных, выражаемая обычно диаграммой «сущность-связь» или ER (Entity-Relationship) диаграммой, которая представлена в одной из стандартных нотаций, принятых для отображения подобных диаграмм. Результатом второго этапа является готовая база данных либо DDL-скрипт для ее создания.

Логическая модель данных описывает факты и объекты, подлежащие регистрации в будущей базе данных. Основными компонентами такой модели являются сущности, их атрибуты и связи между ними. Как правило, физическим аналогом сущности в будущей базе данных является таблица, а физическим аналогом атрибута — поле этой таблицы. С логической точки зрения сущность представляет собой совокупность однотипных объектов или фактов, называемых экземплярами этой сущности. Физическим аналогом экземпляра обычно является запись в таблице базы данных. Как и записи в таблице реляционной СУБД, экземпляры сущности должны быть уникальными, то есть полный набор значений их атрибутов не должен дублироваться. И так же, как и поля в таблице, атрибуты могут быть ключевыми и неключевыми. На этапе логического проектирования для каждого атрибута обычно определяется примерный тип данных (строковый, числовой, BLOB и др.). Конкретизация происходит на этапе физического проектирования, так как различные СУБД поддерживают разные типы данных и ограничения на их длину или точность.


Таблица 1. Сущности и их атрибуты

сущности

атрибуты

описание

расписание

код расписания

составление расписания

код группы

номер аудитории

код преподавателя

код дисциплины

из остальных сущностей

код дня недели

код типа занятия

номер пары

факультет

код факультета

информация о факультетах

факультет

специальность

код специальности

информация о специальностях ВУЗа

наименование специальности

аудитория

номер аудитории

информация аудиториях во всех имеющихся корпусах

корпус

количество мест

адрес

дисциплина

код дисциплины

Все изучаемы дисциплины

название дисциплины

номер пары

номер пары

информация о длительности пары

время начала

время окончания

день недели

код дня недели

информация о днях неделях и о их кодах

название дня недели

тип занятия

код типа занятия

лекция или практика

название дня недели

фома обучения

код формы обучения

очная или заочная формы обучения

наименование формы обучения

преподаватель

код преподавателя

содержит ифнормацию преподавателе

ФИО преподавателя

код кафедры

код досжности

код звания

код ученой степени

кафедра

код кафедры

информафия о кафедре

название кафедры

должность

код должности

должности работников ВУЗов

наименование должности

звание

код звания

звания работников ВУЗов

наименование звания

ученая степень

код ученой степени

ученые степени работников ВУЗов

наименование ученой степени

Далее следует логическая модель, которую легко можно изучить по средством программы Erwin (Приложение А).


2. РАЗРАБОТКА БВЗЫ ДАННЫХ И ПОЛЬЗОВАТЕЛЬСКОГО ПРИЛОЖЕНИЯ


2.1. Проектирование физической модели базы данных

Физическое проектирование базы данных – это процесс подготовки описания реализации базы данных на вторичных запоминающих устройствах; на этом этапе рассматриваются основные отношения, организация файлов и индексов, предназначенных для обеспечения эффективного доступа к данным, а также все связанные с этим ограничения целостности и средства защиты.

Приступая к физическому проектированию базы данных, прежде всего необходимо выбрать конкретную целевую СУБД. Поэтому физическое проектирование неразрывно связано с конкретной СУБД. Между логическим и физическим проектированием существует постоянная обратная связь, так как решения, принимаемые на этапе физического проектирования с целью повышения производительности системы, способны повлиять на структуру логической модели данных.

Как правило, основной целью физического проектирования базы данных является описание способа физической реализации логического проекта базы данных. Представим физическую модель базы данных «Составление расписания для ВУЗов» в виде таблиц сущностей из таблицы 1.

Таблица 2. Расписание

код расписания

код группы

номер аудитории

код преподавателя

код дисциплины

код дня недели

код типа занятия

номер пары

 

 

 

 

 

 

 

 

Таблица 3. Группы

код группы

количество студентов

код факультета

код формы обучения

код специальности

 

 

 

 

 

Таблица 4. Факультет

код факультета

факультет

 

 


Таблица 5. Специальность

код специальности

название специальности

 

 

Таблица 6. Аудитория

номер аудитории

корпус

количество мест

адрес

 

 

 

 

Таблица 7. Дисциплина

код дисциплины

название дисциплины

 

 

Таблица 8. Номер пары

номер пары

время начала

время окончания

 

 

 

Таблица 9. День недели

код дня недели

название дня недели

 

 

Таблица 10. Тип занятия

код типа занятия

тип занятия

 

 

Таблица 11. Кафедра

код кафедры

название кафедры

 

 

Таблица 12. Форма обучения

код формы обучения

наименование формы обучения

 

 

Таблица 13. Преподаватель

код преподавателя

ФИО преподавателя

код кафедры

код должности

код звания

код ученой степени

 

 

 

 

 

 

Таблица 14. Должность

код должности

наименование должности

 

 

Таблица 15. Звание

код звания

наименование звания

 

 

Таблица 16. Ученая степень

код ученой степени

наименование ученой степени

 

 

2.2. Создание базы данных в Microsoft SQL Server

Создание базы данных в Среда SQL Server Management Studio используются логическая и физические модели проектирования базы данных (см. 1.3. и 2.1.).

Итак, после установления SQL Server создается база данных, и указывается путь для сохранения. Следующим шагом необходимо создать таблицы согласно сущностям.

Создание таблиц базы данных «raspisanie». Описываются свойства атрибутов данных таблиц (тип данных, длина, разрешение нулевого значения поля).


Таблица 17. Аудитория

Таблица 18. Группа

Таблица 19. День недели

Таблица 20. Дисциплина

Таблица 21. Должность


Таблица 22. Звание

Таблица 23. Кафедра

Таблица 24. Номер пары

Таблица 25. Преподаватель


Таблица 26. Расписание

Таблица 27. Специальность

Таблица 28. Тип занятия

Таблица 29. Ученая степень

Таблица 30. Факультет


Таблица 31. Форма обучения

Для необходимости так же можно заполнить все таблицы путем открытия.

Связывание таблиц происходит через создание диаграммы, где устанавливаются все связи между таблицами. Диаграмма отношений базы данных «raspisanie» находится в Приложении Б.

2.3. Реализация клиентского приложения

Клиентское приложение реализуется в среде Delphi 7. Интерфейс базы данных «raspisanie» состоит из 9 форм, в которых осуществляются операции такие как: ввод, вывод и редактирование информации. А также 3 формы с операциями: поиск, фильтрация, отчет.

Рассмотрим для наглядного примера главную форму, поиск и отчет.

В форме «Расписание» вводятся данные в DBEdit и DBLoockUpComboBox и с помощью DBNavigator отображаются в компоненте DBGrid. С помощью этих компонентов можно вносить изменения в саму базу данных SQL.


Рис 1 Форма «Расписание групп»

Для удобства перемещения по самой программе был использован компонент MainMenu. Он помогает переходить на любые формы программы (см. рис 2).

Рис 2. Использование компонента MainMenu


Операция поиск позволяет найти данные о выбранной группе из таблицы «Группы».

Рис 3. Поиск

Для того чтобы осуществить поиск, необходимо выбрать группу из выпадающего списка. А затем нажать на кнопку «Поиск». Для дальнейшего поиск информации нежно нажать на кнопку «Отмена», которая вернет все данные обо всех группа находящихся в базе данных.

Рис 4. Операция поиск

Также на форме расположены кнопки для перехода на другие операции, на главную форму и кнопка «Выход», при нажатии которой закрывается форма поиска.


Далее, рассмотрим как работает форма отчета.

При запуске формы для отчета можно видеть, что на форме расположена кнопка «Показать отчет» и компонент QReport, который как раз и отображает сам отчет, сгруппированный по группам.

Рис 5. Форма «Отчет»

При нажатии на кнопку «Показать отчет» выведется непосредственно сам отчет.

Рис 6. Сгруппированный отчет по группам


ЗАКЛЮЧЕНИЕ


При выполнении курсового проекта планировалось развить навыки программирования и отладки программ, а также проверить умение оформления документации на свою разработку в соответствии со стандартами.

Эта программа является законченным программным продуктом, хотя возможна её доработка. Есть необходимость добавления таких возможностей как:

  • обеспечение защиты информации (пароль, кодировка и так далее);
  • обеспечение многопользовательского режима с предоставлением каждому пользователю своего режима работы и настроек;
  • автоматическое заполнение одинаковых полей в разных таблицах при вводе.

Программа имеет удобный пользовательский интерфейс. Пользование программой не составит труда для тех, кто знаком с данной оболочкой. Удобная справочная система по пользованию программой позволит быстро научиться ориентироваться в ней. В целом  программа может быть реально использована. 

В результате выполнения курсового проекта усовершенствованы знания в области программирования баз данных и объектно-ориентированного программирования, приобретены навыки использования научно-технической информации.


СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Изучение основ работы с СУБД Microsoft SQL Server 2005. Методические указания для проведения лабораторных работ по курсу «Организация баз данных и знаний», Орловский Д.Л., НТУ «ХПИ», кафедра АСУ, 2009.
  2. Разработка клиент-серверных приложений в Delphi, Андрей Шкрыль, БХВ-Петербург, 2006.


ПРИЛОЖЕНИЕ А


Сущности в ERwin


ПРИЛОЖЕНИЕ Б


Диаграмма таблиц SQL


ПРИЛОЖЕНИЕ В


Листинг операции «поиск»

Поиск

procedure TForm9.Button2Click(Sender: TObject);

begin

Query1.Active:=false;

Query1.SQL.text:='select e.КодГруппы, a.КоличествоСтудентов, b.Факультет, c.НаименованиеФормыОбучения, a.КодСпециальности, d.НаименованиеСпециальности';

Query1.SQL.Add('from dbo.Группа a, dbo.Факультет b, dbo.ФормаОбучения c, dbo.Специальность d, dbo.Группа e');

Query1.SQL.Add('where (a.КодГруппы=e.КодГруппы) and (a.КодФакультета=b.КодФакультета) and (a.КодФормыОбучения=c.КодФормыОбучения) and (a.КодСпециальности=d.КодСпециальности) and (e.КодГруппы='''+combobox1.Text+''')');

Query1.Active:=true;

end;

Отмена

procedure TForm9.Button3Click(Sender: TObject);

begin

Query1.Active:=false;

Query1.SQL.text:='select e.КодГруппы, a.КоличествоСтудентов, b.Факультет, c.НаименованиеФормыОбучения, a.КодСпециальности, d.НаименованиеСпециальности';

Query1.SQL.Add('from dbo.Группа a, dbo.Факультет b, dbo.ФормаОбучения c, dbo.Специальность d, dbo.Группа e');

Query1.SQL.Add('where (a.КодГруппы=e.КодГруппы) and (a.КодФакультета=b.КодФакультета) and (a.КодФормыОбучения=c.КодФормыОбучения) and (a.КодСпециальности=d.КодСпециальности)');

Query1.Active:=true;

end;


Листинг операции «Фильтрация»

Фильтрация

procedure TForm10.Button1Click(Sender: TObject);

begin

Query1.Active:=false;

Query1.SQL.Text:='select e.КодРасписания, e.КодГруппы, e.НомерАудитории, a.ФИОпреподавателя, b.НазваниеДисциплины, c.НазваниеДняНедели, d.ТипЗанятия, e.НомерПары';

Query1.SQL.Add('from dbo.Преподаватель a, dbo.Дисциплина b, dbo.ДеньНедели c, dbo.ТипЗанятия d, dbo.Расписание e');

Query1.SQL.Add('where (e.КодПреподавателя=a.КодПреподавателя) and (e.КодДисциплины=b.КодДисциплины) and (e.КодДняНедели=c.КодДняНедели) and (e.КодТипаЗанятия=d.КодТипаЗанятия) and (c.НазваниеДняНедели='''+combobox1.Text+''')');

Query1.Active:=true;

end;

Отмена

procedure TForm10.Button2Click(Sender: TObject);

begin

Query1.Active:=false;

Query1.SQL.Text:='select e.КодРасписания, e.КодГруппы, e.НомерАудитории, a.ФИОпреподавателя, b.НазваниеДисциплины, c.НазваниеДняНедели, d.ТипЗанятия, e.НомерПары';

Query1.SQL.Add('from dbo.Преподаватель a, dbo.Дисциплина b, dbo.ДеньНедели c, dbo.ТипЗанятия d, dbo.Расписание e');

Query1.SQL.Add('where (e.КодПреподавателя=a.КодПреподавателя) and (e.КодДисциплины=b.КодДисциплины) and (e.КодДняНедели=c.КодДняНедели) and (e.КодТипаЗанятия=d.КодТипаЗанятия)');

Query1.Active:=true;

end;


Изм.

Лист

№ докум.

Подпись

Дата

Лист

2

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

3

Д.529.3.4.2.124.12.ПЗ

Разраб.

Улахаев А.Ю.

Провер.

Базарон С.А.

Н. Контр.

Чимитова Е.Г.

Утверд.

Базарон С.А.

Составление расписания для высших учебных заведений

Лит.

Листов

2

ВСГУТУ

зм.

Лист

№ докум.

Подпись

Дата

Лист

4

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

5

Д.529.3.4.2.124.12.ПЗ

Разраб.

Улахаев А.Ю.

Провер.

Базарон С.А.

Н. Контр.

Чимитова Е.Г.

Утверд.

Базарон С.А.

Составление расписания для высших учебных заведений

Лит.

Листов

5

ВСГУТУ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

6

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

7

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

8

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

9

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

10

Д.529.3.4.2.124.12.ПЗ

Разраб.

Улахаев А.Ю.

Провер.

Базарон С.А.

Н. Контр.

Чимитова Е.Г.

Утверд.

Базарон С.А.

Составление расписания для высших учебных заведений

Лит.

Листов

11

ВСГУТУ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

11

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

12

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

13

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

14

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

15

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

16

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

17

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

18

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

19

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

20

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

21

Д.529.3.4.2.124.12.ПЗ

Разраб.

Улахаев А.Ю.

Провер.

Базарон С.А.

Н. Контр.

Чимитова Е.Г.

Утверд.

Базарон С.А.

Составление расписания для высших учебных заведений

Лит.

Листов

2

ВСГУТУ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

22

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

23

Д.529.3.4.2.124.12.ПЗ

Разраб.

Улахаев А.Ю.

Провер.

Базарон С.А.

Н. Контр.

Чимитова Е.Г.

Утверд.

Базарон С.А.

Составление расписания для высших учебных заведений

Лит.

Листов

2

ВСГУТУ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

24

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

25

Д.529.3.4.2.124.12.ПЗ

Разраб.

Улахаев А.Ю.

Провер.

Базарон С.А.

Н. Контр.

Чимитова Е.Г.

Утверд.

Базарон С.А.

Составление расписания для высших учебных заведений

Лит.

Листов

2

ВСГУТУ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

27

Д.529.3.4.2.124.12.ПЗ

Разраб.

Улахаев А.Ю.

Провер.

Базарон С.А.

Н. Контр.

Чимитова Е.Г.

Утверд.

Базарон С.А.

Составление расписания для высших учебных заведений

Лит.

Листов

2

ВСГУТУ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

29

Д.529.3.4.2.124.12.ПЗ

Разраб.

Улахаев А.Ю.

Провер.

Базарон С.А.

Н. Контр.

Чимитова Е.Г.

Утверд.

Базарон С.А.

Составление расписания для высших учебных заведений

Лит.

Листов

3

Организация

Разработка базы данных «Составление расписания для высших учебных заведений»