《工资管理系统设计报告样本.doc》由会员分享,可在线阅读,更多相关《工资管理系统设计报告样本.doc(31页珍藏版)》请在金锄头文库上搜索。
1、目录一、项目名称:工资管理系统设计2二、实训目:2三、应掌握知识点2四、应训练能力点2五、数据库设计内容3 (一)需求分析.3 (二)数据库概念设计.3 (三)数据库逻辑设计5 (四)数据库与数据表设计 物理构造设计5 1.数据库与数据表设计.5 2.数据完整性设计.6六、数据库操作实行与成果数据库对象设计7 (一)建数据库工资管理库.7 (二)建表员工信息表、部门信息表、工资信息表.7 (三)视图.9(四)存储过程.9(五)触发器 10(六)索引11(七)运营和维护12 1. 关系图建立.12 2. 简朴查询.123. 复杂查询.154.数据库顾客与权限管理175.数据库备份.206.数据导
2、入与导出.21七、总结22八、评语.23一、项目名称:工资管理系统设计二、实训目:l 理解数据库系统理论l 掌握数据库设计基本办法,熟悉数据库设计环节;l 通过设计数据库系统应用课题,进一步熟悉数据库管理系统操作技术,提高动手能力,提高分析问题和解决问题能力l 学习基本数据库编程办法l 迅速跟踪数据库系统软件新技术及市场应用动态。三、应掌握知识点l 数据库基本原理l 关系数据库设计办法、设计思路l 初步掌握一种关系数据库语言四、应训练能力点l SQL Server 操作与使用l 数据库概念设计与逻辑设计l 数据库建立与管理、数据表建立与操作l SQL查询语言使用与编程l 设计和开发一种数据库应
3、用系统数据库设计某些五、数据库设计内容(一)需求分析本系统规定实现如下重要功能:1.数据录入功能 重要任务是对各种工资信息进行寻常管理,如工资信息输入、查询、修改、增长、删除,迅速精确地完毕各种工资信息记录计算和汇总,迅速打印出报表。2.数据查询功能系统需要提供如下查询功能:1) 员工考勤状况2) 员工工种状况,反映员工工种、级别,岗位工资等信息3) 员工津贴信息状况,反映员工加班时间,加班类别、加班天数、岗位补贴状况等4) 员工基本信息状况5) 员工月工资状况:年,月,职工号,姓名,部门名,基本工资,病假扣款,事假扣款,3.应发工资,实发工资3.数据记录功能1) 记录员工年终奖金2) 记录每
4、部门月工资状况(二)数据库概念设计分析前面系统功能规定,需要一种表来存储和管理员工信息,使系统可以接受员工原始各项数据,以实现数据录入、查询或记录员工信息等功能。员工是本系统第一种实体。为了能实现查询和记录部门内员工状况等功能,必要有一种表来存储和管理所有部门信息。部门是本系统第二个实体。工资是以员工工作状况来制定。需要建立一种表来记录各种工资、津贴、扣款信息。它重要为各种查询和记录功能提供工资数据。工资是第3个实体。据此可以绘出工资管理系统数据库E-R图如下:部门 1工作 N 获得工资员工 M M 1实体属性列表如下:实体属性员工工号姓名性别年龄籍贯身份证号婚姻状况学历部门名称工种工龄职务级
5、别部门部门名称部门负责人部门人数工资工号工资年月岗位工资岗位补贴出勤天数加班工时加班天数加班类别加班工资病假扣款事假扣款其她扣款应发工资实发工资(三)数据库逻辑设计将数据库概念模型转换为关系模型:实体转换成关系模式有:员工(工号,姓名,性别,年龄,籍贯,身份证号,婚姻状况,学历,部门名称,工种,工龄,职务级别)部门(部门编号,部门名称,部门负责人,部门人数)获得(工号,姓名)工资(工号,工资年月,岗位工资,岗位补贴,出勤天数,加班工时,加班工资,加班天数,加班类别,病假扣除,事假扣除,其他扣除,应发工资,实发工资)由于,员工与工资是1:N关系,因此各关系模式为:员工(工号,姓名,性别,年龄,籍
6、贯,身份证号,婚姻状况,学历,部门名称,工种,工龄,职务级别)部门(部门名称,部门负责人,部门人数)工资(工号,工资年月,岗位工资,岗位补贴,出勤天数,加班工时,加班工资,加班天数,加班类别,病假扣除,事假扣除,其他扣除,应发工资,实发工资)带下划线属性为各关系模式外码,字体为粗体属性为各关系模式主码。关系规范式 :工资管理系统1NF 每个属性均不可再分(四)数据库与数据表设计 物理构造设计在SQL数据库中需要建立3个数据表:员工信息数据表、部门信息数据表和工资数据表。1.数据库与数据表设计员工信息数据表定义 其中,“工号”是表主键,惟一标记。“部门名称”是外键。“工号”将记录员工编号,在员工
7、信息表中增长这一列时,虽然增长了数据冗余,但可以在查询每个员工信息时,提高系统性能。由于员工信息表记录数相对固定,相比之下,增长这个冗余列对于整个系统来说是有利。通过它,系统将引用到工资信息。此表取名为“员工” 部门信息数据表定义 其中,部门名称是该表主键,惟一标记一种部门。此表取名为“部门”工资数据表定义其中,“工号”作为该表主键,唯一标记,保证客房信息表数据参照完整性。此表表取名为“工资”依照上面三个数据表设计,可执行下面环节创立数据表 1)打开公司管理器,在本地服务器上创立新数据库“工资管理库”2)创立表 员工、部门、工资2.数据完整性设计1)给每个表实行主键约束。主键约束、非空值约束员
8、工:工号为主键,因此此项非空部门:部门名称为主键,因此此项非空工资:工号为主键,因此此项非空2)实行CHECK约束l 员工表中建立一种检查约束,即员工性别不是男就是女CHECK(性别 IN(男,女)l 工资表中建立一种对于出勤天数检查约束,即出勤天数在0-20天之间 check (出勤天数 =0 and 出勤天数=20)3)外键约束员工表中,工号、部门名称为外键。FK_员工_工资 FOREIGN KEY(工号) REFERENCES 工资(工号)FK_员工_部门 FOREIGN KEY(部门名称) REFERENCES 部门(名称)通过此键建立3个表联系4)惟一约束a) 每个表主键需定义为惟一
9、性:对于工资表,由于工号是主键,联系着员工表,因此建立唯一性 alter table 工资add constraint UQ_工号 unique(工号)b) 对于员工表,员工工号、身份证号、部门名称都是用于辨认员工身份,因此建立唯一约束 alter table 员工 add constraint UQ_工号 unique(工号)5) 强制约束对INSERT和UPDATE操作强制约束,表白后来对员工表中工号、部门名称添加和更新操作都会分别检查在工资表、部门表中与否存在与此相应内容。6)规则1) 为了检查员工表中输入身份证号码是有效位数,可以创立一种规则绑定到该列;在数据操作时进行检查。规则定义语
10、句为: (LEN (身份证号)=15)OR(LEN(身份证号)=18)六、数据库操作实行与成果数据库对象设计(一)建数据库工资管理库IF EXISTS(SELECT * FROM sysdatabases WHERE name=工资管理库) drop database 工资管理库GOCREATE DATABASE 工资管理库 ON PRIMARY(NAME=工资管理库,FILENAME=D:工资管理库_data.mdf,SIZE=4MB,MAXSIZE=6MB,FILEGROWTH=2MB)LOG ON (NAME =工资管理库_log,FILENAME =D:工资管理库.ldf, SIZE=
11、1MB,MAXSIZE=25MB,FILEGROWTH=10%)(二)建表员工信息表、部门信息表、工资信息表l IF EXISTS(SELECT * FROM sysobjects WHERE name=员工) DROP TABLE 员工 GOcreate table 员工(工号 VARCHAR(50) NOT NULL primary key,姓名 VARCHAR(50) NOT NULL,性别 CHAR(2) DEFAULT男CHECK(性别 IN(男,女),年龄 CHAR(10) NOT NULL,籍贯 VARCHAR(50) NOT NULL,身份证号 VARCHAR(50) UNIQ
12、UE NOT NULL,婚姻状况 VARCHAR(50),学历 VARCHAR(50),部门名称 VARCHAR(50) NOT NULL,工种 VARCHAR(50),工龄 VARCHAR(50) NOT NULL,职务级别 VARCHAR(50)GOl IF EXISTS(SELECT * FROM sysobjects WHERE name=部门) DROP TABLE 部门 GOcreate table 部门(部门名称 VARCHAR(50) primary key NOT NULL,部门负责人 VARCHAR(50) NOT NULL, 部门人数 VARCHAR(50)GOl IF EXISTS(SELECT * FROM s