1、人事管理系统 数据库课程设计 课 程 设 计 报 告课程设计名称: 数据库原理与应用 系 部: 学生姓名: 班 级: 学 号: 成 绩: 指导教师: 开课时间: 2011-2012 学年 1 学期一 设计题目:人事管理系统二主要内容:在当前中国教育形式下,对学生的评价很大程度上还是侧重于学生的成绩,所以老师对学生的试卷测试势必不可少的。那么,要提高测试的质量,让学生得到一次良好的测试体验,更好的提高学习水平,就必须在试卷上下足功夫。随着IT业的迅速发展,计算机的应用已逐渐进入到社会生活中的各个领域,数据库系统也越来越多的被人们使用。本次设计就是为了解决学校平时对学生进行测试时遇到的一些问题,使
2、得老师的工作量大大减少,而且也提高了学校对学生水平的测试质量,使学生能够得到更大的提高。最终达到提高学校的教学质量的目的。三具体要求1. 课程设计的内容独立自主完成,课程设计报告内容完整、格式规范、排版整洁美观;2. 后台数据库采用MS SQL SERVER2005,前台界面语言不限,编写的程序代码,须有较详细的注释说明;四进度安排课程设计安排:16周星期一 讲解课程设计的内容,安排每一天的具体任务,分配并熟悉题目;星期二 需求分析:给出系统的功能需求、性能需求,并绘制DFD和DD;星期三 概念结构设计:绘制实体属性图(可选),局部ER图和全局ER图;星期四 逻辑结构设计:转换、优化、外模式的
3、设计;星期五 物理结构设计及数据库实施;17周星期一 应用程序编制调试、整理课程设计报告,并检查;星期二 根据反馈结果修改课程设计;星期三 提交作业 上交的材料:课程设计的电子稿、打印稿、源码(SQL代码和程序代码)五成绩评定考核方法:现场验收(占50%),课程设计报告(占50%)。考核内容:学习态度(出勤情况,平时表现等)、方案合理性、各阶段的图表与程序编制质量、设计报告质量。成绩评定:优,良,中,及格,不及格。特别说明:(1)如发现抄袭,按照不及格处理。 (2)材料不齐的,考核等级降一级。电子稿件以压缩文件的形式上交,压缩命名为:11位学号+姓名正文:一、需求分析1、 系统功能的基本要求:
4、(1) 员工各种信息的输入与修改,包括员工的基本信息、学历信息、婚姻状况信息、职称,简历,考核结果等。(2) 对于转出、辞职、辞退、退休员工信息的处理;(3) 按照一定的条件,查询、统计符合条件的员工信息2、功能分析:人事管理系统的基本功能是对企事业单位的组织结构和员工进行管理,本系统的主要功能分为:部门信息管理、员工基本信息管理、员工考勤管理、员工工作考评信息管理和系统用户管理。本系统的目标需要完成这些功能的建设:1) 员工基本信息管理:添加、修改、删除和查看员工的基本信息,包括员工编号、姓名、性别、生日、所在部门等信息查询每个部门的详细信息;2) 部门信息管理:添加部门信息,包括部门编号、
5、部门名称、部门职能描述和上级部门等信息;具有修改、删除和查看部门信息的功能;3) 员工考勤管理:可以添加、修改、删除和查询员工考勤信息,包括考勤月份、病假天数、事假天数、旷工天数等信息月度考勤统计表;4) 员工工作考评管理功能:添加、修改、删除和查看员工工作考评信息,包括考评月份、奖励事由、奖励金额、处罚事由、处罚金额和总体评价等信息;5) 系统用户管理功能:添加、修改、删除、查看系统用户信息,包括用户名、密码、员工编号和用户类型(系统管理员和普通用户)等信息;6 系统帮助信息:显示“关于”对话框,主要是关于本系统的相关信息;3、绘出系统的逻辑模型:数据流程图。第一层数据流系统管理员系统数据库
6、人事管理系统 人事信息 人事信息 员工信息表登记新员工信息新进员工的信息 员工信息员工信息管理员信息查询查询员工信息更新自己的信息查询员工要更新的信息 图1 员工信息管理数据流部门信息表更新部门的信息要更新部门的信息 部门信息部门信息管理员信息查询查询部门信息查询员工 图2 部门信息管理数据流人事部办理相关手续申请人事调动 批准或是不批准部门审批结果 人事变动登入审批部门信息表修改查询员工信息修改考核结果批准或不批准上级领导们 图3 人事调动数据流提供出勤信息 打分 出勤记录 员工上下班 员工 财务部 信息 出勤信息提供工资信息查询 工资表 发工资 工资信息 图4 工资数据流 二、概念结构设计
7、姓名ID员工号电话出生日期员工学历性别职务员工实体图部门名称部门编号部门人数部门简介部门部门实体图工号月份奖金钱姓名奖金实体图月份工号天数加班工资钱姓名 加班实体图用户表密码用户名用户实体图全勤天数迟到天数考勤时间考勤表病假天数工号事假天数考核实体图从上面实体图可以得出总e-r图:部门人事变动记录 1变动时间变动员工属于 1 员工 1 n奖金工资应得 n m 1 考核时间考核 基本工资 1 n 考核项目三、逻辑结构设计 员工(工号,姓名,性别,出生日期,部门号,职务,学历,电话,ID) 部门(部门号,部门名称,部门人数,职能描述) 工资(工号,工资) 加班(员工号,月份,姓名,天数,钱) 奖金
8、(员工号,月份,姓名,钱) 出勤表(工号,考勤日期,全勤天数,迟到天数,病假天数,事假天数) 考核表(工号,名字,考核时间,交际能力,专业能力,身体能力)四、物理设计 数据库物理设计阶段的任务是根据具体计算机系统(dbms和硬件等)的特点,为给点的数据库系统确定合理的储存结构和存取方法。所谓的合理主要有两个含义:一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。主要体现在后者。(1) 建立索引:1. 对表部门在属性列领导号上建立非聚集索引,2. 对表员工在属性列出生日期上建立费聚集索引,在属性列学历上建立非聚集索引3. 对表出勤在属性列上班日期建立非聚集索
9、引。4. 对表工资在属性列基本工资上建立非聚集索引。5. 对表职务调动在属性列奖惩类型上建立非聚集索引。6. 对表奖惩记录在属性列奖惩类型上建立非聚集索引。7. 对表请假记录在属性列请假天数上建立非聚集索引,在属性列审批人编号上建立非聚集索引。(2) 存储结构确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。将日志文件和数据库对象(表、索引等)分别放在不同的磁盘,可以改进系统的安全性,所以,系统应将日志文件和数据文件存放在不同的磁盘上。五、数据库实施及应用程序 存储过程: Create procedure
10、部门更新1dcount int,dno char(2)AsUpdate departmentSet Dcount=DcountWhere Dno=DnoCreate procedure 部门插入Dno char(2),Dname char(10),Dcount int,Djianjie char(40)As Insert into department values(Dno,Dname,Dcount,Djianjie)Create procedure 插入Eno char(10),Dno char(10),Ename char(20),Esex char(2),Ebir char(20),Ez
11、hiwu char(10),Exueli char(10),Etel char(11),EID char(18)As Insert into departmentValues(Eno,Dno,esex,ebir,ezhiwu,exueli,etel,eid)Create procedure 查询Eno char(10)As Select *from employeeWhere Eno=EnoCreate procedure genxinbno char(10), Eno char(10),Dno char(10),Ename char(20),Esex char(2),Ebir char(20
12、),Ezhiwu char(10),Exueli char(10),Etel char(11),EID char(18)As Update employeeSetEno=Eno,Dno=Dno,Ename=Ename,Esex=Esex,Ebir=Ebir,Ezhiwu=Ezhiwu,Exueli=Exueli,Etel=Etel,EID=EIDWhere Eno=bnoCreate procedure genxin3Eno char(10),Ename char(20),data char(10),jiaoji char(4),zhuanye char(4)shenti char(4)As
13、Update kaoheSet Eno=Eno,Ename=Ename,data=data,交际能力=jiaoji,专业技能=zhuanye,身体素质=shentiWhere Eno=Eno and data=dataCreate procedure 管理员5Gno char(10),password char(10)As Update guanliyuan Set Gpassword=passwordWhere Gno=Gno and password=passwordCreate procedure kcharueno char(10), ename char(20),data char(
14、10),jineng1 char(10),jineng2 char(10),jineng3 char(10),AsInsert into kaohe Values(eno,ename,data,jineng1,jinneng2,jineng3)Create procedure suangongziEno char(10),date char(2),gongzit char(5) outputAs Declare gongzi int,money1 int,money2 int,chidao int,shijia int,bingjia int,gongzil int,Jmoney int,Am
15、oney intselectchidao=chidao,bingjia=bingjia,shijia=shijia,gongzi1=gongzi,Jmoney=JmoneyFrom yuegongziWhere Eno=Eno and Jyuefen=dateIf chidao3BenginSet money1=0Set money2=(shijia+bingjia)*50Set gongzi=gongzil+Jmoney+Amoney-money1-money2Set gongzit=convert(varchar(5),gongzi)Print 钱+gongzitCreate proced
16、ure tianjiaDno char(10),Dname char(20),Dcount int,jianjie char(40)AsInsert into department values(Dno,dname,Dcount,jianjie)Create procedure yuangong1Yno char(10),password char(10)AsUpdate yuangongSet Ypassword=passwordWhere Yno=YnoCreate procedure yuangongalterEno char(10),Ename char(10),Esex char(2
17、),Etel char(11)AsUpdate employeeSet Ename=Ename,Esex=Esex,Etel=EtelWhere Eno=Eno六.心得体会这次的课程设计,在指导老师的悉心指导和帮助下,顺利地完成了数据库人事管理系统。回顾这次课程设计,从刚开始的茫然,对数据库的认识非常有限,到后来能够独立应用sql server 2005来编写sql代码以及完成系统的调试。我感觉到自己的进步,当然这要感谢老师和同学的帮助。当然,我离将设计做得很完美的程度,还是存在很大的差距。当然,本次课程设计在很多地方需要完善,这需要我在将来的学习中,不断提高对自身的要求,及时掌握新的知识,多多参与编程实践,在实践中锻炼和提高自己的能力。这个学期的课程设计,我有以下几点体会:(1) 课程设计的初期工作要准备好。在设计数据库时,首先必须进行需求分析,了解到用户的需求,然后进行概念设计和逻辑设计,最后建数据库。(2) 要注重理论知识的学习以及实践。在课程设计过程中,我发现自己对理论知识的学习还不够透彻。(3) Sql代码的编写问题。由于我对sql的了解度还不够,要实现有些功能的难度还是相当大的。因此,在编写过程中,我会经常因为不知道如何编写sql代码实现某些功能而伤脑筋,所以只能通过上网查询以及向老师请教。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1