




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南华大学数据库课程设计报告课题名称: 工资管理系统学 院: 计算机学院专业班级: 电气信息类1003班学 号: 20104030342学 生: 谢志兴指导教师: 刘征海 2012 年 6 月 1日一、设计目的本课程的实践学习是对学生的一种全面综合训练,是与课堂听讲,自学和练习相辅相成的必不可少的一个教学环节。通过实践教学,使学生能够熟练使用数据库管理系统,培养学生运用数据库语言和多种开发工具建立设计数据库应用系统的能力,熟悉SQL语言编程和存储过程、游标的实现,掌握数据库设计的方法。二、数据库功能分析A. 信息输入功能1) 输入员工的基本信息。包括:员工编号、员工姓名、性别、出生日期、参加工作日期、所属部门、职务、政治面貌、婚姻状况等基本信息。2) 输入员工的工资信息。包括:基本工资、岗位工资、住房补贴、津贴、工会会费、水电费、住房公积金、养老保险、奖惩。3) 输入员工的部门信息。包括:部门编号、部门名称、部门负责人、部门人数。B. 数据修改删除功能1) 修改和删除员工的基本信息。当单位人员的信息发生变化,如职称的改变,工作部门变动,或调离本单位等,系统应能修改员工的信息或将其从员工信息表中删除。2) 修改和删除员工的工资信息。员工升职加薪、工资普调是企业中常见的事情,这就需要系统能方便对员工工资进行个别及批量的修改;如员工调离本单位,就应当从员工信息表中删除这个员工信息,将其工资信息表中相应的数据删除。3) 修改和删除部门信息。当撤消一个部门时,能从部门信息表中将其删除。而当一个部门的名称发生改变时,系统中所有该项部门的名称应一致的改变。C. 查询和统计功能1) 能够查询指定员工的基本信息。2) 能够查询指定某个部门或全部部门的基本信息3) 查询某个员工的工资信息。4) 统计、汇总指定年份企业各部门或某个部门每个月或全年工资总额,汇总各部门的人数或本单位的总人数。5) 工资表月工资记录的生成功能。生成当月所有员工或某个部门的工资记录,同时能进行员工工资的计算,即计算应发金额、应扣金额及实发金额。三、数据库设计1.系统需求分析:工资发放管理系统针对的用户是中小企业或学校,工资项目比较少,较为固定,工资管理涉及企业管理的多个方面,如员工职务工种变化、员工考勤情况、员工加班情况、等等。根据这些信息,在每个月的某个固定时间,生成企业全体员工的月工资。对于月工资,能够实现按照员工、部门、月、年进行统计分析,产生相应报表。管理员员工信息津贴信息部门信息出勤统计工资管理查询结果查询请求工资信息员工第0层DFD图需求信息整理(DFD图)如下: 基本工资员工查询结果员 工信 息部门信息员工人事管理人员财务人员录入工资信息查询职工工资录入部门信息 录入员工信息查询请 求工资 员工工资信息部门 第1层DFD图2.概念模型设计(E-R图) 员工姓名出生日期参加工作日期政治面貌职务所属部门婚姻状况性别姓名电话号码图一:员工基本信息实体E-R图总E-R图11N1N11111NN部门影响具有具有员工出勤津贴工资具有属 于影 响部门人数部门名称部长部门号图二:员工部门实体E-R图津贴月份职工编号津贴工资加班天数图四:员工津贴实体E-R图考勤奖惩工资缺勤天数月份职工编号图三:员工考勤实体E-R图月工资工会会费住房公积金养老保险津贴住房补贴奖惩基本工资图五:员工月工资实体E-R图3.逻辑模型设计:a.数据字典表1 员工信息表ygxx列 名数据类型可否为空说 明emp_novarchar(8)NOT NULL员工编号(主键)emp_namevarchar(10)NULL员工姓名sexchar(2)NULL性别birth_datechar(4)NOT NULL出生日期emp_time varchar2(6)NOT NULL参加工作时间department_id char(4)NOT NULL所属部门zhiwuvarchar(10)NOT NULL职务marryvarchar(4)NULL婚姻状况 zhengzhimm varchar(10) NULL 政治面貌 telephone char(11) NULL 电话号码表2 员工出勤表ygcq列 名数据类型可否为空说 明emp_novarchar(8)NOT NULL员工编号(主键一)kaoqin_monthvarchar(10)NOT NULL统计时间(主键二)emp_name varchar(10)NULL员工姓名queqin_tianshuchar(4)NULL旷工次数kaoqin_gongzifloatNULL考勤工资表3 员工津贴表ygjt列 名数据类型可否为空说 明emp_novarchar(8)NOT NULL员工编号(主键一)jiaban_monthvarchar(10)NOT NULL统计时间(主键二)emp_name varchar(10)NULL员工姓名jiaban_tianshuchar(2)NULL加班天数jintie_gongzifloatNULL津贴工资表4 员工月工资表ygygz列 名数据类型可否为空说 明emp_novarchar2(6)NOT NULL员工编号(主键一)jibengongzifloatNOT NULL基本工资zhufangbutiefloatNULL住房补贴jintie_gongzifloatNULL津贴gonghuihuifeifloatNULL工会会费shuidianfeifloatNULL水电费zhufanggongjijinfloatNULL住房公积金yanglaobaoxianfloatNULL养老保险kaoqin_gongzifloatNULL 奖惩ygz_totalvarchar(10)NULL总工资ygz_monthvarchar2(6)NOT NULL月工资时间(主键二)表5 部门信息表bmxx列 名数据类型可否为空说 明department_id char(4)NOT NULL部门编号department_namevarchar(6) NOT NULL部门名称managervarchar(6) NULL部门负责人dep_renshu varchar(4) NULL部门人数表6 基本工资表jbgz列 名数据类型可否为空说 明zhiwu varchar(10)NOT NULL 职务jibengongzifloat NULL基本工资b.关系模式员工信息表(员工编号,员工姓名,性别,出生年月,参加工作时间,所属部门,职务,婚姻状况,政治面貌,电话号码)员工出勤表(员工编号,统计时间,员工姓名,旷工次数,考勤工资) 员工津贴表(员工编号,统计时间,员工姓名,加班天数,津贴工资) 员工月工资表(员工编号,基本工资,住房补贴,津贴,工会会费,水电费,住房公积金,养老保险,奖惩,总工资) 部门信息表(部门编号,部门名称,部门负责人,部门人数)基本工资表(职务,基本工资)各表的属性都不能被分解,所有非主属性都完全依赖每一个候选关键属性,也没有传递依赖,因此符合1,2,3范式。4. 物理模型设计数据库最终是要存储在物理设备上的,为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构(存储结构与存取方法)的过程,就是数据库的物理设计。数据库的物理结构依赖于给定的计算机系统和DBMS。5.关键业务逻辑的存储过程实现确定了数据库的逻辑结构和物理结构后,就可以用所选用的DBMS提供的数据定义语言(DDL)来严格定义数据库,包括建立表、定义表的约束等。数据库系统投入运行后,对数据库设计进行评价、调整、修改等维护工作。四、程序源代码及其说明1创建数据库create database 工资管理on( name=sales_dat, filename=d:sales.mdf)2. 创建表create table 员工信息( emp_no varchar(8) not null primary key, -员工编号 emp_name varchar(10) not null , -员工姓名 sex char(2) check (sex=男or sex=女), -性别 birth_date datetime not null, -出生日期 emp_time datetime not null, -参加工作日期 department_id char(4) not null, -所属部门 zhiwu varchar(10) not null, -职务 marry varchar(4), -婚姻状况 zhengzhimm varchar(10), -政治面貌 telephone char(11), -电话号码 constraint old check (datediff(year,birth_date,emp_time)18) create table 员工出勤( emp_no varchar(8) not null , -员工编号 kaoqin_month varchar(10) not null, -统计时间 emp_name varchar(10) not null , -员工姓名 queqin_tianshu char(2), -旷工次数 kaoqin_gongzi float, -考勤工资 constraint e_k primary key(emp_no,kaoqin_month)create table 员工津贴( emp_no varchar(8) not null , -职工编号 jiaban_month varchar(10) not null, -统计时间emp_name varchar(10) not null , -员工姓名 jiabantianshu char(2), -加班天数 jintie_gongzi float, -津贴工资 constraint e_j primary key(emp_no,jiaban_month)create table 员工月工资( emp_no varchar(8) not null , -员工编号 jibengongzi float default 1500, -基本工资 zhufangbutie float, -住房补贴 jintie_gongzi float, -津贴 gonghuihuifei float, -工会会费 shuidianfei float, -水电费 zhufanggongjijin float, -住房公积金 yanglaobaoxian float, -养老保险 ygz_month varchar(10) not null, -月工资时间 kaoqin_gongzi float, -奖惩 wagecount as jibengongzi+zhufangbutie+jintie_gongzi +kaoqin_gongzi+gonghuihuifei+zhufanggongjijin+yanglaobaoxian constraint e_g primary key(emp_no,ygz_month) create table 部门信息( department_id char(4) not null primary key, -部门编号 department_name varchar(6) not null, -部门名称 manager varchar(6), -部门负责人 dep_renshu varchar(4) -部门人数)create table 基本工资( zhiwu varchar(10) not null primary key, -职务 jibengongzi float default 1500, -基本工资) 3.插入数据insert 员工信息 values(20120101,谢帅,男,1990-10-24,2012-1-1,01,部长,否,团员,8888168)insert 员工信息 values(20120102,谢馨,女,1990-10-24,2012-1-2,01,员工,否,党员,8888169)insert 部门信息 values(01,人事部,谢帅,20)insert 部门信息 values(02,财务部,谢月儿,10)insert 员工出勤 values(20120101,谢帅,201205,0, 0)insert 员工出勤 values(20120102,谢馨,201205,2,-60)insert 员工津贴 values(20120101,谢帅,201205,05,15)insert 员工津贴 values(20120102,谢馨,201205,0,0)insert 基本工资 values(员工,1500)insert 基本工资 values(组长,2000)insert 员工月工资 values(20120101,2000,0,15,0,0,0,0,201205,2015)insert 员工月工资 values(20120102,1500,0,-60,0,0,0,0,201205,1440) 4.创建触发器a. 员工表中删除一条信息,其他表相应员工信息删除create trigger em on 员工信息 for deleteasdelete from 员工出勤 where emp_no in (select emp_no from deleted)delete from 员工津贴 where emp_no in (select emp_no from deleted)delete from 员工月工资 where emp_no in (select emp_no from deleted)验证:delete from 员工信息 where emp_no=20120101b. 一个部门删除,此部门中的员工信息删除create trigger bm on 部门信息 for deleteasdelete from 员工信息 where department_id in (select department_id from deleted)验证:delete from 部门信息 where department_id=01c.员工职务变动,基本工资改变create trigger jbgz on 员工信息for update,insertasdeclare q varchar(12)declare m varchar(12)declare s floatselect q=emp_no from Deleted select m=zhiwu from Inserted select s=jibengongzi from 基本工资 where zhiwu=mupdate 员工月工资 set jibengongzi=swhere 员工月工资.Emp_no=q 5.创建函数a.函数查询员工基本信息create function ygxx(yg_id varchar(10) returns tableasreturn(select * from 员工信息 where emp_no=yg_id)验证:select * from dbo.ygxx(20120202)b.函数查询部门信息create function bumen(bumen_id varchar(4) returns tableasreturn(select * from 部门信息 where department_id=bumen_id)验证:select * from dbo.bumen(03) 6.创建存储过程a.存储过程查询员工基本信息create proc ygxx2 yg_id varchar(10)asselect * from 员工信息 where emp_no=yg_idb.存储过程查询指定某个部门或全部部门的基本信息create proc bumen2 bumen_id2 varchar(4)asselect * from 部门信息 where department_id=bumen_id2create proc bumenqasselect * from 部门信息c.存储过程查询某个员工的工资信息create proc gzxxyg_id varchar(10)asselect * from 员工月工资where emp_no=yg_idd.汇总部门月份工资create proc gzhzmonth_year varchar(10)asselect ygz_mo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 鞍山市中储粮2025秋招笔试模拟题及答案
- 中山市中石油2025秋招笔试模拟题含答案法律与合规岗
- 湘潭市中储粮2025秋招面试专业追问题库机电维修岗
- 中国广电深圳市2025秋招计算机类专业追问清单及参考回答
- 张家口市中石油2025秋招笔试模拟题含答案炼油设备技术岗
- 国家能源太原市2025秋招机械工程类面试追问及参考回答
- 自贡市中石化2025秋招面试半结构化模拟题及答案油品分析质检岗
- 中国联通眉山市2025秋招面试典型题目及答案
- 国家能源大连市2025秋招面试典型题目及答案
- 南京市中石油2025秋招面试半结构化模拟题及答案油田勘探开发岗
- 货物类投标方案(技术标)
- Unit 2 Hobbies Welcome to the unit 教案 2024-2025学年译林版英语七年级上册
- 银行理财推广营销方案
- 医院培训课件:《中医护理技术质量与安全管理》
- 历史课程中的跨学科教学与学科整合
- 移情训练法移情训练法
- 《大卫 科波菲尔(节选)》《复活》《老人与海》《百年孤独》 统编版高中语文选择性必修上册
- 展厅施工方案表
- 深圳南山风险投资基金
- 监护仪使用及报警设置
- 通过模拟实验探究膜的透性 说课课件
评论
0/150
提交评论