Автор работы: Пользователь скрыл имя, 19 Апреля 2010 в 19:11, Не определен
Целью курсовой работы ИС «Преподаватели» является разработка реляционной базы данных и приложения для работы с ней.
Для достижения данной цели были поставлены следующие задачи для ИС «Преподаватели»:
хранение данных о преподавателях;
автоматизация ввода информации;
автоматизация получения данных о преподавателе;
Бывают случаи, когда эффективность работы сотрудников отдела кадров зависит от вовремя найденных сведений о конкретном преподавателе. Для обеспечения более оперативного и конкретизированного поиска необходимых сведений о преподавателе и была разработана данная ИС.
ИС «Преподаватели» предоставляет возможность хранения информации о преподавателе в базе данных.
ИС «Преподаватели» разработана специально для сотрудников отдела кадров ВУЗа.
В физической модели БД показаны названия всех отношений, связи между ними, идентификаторы атрибутов, первичные ключи, а также типы данных для каждого поля. Также определены длины полей, где это возможно. Весь процесс описания физической модели должен быть обязательно на латинице.
В таблице «PREPODAVATELI» содержаться следующие атрибуты и типы данных:
В таблице «PREDMETY» содержаться следующие атрибуты и типы данных:
В таблице «GRUPPY» содержаться следующие атрибуты и типы данных:
В таблице «SPECIALNOSTI» содержаться следующие атрибуты и типы данных:
В таблице «FACULTETY» содержаться следующие атрибуты и типы данных:
В таблице «KAFEDRY» содержаться следующие атрибуты и типы данных:
В таблице «Y_ZVANIE» содержаться следующие атрибуты и типы данных:
В таблице «DOLZHNOSTI» содержаться следующие атрибуты и типы данных:
В таблице «Y_STEPEN» содержаться следующие атрибуты и типы данных:
В таблице «STATUSY» содержаться следующие атрибуты и типы данных:
Ассоциативная
таблица «GRUPPY_PREDMETY_PREPODAVATELI
Для
целочисленных данных был использован
тип integer. Для строковых атрибутов был
использован тип данных varchar с ограничением
по количеству символов. Это ограничение
вводится для того, чтобы на поле с небольшим
количеством знаков не отводилось много
памяти, т.е. мы вводим ограничение на максимальное
количество символов для одного поля.
Рис. 5 Физическая модель данных
Для создания приложения использовалась интегрированная среда 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 для отображения информации о преподавателе, предмете и группы, у которых он преподает:
На 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;
select distinct * from predmety;
Еще имеется на форме сортировка, которая позволяет отображать преподавателей по кафедрам.
Для
этого мы используем компоненты RBall:RadioButton
и DBLCB_Kaf_Prepod:
В отлик на событие OnClick компонента RBall:RadioButton формируется SQL запрос
dm.Qprepod.SQL.Text:='
Для
отображения преподавателей по кафедрам
компонент DBLCB_Kaf_Prepod:
dm.Qprepod.SQL.Text:='select * from prepodavateli, kafedry where prepodavateli.kaf=kafedry.kaf and kaf=:par2 order by f';
dm.Qprepod.ParamByName('par2')
Также есть кнопки для манипулирования с данными: добавить, изменить, удалить. Соответственно с их помощью можно добавить преподавателя, изменить его анкетные данные и удалить его из базы данных. При нажатии на кнопку добавить появляется модальное окно, в котором нужно заполнить пустые поля: ФИО, паспортные данные, адрес, телефон, дату рождения, год начала работы в ВУЗ, стаж, выбрать ученую степень, звание и статус сотрудника.
Для
выбора информации о статусе, степени
и звании сотрудника использовали компонент
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