Информационная система «Преподаватели»

Автор работы: Пользователь скрыл имя, 19 Апреля 2010 в 19:11, Не определен

Описание работы

Целью курсовой работы ИС «Преподаватели» является разработка реляционной базы данных и приложения для работы с ней.
Для достижения данной цели были поставлены следующие задачи для ИС «Преподаватели»:
хранение данных о преподавателях;
автоматизация ввода информации;
автоматизация получения данных о преподавателе;
Бывают случаи, когда эффективность работы сотрудников отдела кадров зависит от вовремя найденных сведений о конкретном преподавателе. Для обеспечения более оперативного и конкретизированного поиска необходимых сведений о преподавателе и была разработана данная ИС.
ИС «Преподаватели» предоставляет возможность хранения информации о преподавателе в базе данных.
ИС «Преподаватели» разработана специально для сотрудников отдела кадров ВУЗа.

Файлы: 1 файл

Отчет по курсовой.doc

— 2.76 Мб (Скачать файл)

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

      В таблице «PREPODAVATELI» содержаться следующие атрибуты и типы данных:

    • Атрибут PREP – является первичным ключом, имеет целочисленный тип данных;
    • Атрибут F, N, O, DATA, PASSPORT_SERIA, PASSPORT_NAMBER, OTDEL, GOD_NACHALA, STAZH, TELEFONE, ADRES – имеют тип varchar с максимальной длинной до 80 символов;
    • Атрибут KAF, STEP, ZV, DOLZHN и STAT имеют целочисленный тип данных и являются внешними ключами к таблицам «KAFEDRY» и «Y_STEPEN», «Y_ZVANIE», «DOLZHNOSTI» и «STATUSY» соответственно.

      В таблице «PREDMETY» содержаться следующие атрибуты и типы данных:

    • Атрибут PR - является первичным ключом, имеет целочисленный тип данных;
    • Атрибут PREDMET – имеет тип varchar с максимальной длинной 50 символов;

     В таблице «GRUPPY» содержаться следующие атрибуты и типы данных:

    • GR - первичный ключ, имеет целочисленный тип данных;
    • GRUPPAстроковое поле с максимально возможным количеством символов 10.
    • SP - внешний ключ целочисленного типа, который ссылается на первичный ключ в таблице «SPECIALNOSTI».

     В таблице «SPECIALNOSTI» содержаться следующие атрибуты и типы данных:

    • SP - первичный ключ, имеет целочисленный тип данных;
    • SPECIALNOST строковое поле с максимально возможным количеством символов 50.
    • FC - внешний ключ целочисленного типа, который ссылается на первичный ключ в таблице «FACULTETY».

      В таблице «FACULTETY» содержаться следующие атрибуты и типы данных:

    • FC - является первичным ключом, имеет целочисленный тип данных;
    • FACULTET – строковое поле. Используется тип данных varchar с максимально возможным количеством символов 30.

     В таблице «KAFEDRY» содержаться следующие атрибуты и типы данных:

    • Атрибуты KAF - первичный составной ключ с целочисленным типом данных;
    • Атрибут FC - имеет целочисленный тип данных;
    • Атрибут KAFEDRA имеет тип данных varchar с длиной поля не более 50 символов.

     В таблице «Y_ZVANIE» содержаться следующие атрибуты и типы данных:

    • Атрибут ZVпервичный ключ, имеет целочисленный тип данных;
    • Атрибут ZVANIE будет иметь тип данных varchar с длинной строки 40 символов;

     В таблице «DOLZHNOSTI» содержаться следующие атрибуты и типы данных:

    • Атрибут DOLZHпервичный ключ, имеет целочисленный тип данных;
    • Атрибут DOLZHNOST будет иметь тип данных varchar с длинной строки 20 символов;

     В таблице «Y_STEPEN» содержаться следующие атрибуты и типы данных:

    • Атрибут STEPпервичный ключ, имеет целочисленный тип данных;
    • Атрибут STEPEN будет иметь тип данных varchar с длинной строки 40 символов;

       В таблице «STATUSY» содержаться следующие атрибуты и типы данных:

    • Атрибут STпервичный ключ, имеет целочисленный тип данных;
    • Атрибут STATUS будет иметь тип данных varchar с длинной строки 20 символов;

     Ассоциативная таблица «GRUPPY_PREDMETY_PREPODAVATELI» имеет первичный составной ключ GR, PR, PREP для однозначной идентификации картежей в таблицах «GRYPPY»,«PREPODAVATELI» и «PREDMETY».

     Для целочисленных данных был использован  тип integer. Для строковых атрибутов был использован тип данных varchar с ограничением по количеству символов. Это ограничение вводится для того, чтобы на поле с небольшим количеством знаков не отводилось много памяти, т.е. мы вводим ограничение на максимальное количество символов для одного поля. 

 

 

Рис. 5 Физическая модель данных

 

3 Создание приложения

    Для создания приложения использовалась интегрированная среда Delphi 6.0.

    Приложение включает главную форму, восемь справочников. Справочники содержат информацию о:

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

    Модальные формы Ученое звание, Ученая степень, Должность, Факультет и Статус сотрудников содержат компонент DBGrid для отображения соответствующих таблиц, навигатор и по одной кнопке на каждой из форм (закрытие модальной формы). Формы Кафедра, Группа и Cпециальность содержат DBGrid (для отображения соответствующей таблицы) и кнопки (добавить, сохранить, изменить и закрыть форму). При нажатии на кнопку добавить на каждой из этих форм, появляется еще одно модальное окно, в котором заполняются пустые поля или выбираются из предложенного списка. Также есть кнопки для очищения полей и кнопки выхода на предыдущее модальное окно.

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

    Для хранения не визуальных компонентов используется DataModule (DM), куда были помещены четыре IBTable, которые хранят таблицы: Y_Stepen (T_Stepen: IBTable), Y_Zvanie (T_Zvanie: IBTable), Statusy (T_Status: IBTable), Facultet (T_Facultet: IBTable).

    На  главной форме содержится два DBGrid для отображения информации о преподавателе, предмете и группы, у которых он преподает:

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

      На  DataModule положили Qprepod:IBQuery, который связали с DSPrepod:DataSource. В свойстве Qprepod SQL должен формироваться запрос:

      select * from PREPODAVATELI pr, Y_STEPEN s, Y_ZVANIE z, STATUSY st

      where pr.step=s.step and pr.zv=z.zv and prepodavateli."stat"=st.st; 

    1. Второй  DBGrid отображает предметы и группы, у которых этот преподаватель читает курс лекций, практических и семинарских занятий. На DataModule положили QPredmet:IBQuery, который связали с DSQPredmet:DataSource. В свойстве QPredmet SQL должен формироваться запрос:

      select distinct * from predmety;

 

    Еще имеется на форме сортировка, которая  позволяет отображать преподавателей по кафедрам.

    Для этого мы используем компоненты RBall:RadioButton и DBLCB_Kaf_Prepod:DBLookupComboBox:

    В отлик на событие OnClick компонента RBall:RadioButton формируется SQL запрос

    dm.Qprepod.SQL.Text:='select * from prepodavateli order by f';

    Для отображения преподавателей по кафедрам компонент DBLCB_Kaf_Prepod:DBLookupComboBox связываем  через ListSource c соответствующей таблицей, указывая при этом KeyField и ListField. Также в отлик на событие OnClick компонента DBLookupComboBox формируется SQL запрос:

    dm.Qprepod.SQL.Text:='select * from prepodavateli, kafedry where prepodavateli.kaf=kafedry.kaf and kaf=:par2 order by f';

     dm.Qprepod.ParamByName('par2').AsInteger:=DBLCB_kaf_prepod.KeyValue;

    Также  есть кнопки для манипулирования  с данными: добавить, изменить, удалить. Соответственно с их помощью можно  добавить преподавателя, изменить его  анкетные данные и удалить его  из базы данных. При нажатии  на кнопку добавить появляется модальное окно, в котором нужно заполнить пустые поля: ФИО, паспортные данные, адрес, телефон, дату рождения, год начала работы в ВУЗ, стаж, выбрать ученую степень, звание и статус сотрудника.

    Для выбора информации о статусе, степени и звании сотрудника использовали компонент DBLookupComboBox:DBlookupComboBox.

    Чтобы DBLookupComboBox отображали информацию их надо связать с соответствующими таблицами через свойство ListSource, указав при этом свойства ListField и KeyField.

    Для сохранения всех данных нужно нажать на кнопку Сохранить:

    procedure TFPrepod.BT_SaveClick(Sender: TObject);

    var i : integer;

    begin

    Происходит  проверка на непустые поля

      if (Length(ED_F.Text)>0) and (Length(ED_I.Text)>0) and (Length(ED_O.Text)>0)

                        and (Length(ME_Data.Text)>0) and (Length(ED_Adress.Text)>0) and

Информация о работе Информационная система «Преподаватели»