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

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

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

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

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

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

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

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

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

                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. Оформление учета преподавателей по семестрам, специальностям и предметам;
    3. Сортировка данных;
    4. Формирование отчетов и экспорт данных в MS Excel.
 
 
 
 

 

    1. Первичный документ
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

 

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

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

ФИО Код кафе

дры

Кафе

дра

Код долж

ности

Долж

ность

Семес

тр

Код факу

ль

тета

Факультет Код специаль

ности

Специаль

ность

Код предме

та

Предмет Часов лекций Часов практики
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НФ

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

Итерация 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)

 

      

  1. Описание (диаграмма) БД
    1. Таблицы БД
 
Название Тип поля Назначение
Table Itog (Учет нагрузки преподавателей)

Id_itog

int

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 Название  факультета
 

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

 

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

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

  • Ввод, модификацию и удаление любых данных из БД
  • Отображение данных с фильтрами и сортировкой
  • Отображение не менее трех форм обобщенной информации (отчетов) с обязательным подведением итогов. По крайней мере, два отчета должны строиться на основе сложных выборок (три и более таблицы).
  • Стабильную работу без ошибок в коде, ведущих к потере функциональности.
  • Функциональный и интуитивно понятный интерфейс (интуитивно понятный интерфейс – это когда пользователь может работать с программой без вопросов к разработчику)
    1. Реализация

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

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

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

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

    • Итоговый (обобщающий)
    • Суммарная нагрузка преподавателей
    • Нагрузка по кафедрам
 

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

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

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

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

Заключение

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