您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 薪酬管理 > 工资管理系统设计报告[1]
目录一、项目名称:工资管理系统设计...............................................................................................2二、实训目的:...............................................................................................................................2三、应掌握的知识点.......................................................................................................................2四、应训练的能力点.......................................................................................................................2五、数据库设计内容.......................................................................................................................3(一)需求分析………………………………………………………………………………….3(二)数据库概念设计………………………………………………………………………..3(三)数据库逻辑设计…………………………………………………………………………5(四)数据库与数据表设计——物理结构设计……………………………………………51.数据库与数据表设计…………………………………………………………………...52.数据完整性设计………………………………………………………………………...6六、数据库操作实施与结果——数据库对象的设计...................................................................7(一)建数据库——工资管理库……………………………………………………………….7(二)建表——员工信息表、部门信息表、工资信息表…………………………………..7(三)视图……………………………………………………………………………………..9(四)存储过程………………………………………………………………………………..9(五)触发器…………………………………………………………………………………10(六)索引……………………………………………………………………………………11(七)运行和维护……………………………………………………………………………121.关系图的建立………………………………………………………………………...122.简单查询……………………………………………………………………………...123.复杂查询……………………………………………………………………………...154.数据库的用户与权限管理……………………………………………………………175.数据库的备份………………………………………………………………………….206.数据的导入与导出…………………………………………………………………….21七、总结.........................................................................................................................................22八、评语…………………………………………………………………………………………..232一、项目名称:工资管理系统设计二、实训目的:了解数据库系统的理论掌握数据库设计的基本方法,熟悉数据库设计的步骤;通过设计数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力学习基本数据库编程方法快速跟踪数据库系统软件的新技术及市场应用动态。三、应掌握的知识点数据库基本原理关系数据库的设计方法、设计思路初步掌握一种关系数据库语言四、应训练的能力点SQLServer2000的操作与使用数据库的概念设计与逻辑设计数据库的建立与管理、数据表的建立与操作SQL查询语言的使用与编程设计和开发一个数据库应用系统的数据库设计部分3五、数据库设计内容(一)需求分析本系统要求实现以下主要功能:1.数据录入功能主要任务是对各种工资信息进行日常的管理,如工资信息的输入、查询、修改、增加、删除,迅速准确地完成各种工资信息的统计计算和汇总,快速打印出报表。2.数据查询功能系统需要提供以下查询功能:1)员工考勤情况2)员工工种情况,反映员工的工种、等级,岗位工资等信息3)员工津贴信息情况,反映员工的加班时间,加班类别、加班天数、岗位补贴情况等4)员工基本信息情况5)员工月工资情况:年,月,职工号,姓名,部门名,基本工资,病假扣款,事假扣款,3.应发工资,实发工资3.数据统计功能1)统计员工年终奖金2)统计每部门月工资情况(二)数据库概念设计分析前面的系统功能要求,需要一个表来存储和管理员工信息,使系统能够接受员工原始的各项数据,以实现数据录入、查询或统计员工信息等功能。员工是本系统的第一个实体。为了能实现查询和统计部门内员工情况等功能,必须有一个表来存储和管理所有部门的信息。部门是本系统的第二个实体。工资是以员工工作情况来制定的。需要建立一个表来记录各种工资、津贴、扣款的信息。它主要为各种查询和统计功能提供工资数据。工资是第3个实体。据此可以绘出工资管理系统数据库的E-R图如下:1NMM1部门员工工资工作获得4实体属性列表如下:实体属性员工工号姓名性别年龄籍贯身份证号婚姻状况学历部门名称工种工龄职务等级部门部门名称部门负责人部门人数工资工号工资年月岗位工资岗位补贴出勤天数加班工时加班天数加班类别加班工资病假扣款事假扣款其他扣款应发工资实发工资5(三)数据库逻辑设计将数据库的概念模型转换为关系模型:实体转换成的关系模式有:员工(工号,姓名,性别,年龄,籍贯,身份证号,婚姻状况,学历,部门名称,工种,工龄,职务等级)部门(部门编号,部门名称,部门负责人,部门人数)获得(工号,姓名)工资(工号,工资年月,岗位工资,岗位补贴,出勤天数,加班工时,加班工资,加班天数,加班类别,病假扣除,事假扣除,其它扣除,应发工资,实发工资)因为,员工与工资是1:N的关系,所以各关系模式为:员工(工号,姓名,性别,年龄,籍贯,身份证号,婚姻状况,学历,部门名称,工种,工龄,职务等级)部门(部门名称,部门负责人,部门人数)工资(工号,工资年月,岗位工资,岗位补贴,出勤天数,加班工时,加班工资,加班天数,加班类别,病假扣除,事假扣除,其它扣除,应发工资,实发工资)带下划线的属性为各关系模式的外码,字体为粗体的属性为各关系模式的主码。关系规范式:工资管理系统∈1NF每个属性均不可再分(四)数据库与数据表设计——物理结构设计在SQL数据库中需要建立3个数据表:员工信息数据表、部门信息数据表和工资数据表。1.数据库与数据表设计①员工信息数据表定义其中,“工号”是表的主键,惟一标识。“部门名称”是外键。“工号”将记录员工的编号,在员工信息表中增加这一列时,虽然增加了数据冗余,但可以在查询每个员工信息时,提高系统的性能。因为员工信息表的记录数相对固定,相比之下,增加这个冗余的列对于整个系统来说是有利的。通过它,系统将引用到工资信息。此表取名为“员工”6②部门信息数据表定义其中,部门名称是该表的主键,惟一标识一个部门。此表取名为“部门”③工资数据表定义其中,“工号”作为该表的主键,唯一标识,保证客房信息表数据的参照完整性。此表表取名为“工资”根据上面三个数据表的设计,可执行下面的步骤创建数据表1)打开企业管理器,在本地服务器上创建新的数据库“工资管理库”2)创建表员工、部门、工资2.数据完整性设计1)给每个表实施主键约束。①主键约束、非空值约束员工:工号为主键,所以此项非空部门:部门名称为主键,所以此项非空工资:工号为主键,所以此项非空2)实施CHECK约束员工表中建立一个检查约束,即员工性别不是‘男’就是‘女’CHECK(性别IN('男','女')工资表中建立一个对于出勤天数的检查约束,即出勤天数在0-20天之间check(出勤天数=0and出勤天数=20)3)外键约束员工表中,工号、部门名称为外键。FK_员工_工资FOREIGNKEY(工号)REFERENCES工资(工号)FK_员工_部门FOREIGNKEY(部门名称)REFERENCES部门(名称)通过此键建立3个表的联系74)惟一约束a)每个表的主键需定义为惟一性:对于工资表,因为工号是主键,联系着员工表,所以建立唯一性altertable工资addconstraintUQ_工号unique(工号)b)对于员工表,员工的工号、身份证号、部门名称都是用于识别员工身份,所以建立唯一约束altertable员工addconstraintUQ_工号unique(工号)5)强制约束对INSERT和UPDATE操作强制约束,表明以后对员工表中的工号、部门名称的添加和更新操作都会分别检查在工资表、部门表中是否存在与此相应的内容。6)规则1)为了检查员工表中输入的身份证号码是有效位数,可以创建一个规则绑定到该列;在数据操作时进行检查。规则的定义语句为:(LEN((@身份证号)=15)OR(LEN(@身份证号)=18)六、数据库操作实施与结果——数据库对象的设计(一)建数据库——工资管理库IFEXISTS(SELECT*FROMsysdatabasesWHEREname='工资管理库')dropdatabase工资管理库GOCREATEDATABASE工资管理库ONPRIMARY(NAME=工资管理库,FILENAME='D:\工资管理库_data.mdf',SIZE=4MB,MAXSIZE=6MB,FILEGROWTH=2MB)LOGON(NAME='工资管理库_log',FILENAME='D:\工资管理库.ldf',SIZE=1MB,MAXSIZE=25MB,FILEGROWTH=10%)(二)建表——员工信息表、部门信息表、工资信息表IFEXISTS(SELECT*FROMsysobjectsWHEREname='员工')DROPTABLE员工GO8createtable员工(工号VARCHAR(50)NOTNULLprimarykey,姓名VARCHAR(50)NOTNULL,性别CHAR(2)DEFAULT'男'CHECK(性别IN('男','女')),年龄CHAR(10)NOTNULL,籍贯VARCHAR(50)NOTNULL,身份证号VARCHAR(50)UNIQUENOTNULL,婚姻情况VARCHAR(50),学历VARCHAR(50),部门名称VARCHAR(50)NOTNULL,工种VARCHAR(50),工龄VARCHAR(50)NOTNULL,职务等级VARCHAR(50))GOIFEXISTS(SELECT*FROMsysobjectsWHEREname='部门')DROPTABLE部门GOcreatetable部门(部门名称VARCHAR(50)primarykeyNOTNULL,部门负责人VARCHAR(50)NOTNULL,部门人数VARCHAR(50))GOIFEXISTS(SELECT*FROMsysobjectsWHEREname='工资')DROPTABLE工资GOCREATETABLE工资(工号varchar(50)notnullprimarykey,
本文标题:工资管理系统设计报告[1]
链接地址:https://www.777doc.com/doc-1018423 .html