Скачать .docx  

Курсовая работа: Учет нагрузки преподавателей

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙКОЙ ФЕДЕРАЦИИ

ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ИНСТИТУТ МАТЕМАТИКИ И КОМПЬЮТЕРНЫХ НАУК

Кафедра информационных систем

Курсовая работа

по дисциплине «Базы данных»

Учет нагрузки преподавателей.

Выполнил: Солецкий Д.А.

385 группа

Проверил: Моор А.П.

Старший преподаватель кафедры ИС

Тюмень 2011

Оглавление

1.Описание задачи. 3

1.1.Предметная область. 3

1.2.Функции приложения. 3

1.3.Первичный документ. 4

2.Нормализация. 5

3.Разработка модели «сущность-связь». 8

4.Описание (диаграмма) БД.. 13

4.1.Таблицы БД.. 13

4.2.Диаграмма БД.. 14

5.Описание приложения. 15

5.1.Требования к приложению.. 15

5.2.Реализация. 15

Заключение. 17


1. Описание задачи

1.1. Предметная област ь

Учет нагрузки преподавателей — область, без которой не возможна нормальная работа учебного заведения.

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

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

1.2. Функции приложения

Приложение, работающее с базой данных учета нагрузки преподавателей:

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

2. Оформление учета преподавателей по семестрам, специальностям и предметам;

3. Сортировка данных;

4. Формирование отчетов и экспорт данных в MSExcel.


1.3. Первичный документ

7
ФИО преподавателя Кириллов А.А
Кафедра Физики
Должность Старший преп.
Семестр 2
Факультет Специальность Предмет Часов лекций Часов практики
Код Название Код Название Код Название
1 ИМИКН 1 КБ 1 Теорет. Механика 20 20
2 Физика 15 15
2 КОИБАС 2 Физика 17 16
3 Математика 12 15
2 Физический 3 Физика 2 Физика 25 30
4 Теплофизика 1 Теорет. Механика 20 5
2 Физика 13 25

2. Нормализация

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

ФИО

Код кафе

дры

Кафе

дра

Код долж

ности

Долж

ность

Семес

тр

Код факу

ль

тета

Факультет

Код специаль

ности

Специаль

ность

Код предме

та

Предмет Часов лекций Часов практики
1 Кирилов А.А 2 Физики 1 Старший препод. 2 1 ИМИКН 1 КБ 1 Теорет. Механика 20 20
2 Физика 15 15
2 КОИБАС 2 Физика 17 16
3 Математика 12 15
2 Физический 3 Физика 2 Физика 25 30
4 Теплофизика 1 Теорет. Механика 20 5
2 Физика 13 25

1НФ:

Повторяющаяся группа: Код факультета (Id_fak), Факультет (name_fak), Код специальности (Id_spec), Специальность (name_spec), Код предмета (Id_pred), Предмет (name_pred), Часы лекций (lek), Часы практик (prak). Для того чтобы в отношении на пересечении каждой строки и каждого столбца содержалось только одно значение, продублируем значения атрибутов, не входящих в повторяющуюся группу:

id_prep Prep id_kaf name_kaf id_dol name_dol Semestr Id_fak name_fak Id_spec name_spec Id_pred name_pred Lek Prak
1 Кирилов А.А 2 Физики 1 Старший препод. 2 1 ИМИКН 1 КБ 1 Теорет. Механика 20 20
1 Кирилов А.А 2 Физики 1 Старший препод. 2 1 ИМИКН 1 КБ 2 Физика 15 15
1 Кирилов А.А 2 Физики 1 Старший препод. 2 1 ИМИКН 2 КОИБАС 2 Физика 17 16
1 Кирилов А.А 2 Физики 1 Старший препод. 2 1 ИМИКН 2 КОИБАС 3 Математика 12 15
1 Кирилов А.А 2 Физики 1 Старший препод. 2 2 Физический 3 Физика 2 Физика 25 30
1 Кирилов А.А 2 Физики 1 Старший препод. 2 2 Физический 4 Теплофизика 1 Теорет. Механика 20 5
1 Кирилов А.А 2 Физики 1 Старший препод. 2 2 Физический 4 Теплофизика 2 Физика 13 25

Выберем потенциальные ключи:

id_prep, semestr, id_spec, id_pred - однозначно определяет строку в 1НФ

Единственный ключ он же первичный

Частичные функциональные зависимости: id_prep -> prep, id_kaf, name_kaf,id_dol, name_dol

id_spec -> name_spec, id_fak, name_fak

id_pred -> name_pred

Вынесем зависимые атрибуты с копией их детерменанта в отдельные отношения.

Итог 2 НФ :

А (id_prep, semestr, id_pred, id_spec ,lek,prak)

Б(id_spec , name_spec, id_fak, name_fak)

В(id_prep , prep, id_kaf, name_kaf, id_dol, name_dol)

Г(id_pred , name_pred)

Транзитивные зависимости:

В А транзитивных зависимостей нет

В Б : id_spec -> id_fak, id_fak -> name_fak

Отношение Б разбивается на два отношения:

Б1(id_spec , name_spec, id_fak)

Б2(id_fak , name_fak)

В В : id_prep -> id_kaf, id_kaf -> name -> kaf; id_prep -> id_dol, id_dol -> name_dol

Отношение В разбивается на 3 отношения:

В1(id_prep , prep, id_kaf,id_dol)

В2( id_kaf, name_kaf)

B3(id_dol, name_dol)

В Г Транзитивных зависимостей нет

Итог 3 НФ

А (id_prep, semestr, id_pred, id_spec , lek, prak)

Б1(id_spec , name_spec, id_fak)

Б2(id_fak , name_fak)

В1(id_prep , prep, id_kaf, id_dol)

В2( id_kaf, name_kaf)

B3(id_dol, name_dol)

Г(id_pred , name_pred)

НФБК

Отношения Б1, Б2, В1, B2, B3, Г: не имеют составных потенциальных ключей, следовательно они в НФБК

Отношения А имеет только один составной потенциальный (он же первичный ключ, следовательно оно в НФБК

Итог нормализации совпадает с итогом 3НФ


3. Разработка модели «сущность-связь»

Итерация 1

Требования к программе:

· Хранить информацию о преподавателях ведущих учебную деятельность;

· Хранить информацию о предметах;

· Хранить информацию о специальностях;

Определение сущностей:

· Преподаватель;

· Предмет;

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

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

Может преподавать


Может преподаваться


Может

преподавать

Могут

учиться

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

Итерация 2

Уточнение сущностей:

Преподавателю определяют учебную нагрузку;

Преподаватель может вести несколько предметов у нескольких специальностей;

Карточка учета

Должна содержать Должна содержать

Должна содержать

Специальность
Предмет
Преподаватель
Может работать Может быть Может быть

Итерация 3

Уточнение сущностей:

Специальность характеризуется факультетом;
Преподаватель имеет должность и относиться к какой-либо кафедре;



Определение атрибутов:

· Преподаватель содержит уникальный код, ФИО, Должность, Кафедру;

· Карточка учета содержит уникальный код, код преподавателя, код предмета, код специальности, семестр и часы нагрузки;

· Специальность содержит уникальный код, наименование специальности и код факультета;

· Факультет содержит код факультета, название;

· Кафедра содержит код кафедры, название;

· Должность содержит код должности, название;

· Предмет содержит код предмета, название;


Концептуальная модель

Кафедра

Код кафедры
Название кафедры

Учет нагрузки преподавателя

Код преподавателя
Код специальности
Семестр
Код предмета
Часов лекций
Часов практики

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

Код специальности
Название специальности
Код факультета

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

Код преподавателя
ФИО преподавателя
Код кафедры
Код должности


Должность

Код должности
Название должности

Предмет
Код предмета
Название предмета
Факультет
Код факультета
Название факультета

Физическая модель

Table Kaf

Id_kaf(int)
name_kaf( varchar30)

Table Itog
Id_prep(int)
Id_spec(int)
Semester(int)
Id_pred(int)
Lek(int)
Prak(int)

Table Spec

Id_spec(int)
Name_spec(varchar30)
Id_fak (int)

Table Prep

Id_prep(int)
Name_prep( varchar30)
Id_kaf(int)
Id_dol(int)


Table Dol

Id_dol(int)
Name_dol(varchar20)

Table Pred
Id_pred(int)
Name_pred(varchar30)
Table Fak
Id_fak(int)
Name_fak(varchar30)

4. Описание (диаграмма) БД

4.1. Таблицы БД

Id_itog

int

Название Тип поля Назначение
Table Itog (Учет нагрузки преподавателей)
Id_prep
int Код преподавателя
Id_spec int Код специальности
Semeste int Семестр
Id_pred int Код предмета
Lek int Часов лекций
Prak int Часов практики
Table Prep (Преподаватели)
Id_prep int Код преподавателя
Name_prep varchar30 ФИО преподавателя
Id_kaf int Код кафедры
Id_dol int Код должности
Table Kaf (Кафедры)
Id_kaf int Код кафедры
name_kaf varchar30 Название кафедры
Table Dol (Должности)
Id_dol int Код должности
Name_dol varchar20 Название должности
Table Pred (Предметы)
Id_pred int Код предмета
Name_pre varchar30 Название предмета
Table Spec (Специальности)
Id_spec int Код специальности
Name_spec varchar30 Название специальности
Id_fak int Код факультета
Table Fak (Факультеты)
Id_fak int Код факультета
Name_fak varchar30 Название факультета


4.2. Диаграмма БД


5. Описание приложения

5.1. Требования к приложению

Приложение должно обеспечивать:

· Ввод, модификацию и удаление любых данных из БД

· Отображение данных с фильтрами и сортировкой

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

· Стабильную работу без ошибок в коде, ведущих к потере функциональности.

· Функциональный и интуитивно понятный интерфейс (интуитивно понятный интерфейс – это когда пользователь может работать с программой без вопросов к разработчику)

5.2. Реализация

В приложении содержатся справочные таблицы в которые можно добавлять данные.

Рис.1. Справочная таблица «Преподаватели».

Рис. 2. Главная таблица и 3 запроса в выпадающем списке.

Так же в приложении содержится 3 запроса:

· Итоговый (обобщающий)

· Суммарная нагрузка преподавателей

· Нагрузка по кафедрам

Рис.3. Запрос «Итоговый» с демонстрацией фильтра по семестрам.

Информацию из запросов можно вывести в Exсel. Для этого необходимо нажать кнопку “Вывести в Exсel”.

В итоговом отчете предусмотрены сортировки по столбцам: «№», «Преподаватель» и «Специальность».

Рис.4. Сортировка по столбцу «Преподаватель»

Заключение

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

Разработанное клиентское приложение обеспечивает все необходимые функции, такие как: ввод, модификация, удаление данных базы данных, сортировка данных, создание отчетов. При разработке были созданы представления в базе данных на сервере.