《人事管理系统SQLDELPHI课程设计报告.doc》由会员分享,可在线阅读,更多相关《人事管理系统SQLDELPHI课程设计报告.doc(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、人事管理系统数据库SQL_课程设计(报告)A:摘要:为了能设计一个提高人事系统工作效率管理系统,使其人事信息可以规范化管理、并且能够实现科学统计人事资料,重要的是能够快速查询,减少管理方面的工作量。特用SQL Server设计一个人事管理系统,旨在体会其在现实生活中的应用。 1、该系统的基本功能: 员工各种信息的输入,包括员工的基本信息、学历信息、婚姻状况信息、职称等。 员工各种信息的修改; 对于转出、辞职、辞退、退休员工信息的删除; 按照一定的条件,查询、统计符合条件的员工信息;包括每个员工详细信息的查询、按婚姻状况查询、按学历查询、按工作岗位查询等,同时也可实现按学历、婚姻状况、岗位、参加
2、工作时间等统计各自的员工信息;2、数据库中所包含下列数据表: 用户基本信息表(用户名,用户号,密码,权限) 员工基本信息表(个人基本信息,进入公司时间,员工级别,基本工资,所在部门)等; 员工家庭情况表,反映员工的家庭信息; 员工学历信息表,反映员工的学历、专业、毕业时间、学校、外语情况等; 企业工作岗位表,反应基本的名称所属部门信息; 企业部门信息表。反应部门名称等基本信息。3、设计环境:先导课程为:数据库系统概论。设计环境和开发工具: 操作系统: WindowsVista 数据库管理系统:MySQL开发工具: JavaB:目录:目录1 摘要22 需求分析42.1 业务需求分析42.2 功能
3、需求42.3 数据需求42.4 数据字典53 数据库结构概念结构设计63.1 数据结构和数据项63.2 思维图73.3 E-R图84 数据库逻辑结构设计95 数据流程及程序结构框图125.1 程序结构框图125.2 数据流程图135.3 数据流定义145.4 数据存储定义145.5 主要处理过程156 程序源代码及其说明总结166.1 部分原代码166.2 实验数据输入186.3 图片展示217 总结238 致谢语249 参考文献24C:需求分析:C.1业务需求分析背景资料:随着公司的规模不断扩大,员工的数量急剧增加,有关员工的各种信息也成倍增长.面对庞大的信息量,一个好的人事管理系统可以提高
4、公司人事管理工作的效率.通过这样的系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量。为公司和员工带来便利。C.2功能需求 在数据操作界面要有用户登陆窗口和信息操作(修改,删除,查询)窗口 功能列表编号功能名称功能说明1.1用户登陆用户输入用户名和密码登陆系统1.2用户添加添加用户和对你添加的用户权限进行设定1.3添加用户添加新的用户1.4删除用户删除已有的用户息2.1员工信息管理查询员工的基本信息,修改员工的基本信息2.2部门信息管理查询修改部门的基本信息2.3工作岗位信息管理对工作岗位进行相关操作C.3数据需求系统处理的对象有(大致):a:用户信息:用户名,密码,权
5、限。b:员工信息:员工进入公司的时间、员工级别、员工的基本工资、员工所在部门和员工的其他基本信息等c:工作岗位信息:岗位名称,岗位级别,工资范围,所属部门等d:公司部门信息:部门信息,负责人等C.4数据字典数据项名称数据项描述数据项类型主码User_ID用户编号intUser_Name用户姓名char(20)Password用户密码char(20)Popedom用户权限char(20)允许为空D_Number部门编号Char(4)D_Name部门名称char(20)D_Count部门所含岗位数intD_Chief部门负责人intP_Name岗位名称char(20)P_Number岗位编号int
6、P_Rank岗位级别char(20)P_Department所属部门char(20)P_Count岗位人数intP_Wage工资范围(max&min)intE-Number员工编号intE_Name员工姓名char(30)E_Sex员工性别char(2)E_BornDate员工出生日期char(30)E_Marriage员工婚姻状况char(4)E_PoliticsVisage员工政治面貌char(20)E_Phoen员工联系电话intE_SchoolAge员工学历char(20)E_Specialty员工专业char(20)E_Graduate员工毕业时间char(30)E_School员工
7、毕业学校char(20)E_FL员工外语情况char(20)E_EnterDate员工进入公司时间char(30)E_InDueFormDate员工转正时间char(30)E_Department员工部门char(20)E_Headship员工职务char(20)E_Estate员工状态char(10)E_Remark员工备注char(500)E_Rank员工级别char(20)E_BassicWage员工基本工资intE_Family员工家属姓名char(20)E_Address员工住址char(20)E_Relation与员工关系char(20)D:数据库概念结构设计:通过需求分析,可确定
8、系统的数据项和数据结构如下:1:用户基本信息表(User):姓名,编号,密码,权限2:员工基本信息表(Employment):姓名,编号,性别,婚姻状况,进入公司时间,转正时间,部门, 职务,状态,备注,级别,基本工资3:员工家庭信息表(Family):编号,出生年月,联系电话,住址,家属姓名,与员工关系4:员工学历信息表(Schooling):编号,毕业学校,毕业专业,学历,毕业时间,外语情况,政治面貌5:企业工作岗位表(Post):名称,编号,级别,所属部门,工资mix,工资min6:企业部门信息表(Department):名称,编号,所含岗位数,部门负责人 概念结构设计E-R模型:Use
9、r禁止访问!YES?更新管理只限统计只限查询只限浏览员工学历表员工信息表岗位表部门表员工家庭信息表上幅图是指:如果用户有“只限浏览权”,则只能 对部门表浏览,以此类推(思维图)下幅是各实体之间的E-R图:性别转正时间进入公司时间婚姻状况编号姓名级别状态职务部门基本工资员工基本信息表编号毕业院校学历编号级别员工工作备注名称政治面貌外语情况毕业专业职工学历表工作岗位表编号出生年月毕业时间职工家庭信息表Mix编号部门表Min住址联系电话部门负责人岗位数家属姓名与员工关系编号名称E-R图上幅图是完整的E-R图:用户的数据基本信息不含在这个E-R图中,因为,用户只是一个窗口,当他满足某些条件,才能进入者
10、个关系模式,并进行相应的操作,如果他不满足程序所要求的任何条件,这个关系模式对其是屏蔽的,用户数据也有其自个儿数据库,但是我在这个课程设计没有主要讨论,用相应的编程让其和E-R相联系起来。E:数据库逻辑结构设计:a:用户基本信息表(User)User_NameUser_IDPasswordPopedom(浏览)Popedom(查询)Popedom(统计)Popedom(更新)总理101001*总理201002*总理301003*负责人102001*负责人202002*负责人302003*管理人103001*管理人203002*管理人303003*b:员工基本信息表(Employment)E_N
11、ameE-NumberE_SexE_MarriageE_EnterDateE_InDueFormDateE_Department01000001女未婚2008.09.122008.12.29A02000003女已婚2008.09.122008.12.29B03000004女已婚2008.09.122008.12.29C04000002女未婚2008.09.122008.12.29D接上:E_HeadshipE_EstateE_RemarkE_RankE_BassicWageA01001在职无16000B02003在职无25000C01001不在职休假34000D01001在职无45500c:员
12、工家庭信息表(Family):E-NumberE_BornDateE_PhoenE_AddressE_FamilyE_Relation010000011990.09.0713488787349北京良乡马*姐姐020000031990.10.2515120012464北京海淀刘*妈妈030000041989.10.0913810747040北京朝阳*040000021989.10.0515101137805北京顺义*d:员工学历信息表(Schooling)E-NumberE_SchoolE_SpecialtyE_SchoolAgeE_GraduateE_FLE_PoliticsVisage010
13、00001北京工商软件工程本科2005.06.12西班牙语党员02000003北京工商软件工程本科2005.06.12英语党员03000004北京工商软件工程研究生2007.06.12法语团员04000002北京工商软件工程本科2005.06.12英语团员*e:企业工作岗位表(Post):P_NameP_NumberP_RankP_DepartmentP_CountP_Wage(mix)P_Wage(min)CEOA010011A3100006000总监B020032B5100005000组长C010013C280004000部长D010014D180005000*f:企业部门信息表(Depa
14、rtment):D_NameD_NumberD_CountD_Chief管理A1001000001培训B502000003销售C803000004财务D2004000002设计E9*开发F12*F:数据流程及程序结构框图:Admin人事管理系统更新!岗位表员工信息表用户表统计部门表员工学历表查询!员工家庭情况浏览1:以上是程序结构图D1 员工档案P1档案管理员工D6 管理人员记录管理员情况P6安全管理管理员工资查询发工资P4工资管理D4 工资记录员工员工情况上级员工P3调动管理D3 职务调动记录上级员工对应编号P2岗位管理D2 岗位记录员工调动用户身份用户身份用户身份部门情况P5部门管理D5
15、部门记录上级工资在档案表里调动在档案表里2:以上是数据流程图图中虚线表示的数据流是员工信息(1)主要的数据流定义1)数据流名称:员工情况位置:员工P1。定义: 员工情况=姓名+编号+性别+婚姻状况+部门+基本工资+职务 。说明:要对每一位被聘用的新员工进行唯一编号。2)数据流名称:调动情况位置:P3员工定义: 调动情况=员工号+调动前职务+调动后职务+调动日期。说明:员工号和调动日期(备注)可以唯一确定一个调动情况。3)数据流名称:工资查询位置:P4员工定义: 工资查询=员工号+基本工资。说明:根据员工号可以唯一确定一个工资记录。4)数据流名称:管理员情况位置:管理员P6定义: 用户身份=员工
16、编号。说明:要对每一位管理员建立唯一的账号。5)数据流名称:用户身份位置:安全管理P1,定义: 用户身份= 负责人 | 总理 | 管理人|说明:不同的用户身份对应不同的操作权限,对应着不同的安全级别。6)数据流名称:部门情况位置:上级部门情况定义: 部门情况=部门号+部门名称+负责人编号说明:部门号是主码。(2)主要的数据存储定义1)数据存储编号:员工记录 D1输入:P1输出:P1,P3,P4,P5,P6数据结构:员工记录=姓名+性别+婚姻状况+基本工资+职务+部门 +员工编号。存取方式:检索和更新。说明:员工编号具有唯一性和非空性;性别只能是男或女;主码是员工编号。2)数据存储编号:管理人员
17、记录 (用户)D6 输入:P6输出:P6数据结构:管理人员记录=用户号+密码+账号+权限。存取方式:检索和更新;以检索操作为主。说明:主码用户设为账号。3)数据存储编号:部门记录 D5输入:P5输出:P5数据结构:部门记录=部门号+部门名称+负责人+所含岗位数。存取方式:检索和更新;以检索操作为主。说明:主码设为部门号。(3)主要的处理过程1)处理过程编号:P1处理过程名:档案管理输入:用户身份,员工记录,员工情况输出:员工记录处理说明:根据员工的聘用、解聘建立或删除员工记录,以及在后续的过程中,以管理员身份对员工的记录进行修改。2)处理过程编号:P4处理过程名:工资管理输入:用户身份,工资记
18、录输出:工资记录,工资查询处理说明:根据员工目前的工资情况,进行调薪的操作。3)处理过程编号:P3处理过程名:调动管理输入:用户身份,职务调动记录输出:职务调动记录,调动情况处理说明:更改员工的职务信息。4)处理过程编号:P6处理过程名:安全管理输入:管理员情况输出:D6, P1处理说明:建立管理人员(用户)记录表;通过用户名和口令,确认用户身份,保证系统安全性。5)处理过程编号:P5处理过程名:部门管理输入:部门情况,部门记录输出:部门记录处理说明:根据上级的调度,对现在公司的部门进行领导人的调换,或者是增加或删除某一部门。G:程序源代码及其说明:(部分)create database HA
19、MS /*HAMS:人事管理系统human affairs manage system*/on primary name= HAMS, filename=D:MySQLMYR_ HAMS.mdf, size=10, filegrowth=10%, maxsize=50 log on name= HAMS _Log, filename=D:SQL HAMS_Log.ldf, size=5, filegrowth=10%, maxsize=10gocreate table Department D_Number Char(4) primary key, D_Name Char(20) not nu
20、ll, D_Count int not null,D_Chief int not null,gocreate table User User_ID int primary key,User_Name Char(20) not null,Password Char(20) not null,Popedom(浏览) Char(2),Popedom(查询) Char(2),Popedom(统计) Char(2),Popedom(更新) Char(2),gocreate table EmploymentE_Name Char(30) not null,E-Number int primary key,
21、E_Sex char(2) not null,E_Marriage char(4),E_EnterDatechar(30),E_InDueFormDate char(30),E_Department char(20) not null,E_Headshipchar(20) not mull,E_Estate char(10) ,E_Remark char(500),E_BassicWage int,E_Rankint not null,gocreate table FamilyE-Number int primary key,E_BornDatechar(30),E_Phoen int,E_A
22、ddress char(20),E_Family char(20),E_Relationchar(20),gocreate table SchoolingE-Number int primary key,E_School char(20),E_Specialtychar(20),E_SchoolAge char(20),E_Graduatechar(30),E_FLchar(20) not null, E_PoliticsVisagechar(20)gocreate table PostP_Numberint primary key,P_Name char(20) not null,P_Ran
23、kint,P_Department char(20),P_Count intnot null,P_Wagemax intnot null, P_Wagemin int not null,go/*索引的建立*/create uniqe index D_Chief _index on Department (D_Chief);create index E_BassicWage_index on Employment (E_BassicWage);create index E-Number _index on Employment(E-Number ASG);create cluster index
24、 User_ID _index on User(User_ID );go实验数据的输入MySQL上建立的“HAMS”数据库,输入少量的实验数据。一:insert into Uservalues(01001,总理1,123456, ,);insert into Uservalues(01002,总理2,654321, , ,);insert into Uservalues(01003,总理3,567890, ,);insert into Uservalues02001,负责人1,098765, ,);insert into Uservalues(02002,负责人2,811253, ,);ins
25、ert into Uservalues(02003,负责人3,352118, ,);insert into Uservalues(03001,管理人1,111222, ,);insert into Uservalues(03002,管理人2,3333444, ,);insert into Uservalues(03003,管理人3,888999, ,);二:insert into Employmentvalues(*, 01000001,女,未婚,2008.09.12,2008.12.29, A , A01001, 在职,无,6000,1);insert into Employmentvalu
26、es(* , 02000003,女,已婚,2008.09.12,2008.12.29, B , B02003, 在职,无,5000,2);insert into Employmentvalues(*, 03000004,女,未婚,2008.09.12,2008.12.29, C , A01001, 在职,无,4000,3);insert into Employmentvalues(*, 04000002,女,未婚,2008.09.12,2008.12.29, D , A01001, 在职,无,5500,4);三:insert into Familyvalues(01000001,1990.09
27、.07,13488787349,北京良乡, 马*,姐姐);insert into Familyvalues(02000003,1990.10.25,15120012464,北京海淀,刘*, 妈妈);insert into Familyvalues(03000004,1989.10.09,13810747040,北京朝阳,*, * );insert into Familyvalues( 04000002,1989.10.05,15101137805,北京顺义,*, * );四:insert into Schoolingvalues(01000001,北京工商,软件工程,本科,2005.06.12
28、, 西班牙语 , 党员);insert into Employmentvalues( 02000003,北京工商,软件工程,本科,2005.06.12, 英语 ,党员);insert into Employmentvalues(03000004,北京工商,软件工程,研究生,2007.06.12, 法语,团员);insert into Employmentvalues(04000002,北京工商,软件工程,本科,2005.06.12, 英语,团员);五:insert into Postvalues(CEO,A01001,1,A,3, 10000 ,6000);insert into Postva
29、lues(总监,B02003,2,B,5, 10000 ,5000);insert into Postvalues(组长,C01001,3,C,3, 8000 ,4000);insert into Postvalues(部长,D01001,4,D,1, 10000 ,5000);六:insert into Departmentvalues(A,管理,10, A01001 );insert into Departmentvalues(B,培训,5, B02003);insert into Departmentvalues(C,销售,8, C01001 );insert into Departme
30、ntvalues(D,财务,20, D01001 );insert into Departmentvalues(E,设计,9, E01008 );insert into Departmentvalues(F,开发,12, F01010 );图片展示:H:总结:当时在数据库的设计初期,没有对人事管理系统进行准确地需求分析,导致后期设计过程中的数据库的概念设计阶段无法进行。因此,又回头重新画逻辑图,然后再修改添加,前期工作做的很麻烦,也让我深刻认识到了需求分析对于系统设计的重要性。也认识到规范化的设计流程对于后期的设计来说,是十分重要的。只有对前面的设计过程进行准确地分析,思路清晰,才能节省整个系
31、统的开发时间。这次实验感触最深的还是老师开学时告诉我们:数据库建设是硬件、软件的结合,三分技术,七分管理,十二分基础数据。设计先不说麻烦,这个管理起初让我焦头烂额,特别是在刚开始设计时,无从下手其实我的实验已经设计尽可能少的表了,刚开始设计时,表很多,一对多的表在整个过程中浪费了很多时间还有空间,就在好好画逻辑图,找到几个中间表和关系表联系起来,这样就只用维护这几个小表就行了,节约了不少时间。还有一个重要的东西索引!索引的创建我是在系统开发完毕,测试阶段,根据查询该表的所有SQL语句进行设计的。由于数据较少,建立之间和之后,查询速度的变化感觉不明显,但是,如果数据很多,就可以大大的加快查找速度
32、。I:致谢语:老师在作业布置之初就强调要自己完成,诚信应该是我们必须一直坚持着这个信念。 这几个新期各种考试,时间紧,写课设的时间也相对减少了很多,但是,课设的提交时间也越来越近。这个新期除了上课,我就在图书馆写课设,我的课设准备时间很短,我知道如果从网上找一篇改改很容易,但是我觉得我们已经大三,这种学生认识完成一门作业的感觉以后进入社会很少在能感受了,所以坚持自己动手,做完之后,也看了同宿舍的女孩的课设,觉得自己的课设真的还有很多缺陷,但是从中体会到了知识,管理技术,即使成品不完美,我也很欣慰,因为这个新期花的很值!我要感谢黄金慧老师在我论文过程中给予的指导,以及对于我们一些同学迟交论文的放
33、宽,还有在我们写论文过程中对我们的督促。我还要感谢我同宿舍的女孩帮我一起解决了很多安装软件时遇到的困难。 J:参考文献:1 王珊. 数据库系统概论(第四版).北京:高等教育出版社,20052 PowerBuilder 7.0 的帮助文件 pbgswin.pdf (在文件夹C:Program FilesSybasePowerBuilder 7.0hlp)3 Adaptive Server Anywhere 的所有帮助文件(在文件夹C: Program FilesSybaseAdaptive Server Anywherewin32)4:MySQL帮助文档。5:Java帮助文档。性别转正时间进入公司时间婚姻状况编号姓名级别状态职务部门基本工资员工基本信息表编号毕业院校学历编号级别员工工作备注名称政治面貌外语情况毕业专业职工学历表工作岗位表编号出生年月毕业时间职工家庭信息表Mix编号部门表Min住址联系电话部门负责人岗位数家属姓名与员工关系编号名称