您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 99数据库课程设计报告[1]
数据库课程设计报告一、实验课程任务与要求目的与任务:1.掌握数据库设计和实现的基本过程2.掌握数据库模式设计、分析和实现的方法3.了解数据库应用系统软件开发的一般过程。实验基本要求:(1)学习相关的预备知识(2)按照数据库设计与实现过程完成数据库的设计,应用程序的开发,上机调试、运行(3)写出课程设计报告二课程设计题目3.人力资源管理系统人力资源部门希望建立一个数据库来管理它的员工。一个公司有几个部门,而一个员工属于一个部门。这个部门指派一个经理来全面负责部门事务和部门员工。为了有助于管理好部门工作,某些工作人员被任命来管理一组人员。当有一个新的员工进入公司时,需要他以前的工作经历和成绩。通常来说,每个员工都要经历一次面试,这通常是由经理来进行的。公司定义了一系列的职位类型,例如经理、业务分析员、销售人员和秘书,而且每个类型都有相关的等级,员工所处的位置决定了员工的工资。职位依据其工作量来分配给一个部门。例如,一个部门可能分配给两个业务分析员的职位。每个岗位会分配给一个员工,随着时间的过去,各个职位都会被分配给工作人员。三需求分析与设计方案(1)能够对基础信息管理,系统需要管理员和员工登录(2)能够发放工资,工资登记,奖金登记,奖金发放(3)能够根据员工支付方式发放工资系统方案四数据库设计(1)概念设计(e_r图)工资管理系统管理员界面基础信息管理业务系统用户界面(2)逻辑设计1部门编码表列名数据类型长度范围主键否标题外键createtableDept(DNumchar(5)check(DNumlike'[0-9][0-9][0-9][0-9][0-9]')primarykey,Dnamechar(30)notnull,Dtelchar(13)check(Dtellike'0[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9][0-9][0-9]'orDtellike'0[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),);2员工编码表列名数据类型长度范围主键否标题外键createtableEmp(Enumchar(10)check(Enumlike'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')primarykey,Enamechar(20)notnull,Esexchar(2)check(Esexin('男','女'))notnull,EIDchar(18)check(EIDlike('[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')),Emzchar(14)notnull,Ezzchar(8)notnull,EpNUMchar(12),EAddrchar(50)notnull,EpsNUMchar(6)check(EpsNUMlike'[0-9][0-9][0-9][0-9][0-9][0-9]'),Ezcchar(20)notnull,Edeptchar(5),Ebyintcheck(Eby0andEby2000),Exlchar(20),foreignkey(Edept)referencesDept(DNum));3银行编码表列名数据类型长度范围主键否标题外键createtableBank(BankNUMchar(5)check(BankNUMlike'[0-9][0-9][0-9][0-9][0-9]')primarykey,BankNamechar(20),cardNUMLongintcheck(cardNUMLong25andcardNUMLong15));4工资项目编码表列名数据类型长度范围主键否标题外键createtablegongziItems(GZnumchar(5)check(GZnumlike'[0-9][0-9][0-9][0-9][0-9]'),GZNamechar(20)notnull,Dfjeint,Statuteintcheck(Statute=0orStatute=1));5支付方式种类编码表列名数据类型长度范围主键否标题外键createtablezfzl(zfzlNUMchar(5)check(zfzlNUMlike'[0-9][0-9][0-9][0-9][0-9]')primarykey,zfzNanechar(10)notnull,isCARDchar(1)check(isCARD='0'orisCARD='1'));6银行支付编码表列名数据类型长度范围主键否标题外键createtableBankzf(Enumchar(10)primarykey,BankNUMchar(5),CardNUMchar,foreignkey(Enum)referencesEmp(Enum),foreignkey(BankNUM)referencesBank(BankNUM));7支付方式编码表列名数据类型长度范围主键否标题外键createtableEzffs(Enomchar(10),zfzlNUMchar(5),foreignkey(zfzlNUM)referenceszfzl(zfzlNUM),foreignkey(Enom)referencesEmp(Enum),primarykey(zfzlNUM,Enom),);8扣除项目编码表列名数据类型长度范围主键否标题外键createtablekcItems(kcnumchar(5)check(kcnumlike'[0-9][0-9][0-9][0-9][0-9]')primarykey,kcNamechar(20)notnull,Dfjeint,Statuteintcheck(Statute=0orStatute=1));9扣除工资编码表列名数据类型长度范围主键否标题外键createtableKCGZ(Enumchar(10),KCGZnumchar(5),jeint,GZmonthintcheck(GZmonthbetween1and12)foreignkey(Enum)referencesEmp(Enum),foreignkey(KCGZnum)referenceskcItems(kcnum),primarykey(Enum,KCGZnum,GZmonth));10奖金种类编码表列名数据类型长度范围主键否标题外键createtablejjzl(JJnumchar(5)check(JJnumlike'[0-9][0-9][0-9][0-9][0-9]')primarykey,Jnamechar(10)notnull,jeint);11奖金编码表列名数据类型长度范围主键否标题外键createtableEJJ(Enumchar(10),JJnumchar(5),JJmonthintcheck(JJmonthbetween1and12),jeint,foreignkey(Enum)referencesEmp(Enum),foreignkey(JJnum)referencesjjzl(JJnum),);12实发工资编码表列名数据类型长度范围主键否标题外键createtablesfGZ(enumchar(10),jeint,GZnumchar(5)mthintcheck(mthbetween1and12),foreignkey(Enum)referencesEmp(Enum),foreignkey(GZnum)referencesgongziItems(GZnum),primarykey(Enum,mth,GZnum));13系统用户编码表列名数据类型长度范围主键否标题外键createtableuserCcount(Uidchar(10)check(Uidlike'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')primarykey,userNamechar(50),isAdminchar(1)check(isAdmin='0'orisAdmin='1'),psdchar(20),islogonedintcheck(islogoned=0orislogoned=1),foreignkey(Uid)referencesEmp(Enum));(3)数据处理五程序设计(1)界面设计(2)程序代码//-----------------------------------------file:Unit1.h----------------------------------#ifndefUnit1H#defineUnit1H#includeClasses.hpp#includeControls.hpp#includeStdCtrls.hpp#includeForms.hpp#includeButtons.hpp#includeDBTables.hpp#includeDB.hpp#includeDBCtrls.hpp#includeUnit4.h#includeUnit3.h#includepublic.hexternStringusername;externStringuserID;intisAdmin;TStringList*checkDBList=newTStringList();----------------------------------classTUserLogon:publicTForm{__published://IDE-managedComponentsTLabel*Label1;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__fastcallbtn_closeClick(TObject*Sender);void__fastcallloginClick(TObject*Sender);private://Userdeclarationspublic://Userdeclarations__fastcallTUserLogon(TComponent*Owner);};externPACKAGETUserLogon*UserLogon;#endif//------------------------------------file:unit1.cpp---------------------------------------#includevcl.h#pragmahdrstop#includeComObj.hpp#includeUnit6.h#includeUnit1.h#pragmapackage(smart_init)#pragmaresource*.dfmStringuserID;Stringusername;TUserLogon*UserLogon;//---------------------------------------------------------------------------__fastcallTUserLogon::TUserLogon(TComponent*Owner):TForm(Owner){}//-----------------------------
本文标题:99数据库课程设计报告[1]
链接地址:https://www.777doc.com/doc-4411497 .html