工资管理系统【可编辑范本】.docx
东方学院实 验(实训)报 告项 目 名 称 工资管理系统数据库分析与设计 所属课程名称 数据库原理及应用 项 目类 型 设计、综合型 实验(实训)日期 01.52014. 班 级 12信息班,金融信息 学号 2013 124001512040010 1204022 204005 1240012712013 12400143 姓 名 黄德灿方骏涛 林津津 郑逸群 孙鲁霖 张笑 戴林洁,陈怡文 一、 需求分析1. 信息要求工资管理是一项琐碎、复杂而又十分细致的工作,一般不允许发生差错.手工进行工资发放工作,需要反复地进行抄写、计算,不仅花费财务人员大量的时间,而且往往由于抄写不慎,出现张冠李戴,或者由于计算机的疏忽,出现工资发放错误的现象。同时工资的发放具有较强的时间限制,必须严格按照单位规定的时间完成计算和发放工作。正是工资管理的这种重复性、规律性、时间性,使得工资管理计算机化成为可能。计算机进行工资发放工作,不仅能够保证工资核算正确无误、快速输出,而且还可以利用工资数据库对有关工资的各种信息进行统计,服务于财务部门其他方面的核算和财务处理。本例按照一般企业都采用的工资计算公式,即根据员工的职务工种来确定基本工资,根据出工情况来扣除缺勤费,根据加班情况发放津贴来生成一个员工的当月工资。2. 功能要求1、 员工档案1) 对员工进行统一编号,将每一位员工的部门信息、职称信息等保存在员工档案记录中。2) 对新聘用的员工,将其信息加入到员工档案记录中;对于解聘的员工,将其信息从员工档案记录中删除。3) 当员工的信息发生变动时,修改员工档案记录中相应的属性。2、 员工考勤管理1) 登记员工本月因迟到、早退、旷工扣减的工资3、 员工加班管理1) 登记员工本月加班获得的加班薪酬4、 员工工资计算及管理1) 根据各员工加入公司时间不同,定时对员工工资进行计算。2) 结合员工基本工资,扣除工资及加班情况,对工资进行结算5、 管理1) 员工可以登录系统查询自己的扣除工资、加班情况、本月工资及工资发放时间,也可以更改自己的登录密码。2) 管理员可以查询和管理所有信息,可以更改自己的登录密码。3. 安全性与完整性要求安全与保密要求:此系统可以分为用户和管理员,用户可以浏览自己的考勤加班情况、月工资金额及发放时间,但不能修改自己的信息,凡要修改都需通过管理员去修改。管理员主要管理系统的各种信息.二、 数据库结构设计1. 概念结构设计根据系统需求分析,可以得出工资管理系统数据库的概念模型(信息模型),用E-R图表示的工资管理系统的概念模型最后,对设计出的数据模型进行规范化处理,使数据模型满足第三范式员工ygageygsexygnamefxdatebmidzcidjrdateygmmygid1、 员工实体图 图。 员工实体图2、 管理员实体图mmglynameglyid管理员 图2.管理员实体图3、 部门实体图部门表ygnamebmnamebmid 图3. 部门实体图职称表zcjbgzzcnamezcid4、 职称实体图 图职称实体图5、 加班记录实体图加班记录jbxcjbyearygidjbmonth 图5.加班实体图考勤扣除工资kcgzkqyearygidkqmonth6、 考勤记录实体图 图6考勤实体图7、 工资记录实体图工资记录ygidzcjbgzyearkcgzjbxczgzmonth 图7.工资实体图11n11111nn11nn11部门员工属于领导职位考勤管理加班管理职称考勤扣除工资加班薪酬工资基本工资扣除工资加班薪酬管理员担任1n全ER图: 图8.实体联系图2. 逻辑结构设计将管理系统的图转换为关系数据库的数据模型,其关系模式为:1) 员工(员工编号,姓名,年龄,性别,所在部门编号,职称编号,加入公司时间,发薪时间,登录密码)员工编号为主码,所在部门编号、职称编号为外码2) 管理员(管理员编号,姓名,密码)管理员为主码3) 部门(部门编号,部门名称,经理人姓名)部门编号为主码4) 职称(职称编号,职称名,基本工资)职称编号为主码5) 加班记录(员工编号,年份,月份,加班薪酬)员工编号为主码,加班时长、加班薪酬为外码6) 考勤扣除工资(员工编号,年份,月份,扣除工资)员工编号、考勤日期为主码,考勤类型、扣除工资为外码7) 工资记录(员工编号,基本工资,扣除工资,加班薪酬,总工资,年份,年月)工资编号为主码,员工编号、发薪日期为外码。几范式?3. 数据库结构的详细设计员工表列名数据类型描述备注yidChr(8)员工编号主键ygamVrchar(2)姓名不为空ygaInt年龄ygseCa()性别“男”或“女”bmdChr(3)所在部门编号不为空,外码zciChar(3)职称编号不为空,外码jaate加入公司时间不为空fxteate发薪日期不为空ygmChar(0)登录密码不为空管理员列名数据类型描述备注gyidChar(8)管理员编号主键gynameVachar(20)管理员名不为空mChar(2)密码不为空部门表列名数据类型描述备注bmhar(3)部门编号主键mnameVarcr(20)部门名称不为空ygnaeVarchar(20)经理人姓名不为空职称表列名数据类型描述备注zciCh(3)职称编号主键zcnamearcar(20)职称名不为空cbgzmney基本工资不为空加班记录列名数据类型描述备注ygidChar(8)员工编号主键jyarit加班年份主键jbmnint加班月份主键jbxcme加班薪酬考勤扣除工资列名数据类型描述备注ygidhr(8)员工编号主键kdatent考勤年月主键kqmthint考勤月份主键kcgzmony扣除工资工资记录列名数据类型描述备注gdChar(8)员工编号主码zcjbgzmone基本工资不为空,外码cgmoney扣除工资bcmone加班薪酬zzmoey总工资不为空yarint年份主码mohnt月份主码三、 物理设计1. 数据库物理设计原理对员工表在属性列yg(员工编号)上建立索引,对部门表在属性列bmnme(部门名称)和ygnme(经理人姓名)上建立索引,对职称表在属性列zcne(职称名)上建立索引,对加班记录在属性列gd(员工编号)和jy(加班年份)和jbon(加班月份)上建立索引,对考勤扣除工资在属性列ygid(员工编号)和kqyer(考勤年份)和kqmnt(考勤月份)上建立索引,对工资表在属性列gid(员工编号)上建立索引,2. 数据库的建立2.1 表的简历-员工编号-员工姓名-年龄-性别-部门编号-职称编号-加入公司日期-发薪日期-登录密码ceate table员工表(ygidchar(8)pimrykey,ynamarch(2)otull,ygen,ysexca(2)c(ygsin(男',女'),bmichar(3)ntnull,zcidcha(3)nonull,ateteotnul,fxdaeatenotull,ychar(20)notnull,frgnkey(mi)references部门表(bm),freignkey (zci)refeces职称表(zcd),)create table管理员(gdchr(8)primaryke,-管理员编号glynamevarca(20)noull,-管理员姓名mmcar(20)nonull,-密码)-部门编号-部门名-经理人姓名cre tale部门表(bmidchr(3)primarky,bmnmeacar(20)notnu,gnamchar(20)notnull,)-职称编号-职称名-基本工资ret tale职称表(zciar(3)pimayey,zcaevarhr(2)otnul,zcjbgzmoneynotull,)ree le加班记录(idchar(8),-员工编号jbyaint,-加班年份jbmonthit,-加班月份xmoey,-加班薪酬foeney (gid)rerencs员工表(ygid),priarey(ygid,byear,bmonth)-员工编号-考勤日期-考勤类型-扣除工资ce ae考勤扣除工资(ygchar(8),kqyeaint,kqmonth int,cgzmney,forignke (gd)refereces员工表(ygid),prmrykey(yi,qear,qmonh),)createtable工资记录-员工编号-基本工资-扣除工资-加班薪酬-总工资-发薪年份-发薪月份(ydchar(),zjzonyotnul,czmony,xconey,zmoneyotnll,eaint,monhint,f (ygid)refrene员工表(ygi),riaryky(y,year,moth),)2.2 索引cateinex员工_索引o员工表(ygi);createndex部门_索引on部门表(nm,gname);createinx职称_索引o职称表(ame);cretendex加班记录_索引n加班记录(gid,jbyear,bmnh);reateine扣资_索引on考勤扣除工资(ygid,qyar,kqmonh);cetendex工资_索引o工资记录(ygid);2.3 触发器1) 考勤扣除工资表中增加一条本月员工扣除资金,则工资记录中扣除工资相应改变ca tir工资记录_kgzon考勤扣除工资after insrtasupd工资记录etkcgz=iserted。kcrom工资记录,inetdwere工资记录gid=insertd.gdan工资记录.yar=insered.kqyearnd工资记录。mntinrte。kqmnth2) 加班记录表中增加一条本月员工加班薪酬,则工资记录中加班薪酬相应改变create trgger工资记录_bxco加班记录aftr isetasuat工资记录etjbxc=itejbxcfrm工资记录,nsertedwhere工资记录.ygi=inerted。ygiand工资记录。einsetd。jberand工资记录。mnth=inser.jbmot3) 当工资记录中更新本月员工加班薪酬或扣除工资,则工资记录中总工资相应改变cettriger工资记录_zgzon工资记录afte udateasif(UDE(kcg)rUPDTE(bxc)eginupate工资记录set zgzzcjgz+jbxckczfrm工资记录ed3. 数据库的运行和维护3.1 运行需求1、 硬件接口1) 服务器端:PIII40主频、56M内存、0G硬盘、10/100M网卡以上配置2) 客户端:166主频、2M内存、2G硬盘、1/100M网卡以上配置3) 一台路由器4) 远程拨入设备2、 软件接口1) MiSot Windows NT Srver 4。0 /Windows 00 Widows xp/ Widows20072) Qsver205数据库3) ioStOffi2002003/2003、 系统维护设备的硬件故障可能造成本软件不能运行或不能正常进行输入、输出等后果,系统的资源不足及网络传输通道阻塞可能造成本软件不能正常运行,并有可能造成机器“死机",上述故障的处理由用户自行解决。软件在运行过程中产生的数据库错误,将由系统自动记入错误日志,非数据传输引起的错误将由系统管理员或软件开发者解决软件在运行过程中产生的其他错误,将根据情况由软件开发者或软件开发者协助系统管理员解决。