Информационная система «Преподаватели»
19 Апреля 2010, автор: пользователь скрыл имя
Описание работы
Целью курсовой работы ИС «Преподаватели» является разработка реляционной базы данных и приложения для работы с ней.
Для достижения данной цели были поставлены следующие задачи для ИС «Преподаватели»:
хранение данных о преподавателях;
автоматизация ввода информации;
автоматизация получения данных о преподавателе;
Бывают случаи, когда эффективность работы сотрудников отдела кадров зависит от вовремя найденных сведений о конкретном преподавателе. Для обеспечения более оперативного и конкретизированного поиска необходимых сведений о преподавателе и была разработана данная ИС.
ИС «Преподаватели» предоставляет возможность хранения информации о преподавателе в базе данных.
ИС «Преподаватели» разработана специально для сотрудников отдела кадров ВУЗа.
Файлы: 1 файл
Отчет по курсовой.doc
— 2.76 Мб (Скачать файл)(Length(ED_Tel.Text)>0) and (Length(ED_Hachala.Text)>0) and
(Length(ED_stazh.Text)>0) and (Length(ED_Seria.Text)>0) then
begin
if flag=0 then
Далее происходит вставка новой записи в таблицу преподаватели. Для этого формируется SQL запрос:
dm.Qprepod.SQL.Text:='
Определение параметров в запросе
dm.Qprepod.ParamByName('par1')
dm.Qprepod.ParamByName('par2')
dm.Qprepod.ParamByName('par3')
dm.Qprepod.ParamByName('par4')
dm.Qprepod.ParamByName('par5')
dm.Qprepod.ParamByName('par6')
dm.Qprepod.ParamByName('par7')
dm.Qprepod.ParamByName('par8')
dm.Qprepod.ParamByName('par9')
dm.Qprepod.ParamByName('par11'
dm.Qprepod.ParamByName('par12'
dm.Qprepod.ParamByName('par10'
dm.Qprepod.ParamByName('par13'
dm.Qprepod.ParamByName('par14'
end;
end;
Для того чтобы очистить все поля, нужно нажать на кнопку Очистить:
Соответственно очищаются выбранные нами поля
FPrepod.ED_f.Clear;
FPrepod.ED_I.Clear;
FPrepod.ED_O.Clear;
FPrepod.ME_Data.Clear;
FPrepod.ED_Seria.Clear;
FPrepod.ED_Hachala.Clear;
FPrepod.ED_Stazh.Clear;
FPrepod.ED_Adress.Clear;
FPrepod.ED_Tel.Clear;
FPrepod.ED_Otdel.Clear;
FPrepod.ED_Nomer.Clear;
Для выхода на главное окно без сохранения данных нужно нажать на кнопку Закрыть:
…
Fprepod.close;
…
Аналогично
манипулирование с данными происходит
и в других таблицах.
Заключение
Результатом моей работы стала информационная система «Преподаватели», с помощью которой можно просматривать информацию о преподавателях, изменять существующую информацию, удалять ее и добавлять новую информацию.
Разработанное приложение очень удобно в использовании. ИС «Преподаватели» может помочь в работе сотрудникам отдела кадров, облегчить процесс нахождения нужной им информации о преподавателе и преподавательском составе.
Приложение 1 Создание таблиц БД
CREATE TABLE "Dolzhnosti"
"dolzh" INTEGER NOT NULL,
"dolzhnost" VARCHAR(20) CHARACTER SET WIN1251,
CONSTRAINT "PK_Dolzhnosti" PRIMARY KEY ("dolzh")
);
CREATE TABLE "FACULTETY"
(
"FC" INTEGER NOT NULL,
"FACULTET" VARCHAR(30) CHARACTER SET WIN1251,
PRIMARY KEY ("FC")
);
CREATE TABLE "GRUPPY"
(
"GR" INTEGER NOT NULL,
"GRUPPA" VARCHAR(10) CHARACTER SET WIN1251,
"SP" INTEGER,
PRIMARY KEY ("GR")
);
CREATE TABLE "GRUPPY_PREDMETY_PREPODAVATELI"
(
"GR" INTEGER NOT NULL,
"PR" INTEGER NOT NULL,
"PREP" INTEGER NOT NULL
);
CREATE TABLE "KAFEDRY"
(
"KAF" INTEGER NOT NULL,
"KAFEDRA" VARCHAR(50) CHARACTER SET WIN1251,
"FC" INTEGER,
PRIMARY KEY ("KAF")
);
CREATE TABLE "PREDMETY"
(
"PR" INTEGER NOT NULL,
"PREDMET" VARCHAR(50) CHARACTER SET WIN1251,
PRIMARY KEY ("PR")
);
CREATE TABLE "PREPODAVATELI"
(
"PREP" INTEGER NOT NULL,
"F" VARCHAR(20) CHARACTER SET WIN1251,
"I" VARCHAR(20) CHARACTER SET WIN1251,
"O" VARCHAR(20) CHARACTER SET WIN1251,
"DATA" VARCHAR(20) CHARACTER SET WIN1251,
"Passport_Seria" VARCHAR(4) CHARACTER SET WIN1251,
"GOD_NACHALA" VARCHAR(10),
"STAZH" INTEGER,
"KAF" INTEGER,
"STEP" INTEGER,
"ZV" INTEGER,
"telephone" VARCHAR(50) CHARACTER SET WIN1251,
"Adres" VARCHAR(80) CHARACTER SET WIN1251,
"stat" INTEGER,
"Otdel" VARCHAR(50) CHARACTER SET WIN1251,
"Passport_namber" VARCHAR(10) CHARACTER SET WIN1251,
"dolzhn" INTEGER,
PRIMARY KEY ("PREP")
);
CREATE TABLE "SPECIALNOSTI"
(
"SP" INTEGER NOT NULL,
"SPECIALNOST" VARCHAR(50) CHARACTER SET WIN1251,
"FC" INTEGER,
PRIMARY KEY ("SP")
);
CREATE TABLE "STATUSY"
(
"ST" INTEGER NOT NULL,
"STATUS" VARCHAR(20) CHARACTER SET WIN1251,
PRIMARY KEY ("ST")
);
CREATE TABLE "Y_STEPEN"
(
"STEP" INTEGER NOT NULL,
"STEPEN" VARCHAR(40) CHARACTER SET WIN1251,
PRIMARY KEY ("STEP")
);
CREATE TABLE "Y_ZVANIE"
(
"ZV" INTEGER NOT NULL,
"ZVANIE" VARCHAR(40) CHARACTER SET WIN1251,
PRIMARY KEY ("ZV")
);
ALTER TABLE "GRUPPY" ADD FOREIGN KEY ("SP") REFERENCES SPECIALNOSTI ("SP") ON UPDATE CASCADE;
ALTER TABLE "GRUPPY_PREDMETY_PREPODAVATELI"
ADD FOREIGN KEY ("GR") REFERENCES GRUPPY ("GR")
ON DELETE CASCADE;
ALTER TABLE "GRUPPY_PREDMETY_PREPODAVATELI"
ADD FOREIGN KEY ("PR") REFERENCES PREDMETY ("PR")
ON DELETE CASCADE;
ALTER TABLE "GRUPPY_PREDMETY_PREPODAVATELI"
ADD FOREIGN KEY ("PREP") REFERENCES PREPODAVATELI ("PREP")
ON DELETE CASCADE;
ALTER TABLE "KAFEDRY" ADD FOREIGN KEY ("FC") REFERENCES FACULTETY ("FC") ON DELETE CASCADE;
ALTER TABLE "PREPODAVATELI" ADD CONSTRAINT "FK_PREPODAVATELI" FOREIGN KEY ("stat") REFERENCES STATUSY ("ST") ON DELETE CASCADE;
ALTER TABLE "PREPODAVATELI" ADD CONSTRAINT "FK_dolzh" FOREIGN KEY ("dolzhn") REFERENCES Dolzhnosti ("dolzh");
ALTER TABLE "PREPODAVATELI" ADD FOREIGN KEY ("KAF") REFERENCES KAFEDRY ("KAF") ON DELETE CASCADE;
ALTER TABLE "PREPODAVATELI" ADD FOREIGN KEY ("STEP") REFERENCES Y_STEPEN ("STEP") ON UPDATE CASCADE ON DELETE CASCADE;
ALTER TABLE "PREPODAVATELI" ADD FOREIGN KEY ("ZV") REFERENCES Y_ZVANIE ("ZV") ON DELETE CASCADE;
ALTER TABLE "SPECIALNOSTI" ADD FOREIGN KEY ("FC") REFERENCES FACULTETY ("FC") ON UPDATE CASCADE ON DELETE CASCADE;
CREATE GENERATOR "GEN_AD";
CREATE GENERATOR "GEN_FC";
CREATE GENERATOR "GEN_GR";
CREATE GENERATOR "GEN_KAF";
CREATE GENERATOR "GEN_PR";
CREATE GENERATOR "GEN_PREP";
CREATE GENERATOR "GEN_SP";
CREATE GENERATOR "GEN_ST";
CREATE GENERATOR "GEN_STEP";
CREATE GENERATOR "GEN_TEL";
CREATE GENERATOR "GEN_ZV";
SET TERM ^ ;
CREATE TRIGGER "TRIG_FC" FOR "FACULTETY"
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
NEW.FC = GEN_ID(GEN_FC, 1);
END
^
CREATE TRIGGER "TRIG_GR" FOR "GRUPPY"
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
NEW.GR = GEN_ID(GEN_GR, 1);
END
^
CREATE TRIGGER "TRIG_KAF" FOR "KAFEDRY"
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
NEW.KAF = GEN_ID(GEN_KAF, 1);
END
^
CREATE TRIGGER "TRIG_PR" FOR "PREDMETY"
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
NEW.PR = GEN_ID(GEN_PR, 1);
END
^
CREATE TRIGGER "TRIG_PREP" FOR "PREPODAVATELI"
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
NEW.PREP = GEN_ID(GEN_PREP, 1);
END
^
CREATE TRIGGER "TRIG_SP" FOR "SPECIALNOSTI"
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
NEW.SP = GEN_ID(GEN_SP, 1);
END
^
CREATE TRIGGER "TRIG_ST" FOR "STATUSY"
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
NEW.ST = GEN_ID(GEN_ST, 1);
END
^
CREATE TRIGGER "TRIG_STEP" FOR "Y_STEPEN"
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
NEW.STEP = GEN_ID(GEN_STEP, 1);
END
^
CREATE TRIGGER "TRIG_ZV" FOR "Y_ZVANIE"
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
NEW.ZV = GEN_ID(GEN_ZV, 1);
END
^
COMMIT WORK ^
SET TERM ;^
Приложение 2 Листинг программы (Главной формы)
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,
Menus, Grids, DBGrids, StdCtrls, ComCtrls, Buttons, DBCtrls;
type
TMainForm = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
GroupBox1: TGroupBox;
BT_Add: TButton;
BT_Edit: TButton;
BT_Del: TButton;
GroupBox2: TGroupBox;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;