[计算机]数据库课程设计报告.doc_第1页
[计算机]数据库课程设计报告.doc_第2页
[计算机]数据库课程设计报告.doc_第3页
[计算机]数据库课程设计报告.doc_第4页
[计算机]数据库课程设计报告.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

数据库与信息管理课程设计目录1问题描述 21.1 目标 21.2 功能要求 2 1.2.1档案管理 2 1.2.2 工资计算 2 2.数据库系统设计 2 2.1 需求分析 2 2.1.1 系统功能分析 2 2.1.2 系统功能模块设计 3 2.2 概念设计 3 2.3 逻辑设计 4 2.4 物理设计 5 2.5设计视图、触发器和存储过程 6 2.5.1 创建视图 6 2.5.2 创建触发器 7 2.5.3 创建存储过程 8 3系统设计与实现 9 3.1 开发环境 93.2 系统实现细节 93.3 调试与运行结果 10 4总结 11工资管理系统摘要现在,对工资以及对员工的管理正在一步一步的改进,管理的范围也是越来越大,功能越来越完善。我们不能再局限于以前那样简单粗糙的管理模式。计算机的普及为我们的管理提供了极大的便利,我们可以利用计算机将员工的各种信息储存起来,并且能够对工资进行有效精准的计算,节省了资源。本软件的基本功能就是能够实现与工资有关的档案的管理,提高工资管理工作效率,降低出错率。档案管理能够保存有关工资计算以及工资管理所必需的数据,能对各种数据进行插入,修改,删除等操作,并且能够对数据进行相应的查询与统计。该软件同时能够正确计算出个人月工资、部门月工资以及全厂月工资,能打印输出工资计算表、个人工资单、部门工资单、工资汇总表四种表格。关键字:Oracle;数据库;数据库编程;Java编程;工资管理;信息更新1. 问题的描述 1.1目标:n 实现月工资计算和打印输出相应的工资表格;n 实现与工资管理有关的档案管理。n 提高工资管理工作效率,降低出错率。 1.2功能要求:1.2.1档案管理n 保存有关工资计算以及工资管理所必须的数据n 能对各种数据进行插入、修改、删除等操作n 能对数据进行查询、统计1.2.2工资计算n 正确计算出个人月工资、部门月工资以及全厂月工资。n 能对病假扣款系数进行修正。n 能打印输出工资计算表、个人工资单、部门工资单、工资汇总表四种表格。2. 数据库系统设计数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整性和一致性。设计数据库系统时应该充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。数据库设计一般包括以下几个步骤:需求分析、概念设计、逻辑设计、物理设计。2.1需求分析这个工资管理系统用于实现工资计算和打印输出相应的工资表格,实现与工资管理有关的档案管理,提高工资管理工作效率,降低出错率,还能实现对工资、津贴、补助和扣款系数的修改,该系统中计算的项目包括个人月工资、部门月工资以及全厂月工资等。2.1.1 系统功能分析 在这个系统中,用户分为管理员和普通用户两类,管理员的管理范围比较大,除了和普通用户一样能够查询员工、部门、职位、考勤情况等信息外,还能够对基本工资、岗位津贴、职位津贴、物价补贴、住房补贴以及扣款系数进行修改。2.1.1.1 数据录入功能 主要任务是对各种信息进行日常的管理,如对员工信息、部门信息、职位信息、考勤信息等的添加、修改、删除, 迅速准确地完成各种工资信息的统计、计算和汇总,快速打印出报表。2.1.1.2 数据查询功能系统需要提供以下查询功能:1) 员工考勤情况:记录职工在哪天请假、请了几天以及原因;2) 员工基本信息情况,反映员工的编号,姓名,性别,年龄,民族,身份证号,出生日期,学历,部门编号,所在部门负责人,职务编号,技术等级信息情况; 3) 部门信息情况,反映部门编号、部门名、岗位津贴的信息情况;4) 职位信息情况,反映职位号,职位名,职务津贴,物价补贴,住房补贴的信息情况;5) 技术等级情况,记录不同等级的基本工资的多少;2.1.1.3 数据统计功能1) 统计每个员工的月工资情况;2) 统计每部门月工资情况;3) 统计全厂的工资情况;2.1.2 系统功能模块设计对上述各项功能进行集中、分块,按照结构化程序设计的要求,得到如下图所示的系统功能模块图工资管理系统 管理员查询、插入、修改、删除基本表统计查询修改插入员工表部门表职位表等级表考勤表个人月工资部门月工资全厂月工资个人信息修改个人信息个人月工资部门信息职位信息考勤信息技术等级信息普通用户请假信息2.2 概念设计 根据以上分析得到概念模型:(E-R图)姓名性别年龄民族身份证号出生日期学历部门代号职务代号技术等级代号名称负责人基本工资岗位津贴代号职工部门考勤职务技术等级 属于 有技术等级等级职工代号代号名称职务津贴物质补贴住房补贴 有从事年月名称代号请假原因表请假原因号属于天数扣款系数2.3逻辑设计将E-R图转化并规范化得到最终的关系模式:n 职工(职工编号,姓名,性别,年龄,民族,身份证号,出生日期,学历,部门编号,所在部门负责人,职务编号,技术等级)3NFn 部门(部门编号,部门名称,岗位津贴)3NFn 职务(职务编号,职务名称,职务津贴,物价补贴,住房补贴)3NFn 考勤(员工号,年月,天数,请假代号)3NFn 技术等级(技术等级,基本工资)3NFn 请假加班原因表(请假加班代号,名称,扣款系数)3NF2.4物理设计 根据数据库的逻辑设计,设计了此数据库。数据库由下面多个表组成,并且都满足3NF. 员工表(employee)员工信息数据数据类型约束条件职工编号enoChar(10)primary key姓名enameVarchar2(20)not null性别esexChar(4)年龄eageint民族enationality char(10)身份证号eIDChar(20)not null生日birth Date学历eachievementchar(10)部门号edepartment_id char(10)所在部门负责人manager_idchar(10)职位号ejob_id char(10)技术等级eTR_name char(10)密码epasswordchar(20)foreign key (edepartment_id) references department(department_id);foreign key (ejob_id) references job(job_id) 部门表(department)部门信息数据数据类型约束条件部门编号department_id char(10)primary key部门名称department_name varchar2(20)岗位津贴department_money Double Precisionnot null 职务表(job)职务信息数据数据类型约束条件职务号job_id char(10) primary key职务名job_namevarchar2(20)职务津贴job_money Double Precisionnot null物价补助sub_money Double Precisionnot null住房补助house_moneyDouble Precisionnot null 技术等级表(TR)等级信息数据数据类型约束条件等级名TR_name char(10) primary key,基本工资base_money Double Precisionnot null 考勤表(absence)考勤信息数据数据类型约束条件员工编号enochar(10)日期date1Date天数dayInt原因reason_idintprimary key(eno,date1)foreign key (eno) references employee(eno) 请假加班原因表(reason)原因信息数据数据类型约束条件编号reason_id intPrimary key名称reason_name varchar2(20)Not null扣款系数fineDouble PrecisionNot null2.5 设计视图、触发器和存储过程2.5.1 创建视图n create view absence_reasonas select absence.eno,date1,day,reason_name,fine,base_money ,department.department_id from absence,reason,employee,TR,departmentwhere absence.reason_id = reason.reason_id and absence.eno = employee.eno and employee.eTR_name = TR.TR_name and employee.edepartment_id = department.department_id;(用于查找员工请假的具体情况)n create view PS1as select employee.eno,employee.ename,TR.base_money,department.department_money,job.job_money,job.sub_money,job.house_money,department_idfrom employee,department,job,TRwhere employee.edepartment_id = department.department_id and employee.ejob_id = job.job_id and employee.eTR_name=TR.TR_name; (用于统计员工的各项工资情况)2.5.2 创建触发器n create trigger delete_employeebefore delete on employeefor each row begindelete from absence where eno = :old.eno;end;/(在删除职工表时必须把考勤表中的该员工删除)n create trigger delete_departmentbefore delete on departmentfor each row beginupdate employee set edepartment_id = null where edepartment_id = :old.department_id;end;/( 删除部门表之前要把职工表中属于该部门的员工的部门号改成空值)n create trigger delete_job before delete on job for each row begin update employee set ejob_id = null where ejob_id = :old.job_id; end; /(删除职位表之前要把职工表中属于该职位的员工的职位号改成空值)2.5.3 创建存储过程n create or replace procedure Insert_jobs(num in char,name in varchar2,money1 in Double Precision,money2 in Double Precision,money3 in Double Precision)ASBEGINinsert into job values(num,name,money1,money2,money3);END Insert_jobs;/n create or replace procedure Delete_job(num in char)ASBEGINdelete from job where job_id = num;END Delete_job;/3.软件系统设计与实现3.1开发环境软件的界面设计是用JAVA语言来设计实现的,在MyEclipse 6.0等软件环境下使用,需要连接Oracle数据库。3.2系统实现细节 此系统程序分为登录、查找、插入、修改、删除、统计五大模块,每个模块有分成不同的几个小模块,主要有以下几个:3.2.1 登录模块 在这里面主要实现登陆界面的设计和其他功能界面的调用。程序将从这里开始运行,弹出登陆窗口,等待用户输入用户名和密码,然后将输入的信息与数据库中的信息进行核对,正确则跳转到相应的界面,否则弹出“用户名或密码错误”对话框。3.2.2 查找功能模块 此模块分为对员工表、职位表(含职位津贴,物价补助,住房补助)、部门表(含岗位津贴)、技术等级表(含基本工资)、员工考勤表的查询,此查询方法可以按编号、按名称或全部查找;3.2.3 插入功能模块此模块分为对员工表、职位表、部门表、技术等级表、员工考勤表的插入;3.2.4 修改功能模块 此模块能够对员工的基本信息进行更正,也能够对基本工资、岗位津贴、职位津贴、物价补助、住房补助 以及扣款系数进行修改;3.2.5 删除功能模块当有某一员工、部门、职位、或某一等级取消时,能够将与有关的基本信息都删除,并且能够将不在的员工的请假情况级联删除;3.2.6 统计功能模块 这个模块能够按输入的员工编号和日期统计出此员工在此月份的工资,还能统计不同部门的月工资和全厂的月工资;3.3 调试及运行结果 登陆界面 工资管理主界面查找员工信息(按编号、姓名):插入考勤情况信息:修改款项系

温馨提示

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

评论

0/150

提交评论