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

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

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

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

Файлы: 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:='insert into prepodavateli (F, I, O, data, prepodavateli."Passport_Seria", god_nachala, stazh, prepodavateli."Adres", prepodavateli."telephone", step, zv, prepodavateli."stat", prepodavateli."Otdel", prepodavateli."Passport_namber")'+'values (:par1, :par2, :par3, :par4, :par5, :par6, :par7, :par8, :par9, :par10, :par11, :par12, :par13, :par14)'

Определение параметров в запросе

          dm.Qprepod.ParamByName('par1').AsString:=ED_F.Text;

          dm.Qprepod.ParamByName('par2').AsString:=ED_I.Text;

          dm.Qprepod.ParamByName('par3').AsString:=ED_O.Text;

          dm.Qprepod.ParamByName('par4').AsString:=ME_Data.Text;

          dm.Qprepod.ParamByName('par5').AsString:=ED_Seria.Text;

          dm.Qprepod.ParamByName('par6').AsString:=ED_Hachala.Text;

          dm.Qprepod.ParamByName('par7').AsString:=ED_Stazh.Text;

          dm.Qprepod.ParamByName('par8').AsString:=ED_Adress.Text;

          dm.Qprepod.ParamByName('par9').AsString:=ED_Tel.Text;

      dm.Qprepod.ParamByName('par11').AsInteger:=DBLCB_Zvanie.KeyValue;

         dm.Qprepod.ParamByName('par12').AsInteger:=DBLCB_Status.KeyValue;

         dm.Qprepod.ParamByName('par10').AsInteger:=DBLCB_Stepen.KeyValue;

         dm.Qprepod.ParamByName('par13').AsString:=ED_Otdel.Text;

         dm.Qprepod.ParamByName('par14').AsString:=ED_Nomer.Text; 

      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;

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