数据库课程设计报告_第1页
数据库课程设计报告_第2页
数据库课程设计报告_第3页
数据库课程设计报告_第4页
数据库课程设计报告_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库课程设计报告一、实验课程任务与要求目的与任务:1.掌握数据库设计和实现的基本过程2.掌握数据库模式设计、分析和实现的方法3.了解数据库应用系统软件开发的一般过程。实验基本要求: (1)学习相关的预备知识(2)按照数据库设计与实现过程完成数据库的设计,应用程序的开发,上机调试、运行(3)写出课程设计报告二课程设计题目3人力资源管理系统 人力资源部门希望建立一个数据库来管理它的员工。一个公司有几个部门,而一个员工属于一个部门。这个部门指派一个经理来全面负责部门事务和部门员工。为了有助于管理好部门工作,某些工作人员被任命来管理一组人员。当有一个新的员工进入公司时,需要他以前的工作经历和成绩。通

2、常来说,每个员工都要经历一次面试,这通常是由经理来进行的。公司定义了一系列的职位类型,例如经理、业务分析员、销售人员和秘书,而且每个类型都有相关的等级,员工所处的位置决定了员工的工资。职位依据其工作量来分配给一个部门。例如,一个部门可能分配给两个业务分析员的职位。每个岗位会分配给一个员工,随着时间的过去,各个职位都会被分配给工作人员。三 需求分析与设计方案(1)能够对基础信息管理,系统需要管理员和员工登录(2)能够发放工资,工资登记,奖金登记,奖金发放(3)能够根据员工支付方式发放工资系统方案工资管理系统管理员界面基础信息管理用户界面业务系统四 数据库设计(1)概念设计(e_r图) (2)逻辑

3、设计部门编码表列名数据类型长度范围主键否标题外键create table Dept(DNum char(5) check (DNum like 0-90-90-90-90-9)primary key,Dname char(30) not null,Dtel char(13) check(Dtel like 00-90-90-9-0-90-90-90-90-90-90-9 or Dtel like00-90-90-9-0-90-90-90-90-90-90-90-9 ),);员工编码表列名数据类型长度范围主键否标题外键create table Emp (Enum char(10) check (

4、Enum like 0-90-90-90-90-90-90-90-90-90-9) primary key,Ename char(20) not null,Esex char(2) check (Esex in (男,女) not null,EID char(18)check (EID like (0-90-90-90-90-90-90-90-90-90-90-90-90-90-90-90-90-90-9),Emz char(14)not null,Ezz char (8) not null,EpNUM char(12),EAddr char (50) not null,EpsNUM char

5、 (6)check ( EpsNUM like 0-90-90-90-90-90-9 ),Ezc char(20) not null,Edept char(5),Eby int check(Eby 0 and Eby2000),Exl char(20) ,foreign key(Edept) references Dept(DNum);银行编码表列名数据类型长度范围主键否标题外键create table Bank(BankNUM char(5) check ( BankNUM like0-90-90-90-90-9)primary key,BankName char(20),cardNUMLo

6、ng int check (cardNUMLong15);工资项目编码表列名数据类型长度范围主键否标题外键create table gongziItems(GZnum char(5) check(GZnum like0-90-90-90-90-9),GZName char(20) not null,Dfje int ,Statute int check(Statute=0 or Statute=1);支付方式种类编码表列名数据类型长度范围主键否标题外键create table zfzl(zfzlNUM char(5) check (zfzlNUM like0-90-90-90-90-9 )pr

7、imary key,zfzNane char(10) not null,isCARD char(1)check(isCARD=0 or isCARD=1);银行支付编码表列名数据类型长度范围主键否标题外键create table Bankzf(Enum char(10) primary key,BankNUM char(5),CardNUM char,foreign key(Enum) references Emp(Enum),foreign key(BankNUM) references Bank(BankNUM);支付方式编码表列名数据类型长度范围主键否标题外键create table E

8、zffs(Enom char(10) ,zfzlNUM char(5) ,foreign key(zfzlNUM) references zfzl(zfzlNUM),foreign key(Enom) references Emp(Enum),primary key(zfzlNUM,Enom),);扣除项目编码表列名数据类型长度范围主键否标题外键create table kcItems(kcnum char(5) check(kcnum like0-90-90-90-90-9)primary key,kcName char(20) not null,Dfje int ,Statute int

9、check(Statute=0 or Statute=1);扣除工资编码表列名数据类型长度范围主键否标题外键create table KCGZ(Enum char(10),KCGZnum char(5), je int,GZmonth int check(GZmonth between 1 and 12)foreign key(Enum) references Emp(Enum),foreign key(KCGZnum) references kcItems(kcnum),primary key(Enum,KCGZnum,GZmonth);奖金种类编码表列名数据类型长度范围主键否标题外键cre

10、ate table jjzl(JJnum char(5) check (JJnum like 0-90-90-90-90-9)primary key,Jname char(10)not null,je int);奖金编码表列名数据类型长度范围主键否标题外键create table EJJ(Enum char(10),JJnum char(5),JJmonth int check (JJmonth between 1 and 12),je int,foreign key(Enum) references Emp(Enum),foreign key (JJnum ) references jjzl

11、(JJnum),);实发工资编码表列名数据类型长度范围主键否标题外键create table sfGZ(enum char(10),je int, GZnum char(5)mth int check (mth between 1 and 12),foreign key(Enum) references Emp(Enum),foreign key(GZnum) references gongziItems(GZnum),primary key (Enum,mth,GZnum);系统用户编码表列名数据类型长度范围主键否标题外键create table userCcount(Uid char(10

12、) check (Uid like 0-90-90-90-90-90-90-90-90-90-9)primary key,userName char(50),isAdmin char(1) check (isAdmin=0 or isAdmin=1),psd char(20),islogoned int check (islogoned=0 or islogoned=1),foreign key(Uid) references Emp(Enum);(3) 数据处理五 程序设计 (1)界面设计(2)程序代码/-file:Unit1.h-#ifndef Unit1H#define Unit1H#i

13、nclude #include #include #include #include #include #include #include #include Unit4.h#include Unit3.h#include public.h extern String username; extern String userID;int isAdmin;TStringList *checkDBList=new TStringList();-class TUserLogon : public TForm_published:/ IDE-managed Components TLabel *Labe

14、l1; TLabel *Label2; TLabel *Label3; TLabel *Label5; TEdit *Edit1; TEdit *edt_password; TEdit *edt_name; TEdit *Edit5; TButton *btn_close; TQuery *system_Query; TDataSource *DataSourceSystem; TButton *login; TDBText *DBText; TLabel *lb_logonfailHant; void _fastcall btn_closeClick(TObject *Sender); vo

15、id _fastcall loginClick(TObject *Sender);private:/ User declarationspublic:/ User declarations _fastcall TUserLogon(TComponent* Owner);extern PACKAGE TUserLogon *UserLogon;#endif/-file:unit1.cpp-#include #pragma hdrstop#include ComObj.hpp#include Unit6.h#include Unit1.h#pragma package(smart_init)#pr

16、agma resource *.dfm String userID; String username;TUserLogon *UserLogon;/-_fastcall TUserLogon:TUserLogon(TComponent* Owner) : TForm(Owner)/-void _fastcall TUserLogon:btn_closeClick(TObject *Sender) UserLogon-Close();/-void _fastcall TUserLogon:loginClick(TObject *Sender) int lg;String S;system_Que

17、ry-Active=false; system_Query-SQL-Clear(); system_Query-SQL-Add(use gzglxt; select count(*) lg from userCcount where uid=:user and psd=:password) ; userID=edt_name-Text; system_Query-ParamByName(user)-AsString=edt_name-Text; system_Query-ParamByName(password)-AsString=edt_password-Text; DBText-DataF

18、ield=lg; system_Query-Open(); lg=StrToInt(DBText-Field-AsString); if(lg=0) lb_logonfailHant-Visible=true; edt_password-Text=NULL; else system_Query-SQL-Clear(); system_Query-SQL-Add(use gzglxt; select isAdmin lg from userCcount where uid=:user and psd=:password); system_Query-ParamByName(user)-AsStr

19、ing=edt_name-Text; system_Query-ParamByName(password)-AsString=edt_password-Text; DBText-DataField=lg; system_Query-Open(); S=DBText-Field-AsString; isAdmin=StrToInt(S); system_Query-SQL-Clear(); system_Query-SQL-Add(use gzglxt; select Ename from Emp where enum=:user ); system_Query-ParamByName(user

20、)-AsString=edt_name-Text; DBText-DataField=Ename; system_Query-Open(); username=DBText-Field-AsString; if(isAdmin=0) UserUI-Show(); UserLogon-Visible=false; if(isAdmin=1) adminUI-Visible=true; UserLogon-Visible=false; system_Query-SQL-Add(use gzglxt; select count(*) lg from userCcount where uid=:use

21、r and psd=:password) ; edt_password-Text=NULL;/-file:Unit2.h-/-#ifndef Unit2H#define Unit2H/-#include #include #include #include #include #include #include #include #include #include #include #include #include /-class TBaseInfGL : public TForm_published:/ IDE-managed Components TPanel *pl_baseinf; T

22、DBGrid *DBGrid_BaseInf; TPanel *pl_BaseInf_top; TDBNavigator *DBNavigator_BaseInf; TPanel *pl_KCXM; TPanel *pl_ZFFS; TPanel *pl_GZXM; TPanel *pl_Dept; TDBGrid *DBGrid_Dept; TDBNavigator *DBNavigator_Dept; TDBGrid *DBGrid_GZXM; TDBNavigator *DBNavigator_GZXM; TDBGrid *DBGrid_ZFFS; TPanel *pl_ZFFS_top

23、; TDBNavigator *DBNavigator_ZFFS; TDBComboBox *DBComboBox5; TDBGrid *DBGrid_KCXM; TDBNavigator *DBNavigator_KCXM; TPanel *pl_bank; TDBGrid *DBGrid_Bank; TDBNavigator *DBNavigator_Bank; TPanel *pl_JJXM; TDBGrid *DBGrid_JJXM; TDBNavigator *DBNavigator_JJXN; TPanel *pl_BaseInfUI_left; TSpeedButton *sbt

24、nEinf; TSpeedButton *sbtnDept; TSpeedButton *sbtnBank; TSpeedButton *sbtnZFFS; TSpeedButton *sbtnGZItems; TSpeedButton *sbtnJJItems; TSpeedButton *sbtnKCItems; TSpeedButton *sbtnCCountInf; TTable *Table_BaseInf; TDataSource *DataSource_BaseInf; TTable *Table_Dept; TDataSource *DataSource_Dept; TTabl

25、e *Table_bank; TDataSource *DataSource_Bank; TDataSource *DataSourceGZXM; TTable *Table_GZXM; TTable *Table_JJXM; TDataSource *DataSourceJJXM; TDataSource *DataSource_KCXM; TTable *Table_KCXM; TMainMenu *MainMenu_BaseInf; TMenuItem *N1; TMenuItem *N1_relogon; TMenuItem *N1_back; TMenuItem *N1_quit;

26、TMenuItem *N2; TMenuItem *N_EInf; TMenuItem *N2_Dept; TMenuItem *N2_Bank; TMenuItem *N2_ZFFS; TMenuItem *N2_GZXM; TMenuItem *N2_Count; TMenuItem *N2_JJXM; TMenuItem *N2_CQGL; TMenuItem *N2KCXM; TMenuItem *N3; TMenuItem *N3_About; TPanel *sys_contro; TDBGrid *DBGrid_BaseInf_Dept; void _fastcall sbtnE

27、infClick(TObject *Sender); void _fastcall FormActivate(TObject *Sender); void _fastcall sbtnDeptClick(TObject *Sender); void _fastcall sbtnBankClick(TObject *Sender); void _fastcall sbtnZFFSClick(TObject *Sender); void _fastcall sbtnCCountInfClick(TObject *Sender); void _fastcall sbtnGZItemsClick(TO

28、bject *Sender); void _fastcall sbtnJJItemsClick(TObject *Sender); void _fastcall sbtnKCItemsClick(TObject *Sender); void _fastcall N1_relogonClick(TObject *Sender); void _fastcall N1_backClick(TObject *Sender); void _fastcall N1_quitClick(TObject *Sender); void _fastcall sys_controClick(TObject *Sen

29、der); void _fastcall FormClose(TObject *Sender, TCloseAction &Action);private:/ User declarationspublic:/ User declarations _fastcall TBaseInfGL(TComponent* Owner);/-extern PACKAGE TBaseInfGL *BaseInfGL;/-#endif/-file:unit2.cpp-#include #pragma hdrstop#include Unit1.h#include Unit2.h#include Unit3.h

30、/-#pragma package(smart_init)#pragma resource *.dfmTBaseInfGL *BaseInfGL;/-_fastcall TBaseInfGL:TBaseInfGL(TComponent* Owner) : TForm(Owner)/-void _fastcall TBaseInfGL:sbtnEinfClick(TObject *Sender)pl_baseinf-Align=alClient; pl_baseinf-Visible=true; pl_KCXM-Visible=false; pl_ZFFS-Visible=false; pl_D

31、ept-Visible=false; pl_GZXM-Visible=false; pl_bank-Visible=false; pl_JJXM-Visible=false;/-void _fastcall TBaseInfGL:FormActivate(TObject *Sender)pl_baseinf-Visible=false; pl_KCXM-Visible=false; pl_ZFFS-Visible=false; pl_Dept-Visible=false; pl_GZXM-Visible=false; pl_bank-Visible=false; pl_JJXM-Visible

32、=false;/-void _fastcall TBaseInfGL:sbtnDeptClick(TObject *Sender) pl_Dept-Align=alClient; pl_baseinf-Visible=false; pl_KCXM-Visible=false; pl_ZFFS-Visible=false; pl_Dept-Visible=true; pl_GZXM-Visible=false; pl_bank-Visible=false; pl_JJXM-Visible=false;/-void _fastcall TBaseInfGL:sbtnBankClick(TObjec

33、t *Sender) pl_bank-Align=alClient; pl_baseinf-Visible=false; pl_KCXM-Visible=false; pl_ZFFS-Visible=false; pl_Dept-Visible=false; pl_GZXM-Visible=false; pl_bank-Visible=true; pl_JJXM-Visible=false;/-void _fastcall TBaseInfGL:sbtnZFFSClick(TObject *Sender) pl_ZFFS-Align=alClient; pl_baseinf-Visible=f

34、alse; pl_KCXM-Visible=false; pl_ZFFS-Visible=true; pl_Dept-Visible=false; pl_GZXM-Visible=false; pl_bank-Visible=false; pl_JJXM-Visible=false;/-void _fastcall TBaseInfGL:sbtnCCountInfClick(TObject *Sender) pl_ZFFS-Align=alClient; pl_baseinf-Visible=false; pl_KCXM-Visible=false; pl_ZFFS-Visible=true;

35、 pl_Dept-Visible=false; pl_GZXM-Visible=false; pl_bank-Visible=false; pl_JJXM-Visible=false;/-void _fastcall TBaseInfGL:sbtnGZItemsClick(TObject *Sender) pl_GZXM-Align=alClient; pl_baseinf-Visible=false; pl_KCXM-Visible=false; pl_ZFFS-Visible=false; pl_Dept-Visible=false; pl_GZXM-Visible=true; pl_ba

36、nk-Visible=false; pl_JJXM-Visible=false;/-void _fastcall TBaseInfGL:sbtnJJItemsClick(TObject *Sender) pl_JJXM-Align=alClient; pl_baseinf-Visible=false; pl_KCXM-Visible=false; pl_ZFFS-Visible=false; pl_Dept-Visible=false; pl_GZXM-Visible=false; pl_bank-Visible=false; pl_JJXM-Visible=true;/-void _fast

37、call TBaseInfGL:sbtnKCItemsClick(TObject *Sender)pl_KCXM-Align=alClient; pl_baseinf-Visible=false; pl_KCXM-Visible=true; pl_ZFFS-Visible=false; pl_Dept-Visible=false; pl_GZXM-Visible=false; pl_bank-Visible=false; pl_JJXM-Visible=false;/-void _fastcall TBaseInfGL:N1_relogonClick(TObject *Sender) User

38、Logon-Show(); BaseInfGL-Visible=false; userID=;/-void _fastcall TBaseInfGL:N1_backClick(TObject *Sender) adminUI-Show(); BaseInfGL-Visible=false;/-void _fastcall TBaseInfGL:N1_quitClick(TObject *Sender) UserLogon-Close();/-void _fastcall TBaseInfGL:sys_controClick(TObject *Sender) if(pl_BaseInfUI_left-Width!=0) p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论