数据库课程设计工资管理系统doc.docx

上传人:b****7 文档编号:8981628 上传时间:2023-02-02 格式:DOCX 页数:22 大小:256.86KB
下载 相关 举报
数据库课程设计工资管理系统doc.docx_第1页
第1页 / 共22页
数据库课程设计工资管理系统doc.docx_第2页
第2页 / 共22页
数据库课程设计工资管理系统doc.docx_第3页
第3页 / 共22页
数据库课程设计工资管理系统doc.docx_第4页
第4页 / 共22页
数据库课程设计工资管理系统doc.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

数据库课程设计工资管理系统doc.docx

《数据库课程设计工资管理系统doc.docx》由会员分享,可在线阅读,更多相关《数据库课程设计工资管理系统doc.docx(22页珍藏版)》请在冰豆网上搜索。

数据库课程设计工资管理系统doc.docx

数据库课程设计工资管理系统doc

重庆科技学院

 

《数据库原理》

课程设计报告

院(系

:

专业班级:

学生姓名:

学号:

设计地点(单位)______逸夫科技楼__________

设计题目:

____工资管理系统设计_______________

完成日期:

2015年06月26日

指导教师评语:

_______________________________________

____________________________________________________________________________________________________________________________________________________________________________________________________________________

成绩(五级记分制):

________________

指导教师(签字):

________________

 

设计题目:

工资管理系统设计

学生姓名

第6组:

学生姓名:

学号:

课程名称

数据库原理与应用课程设计

专业班级

计科2013-01,2,3,4

地点

I301、I302

起止时间

2015.06.22-2015.06.26

设计内容及要求

现需要开发一工资管理系统,描述与要实现功能如下:

为了保证系统具有高度的安全性,要有登录界面,进行用户身份的验证。

用户分为不同的级别,例如管理员级用户和普通用户。

员工不同工种基本工资的设定:

员工工种的不同,工资的标准也不同,允许管理员根据员工的现任职务设定员工的基本工资。

包括每个员工的姓名、性别、年龄、工龄、职务及其所在的部门等资料的录入来确定员工的基本工资,以及对现有工作人的基本信息的录入工作。

可以对员工的工资项目进行初始化的设置(包括个人所得税、上月工资零头、本月工资零头、职务工资、级别工资、基本工资、工龄工资、独子费、津贴补贴、离退费、交通费、电话费补贴。

书报费补贴等人

对系统管理员的密钥,以及其他系统使用人员的一些信息,例如用户名、权限、密钥的设定。

加班津贴的管理,根据加班的时间和类别给予不同的加班津贴。

根据月工资生成公式,按照员工的考勤情况和工作表现,生成员工工资。

人员查询操作包括按单个员工信息查询、按部门查询和按工资查询等。

员工年终奖金的生成。

年终奖金计算公式=(员工本年度的工资总和+津贴的总和)/12。

单位工资报表的生成。

可以按照在每个月的每个固定时间生成该单位全体员工的月工资。

对于月工资,能够实现按照员工、部门、年、月进行统计分析,产生相应的报表,并可以打印输出此报表。

工资的发放,要求能够实现银行打卡的功能。

工资转账的功能,包括转账设置、工资转账、工资凭证查询、结转下月的功能。

要提供工资管理系统的帮助文件。

(详细的描述见课程设计指导书)

内容与要求:

1.现要求按照数据库系统开发步骤设计满足以上功能的数据库(更详细描述见数据库指导书),并写出实现系统功能的视图、触发器或存储过程。

2.撰写课程设计报告,课程设计报告中应包括其设计数据库的过程:

1)系统需求分析2)数据库概念结构设计:

要求用PowerDesigner画出系统E-R图;3)逻辑结构设计:

要求用PowerDesigner生成物理模型图,得到关系模式,并生成对应的数据字典;4)物理结构设计:

用PowerDesigner把以上关系模式生成数据库(导出数据库脚本);5)数据操作过程:

写出为每个关系进行增、删、改、查、的脚本(每个关系,至少两条对应的脚本语句);6)视图、存储过程、触发器设计:

创建对应系统功能可能用到的视图,并显示结果,或系统可能用到的存储过程,触发器等。

设计

参数

 

至少5个表结构;3个存储过程;2个触发器;3个视图。

 

进度

要求

15.5讲课阅读分析任务书

16.2需求分析概念结构设计

16.3逻辑结构设计物理结构设计

16.4视图、存储过程、触发器设计撰写报告

16.5交设计报告书

备注:

16周周一放假,所以15周周五下达设计任务书。

参考资料

1.雷亮等《数据库原理课程设计》指导书

2.王珊、萨师煊.《数据库系统概述》(第四版).北京:

高等教育出版社.2006。

3.C.J.Date著.孟小峰、王珊等译.《数据库系统导论》(第8版).北京:

机械工业出版社.2007。

4.陈根才等.数据库课程设计.浙江.浙江大学出版社.2007

其它

摘要

在现代企业管理中,企业信息化是提高企业管理效率的重要手段。

工资管理是企业管理的重要部分,在公司起着越来越重要作用。

本课程设计主要是对公司各项人员的工资进行管理和统计。

工资管理系统分为6个模块,基本信息管理模块、考勤信息管理模块、奖惩信息管理模块、员工履历管理模块、职称信息管理模块、员工工资管理模块。

本系统采用SQLServer2008作为数据库,使用ODBC作为数据源。

在实现数据库部分功能时按照要求创建了触发器和存储过程。

关键词:

工资管理SQLServer2008触发器存储过程

 

1需求分析

1.1系统目标设计

实现企业的工资管理系统化,使企业管理更加现代化

1.2系统功能分析

(1):

为了保证系统具有高度的安全性,要有登录界面,进行用户身份的验证。

用户分为不同的级别,例如管理员级用户和普通用户。

(2):

员工不同工种基本工资的设定:

员工工种的不同,工资的标准也不同,允许管理员根据员工的现任职务设定员工的基本工资。

包括每个员工的姓名、性别、年龄、工龄、职务及其所在的部门等资料的录入来确定员工的基本工资,以及对现有工作人的基本信息的录入工作。

(3):

可以对员工的工资项目进行初始化的设置(包括个人所得税、职务工资、级别工资、基本工资、工龄工资。

对系统管理员的密钥,以及其他系统使用人员的一些信息,例如用户名、权限、密钥的设定。

(4):

根据月工资生成公式,按照员工的考勤情况和工作表现,生成员工工资。

人员查询操作包括按单个员工信息查询、按部门查询和按工资查询等。

(5):

工年终奖金的生成。

年终奖金计算公式=(员工本年度的工资总和+津贴的总和)/12。

 

1.3功能模块分析

根据系统功能的基本要求,可对整个系统划分为几个模块

 

图1.1功能模块分析

 

1.4系统全局数据流图

系统的全局数据流图,也称第一层数据流图,是从整体上描述系统的数据流,反映系统数据的整体流向,给设计者、开发者和用户一个总体描述。

图1.2数据流图

1.5数据字典

表1.1员工基本信息表(Base_data)

名称

数据类型

说明

Worker_ID

varchar(15)

员工编号关键字

Worker_Name

varchar(8)

员工姓名

Department_Name

varchar(15)

部门名称

Sex

varchar

(2)

性别

Birthday

datetime

出生日期

Native_Place

varchar(25)

籍贯

School_Age

varchar(4)

学历

Major

varchar(15)

专业

表1.2考勤信息记录表(Check_info)

名称

数据类型

说明

Worker_ID

Varchar(15)

员工编号关键字

Worker_Name

varchar(8)

员工姓名

Months

varchar(10)

月份编号关键字

Months_days

int

本月天数

Holidays

int

公休假天数

Work_days

int

出勤天数

Business_days

int

出差天数

Absent_days

int

缺席天数

Leave_days

int

请假天数

Late_days

int

迟到天数

Leave_early_times

int

早退天数

 

表1.3工资信息表(Wage_info)

名称

数据类型

说明

Record_ID

bigint

记录编号关键字

Worker_ID

varchar(15)

员工编号

Worker_Name

Varchar(8)

员工姓名

Base_Wage

float

基本工资

Allowance1

float

公共补贴

Allowance2

float

出差补贴

Reward

float

奖金

Overtime_Money

float

加班费

Deduct_Check

float

扣考核

Aged_Money

float

养老保险

Income_tax

float

所得税

Duty

varchar(10)

担任职务

表1.4奖惩记录表(Reward_pun)

名称

数据类型

说明

Record_ID

bigint

记录编号关键字

Worker_ID

varchar(15)

员工编号

Worker_Name

varchar(8)

员工姓名

Record_date

datetime

奖惩日期

Record_type

varchar

(2)

奖惩类型

Record_content

varchar(30)

奖惩内容

Record_reason

varchar(30)

奖惩原因

Allow_unit

varchar(20)

批准单位

Remark

varchar(200)

备注

表1.5职称评定信息表(Pro_title)

名称

数据类型

说明

Worker_ID

varchar(15)

员工编号关键字

Worker_Name

varchar(8)

员工姓名

Assess_date

datetime

评定日期

Assess_unit

varchar(20)

评定单位

Assess_title

varchar(8)

评定职称

Remark

varchar(200)

备注

 

表1.6工作履历表(Work_age)

名称

数据类型

说明

Record_ID

Bigint

记录编号关键字

Worker_ID

varchar(15)

员工编号

Worker_Name

varchar(8)

员工姓名

Begin_date

datetime

起始日期

Over_date

datetime

结束日期

Unit_Name

varchar(20)

单位名称

Work_time

float

本单位工作时间

Duty

varchar(10)

担任职务

Level1

varchar(4)

级别

Remark

varchar(200)

备注

表1.6用户账号表(User_table)

名称

数据类型

说明

User_Name

varchar(30)

用户名关键字

User_pwd

varchar(30)

用户密码

Power_level

varchar(8)

权限级别

2概念结构设计

2.1构成系统的实体型

由工资管理系统的数据流图和数据字典,抽取出系统的7个主要实体,包括:

员工、考勤记录、工资、奖惩记录、职称评定信息、履历、账号。

员工实体型属性:

Worker_IDWorker_NameDepartment_NameSexBirthdayNative_PlaceSchool_AgeMajorLink_PhoneAddress

考勤记录实体型属性:

Worker_IDWorker_NameMonthsMonths_daysHolidaysWork_daysBusiness_daysAbsent_daysLeave_daysLate_daysLeave_early_times

工资实体型属性:

Record_IDWorker_IDWorker_NameBase_WageAllowance1Allowance2RewardOvertime_MoneyDeduct_CheckAged_MoneyMedical_MoneyCompo_MoneyUnemploy_MoneyHousing_MoneyIncome_taxReal_wageGive_date

奖惩记录实体型属性:

Record_IDWorker_IDWorker_NameRecord_dateRecord_typeRecord_contentRecord_reasonAllow_unitRemark

职称评定信息实体型属性:

Worker_IDWorker_NameAssess_dateAssess_unitAssess_titleRemark

履历实体型属性:

Record_IDWorker_IDWorker_NameBegin_dateOver_dateUnit_NameWork_timeDutyLevel1Remark

账号实体型属性:

User_NameUser_pwdPower_level

2.2工资管理系统E-R图

图2.1工资管理系统E-R图

3逻辑结构设计

3.1逻辑结构简介

逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。

设计逻辑结构一般分为3步进行:

(1)将概念结构转换为一般的关系、网状、层次模型;

(2)将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;

(3)对数据模型进行优化。

3.2关系模型

将E-R图转换为关系模型实际上就是要奖实体型、实体的属性和实体型之间的联系转换为关系模式,这种转换一般遵循如下原则:

一个实体型转换为一个关系模式,一个多对多的关系可以转化为一个关系模式,而一对多的关系可以融合在其他的相关的关系模式中。

例如:

(1)员工与履历之间是一对多的关系,所以将员工和履历以及属于关系设计成以下关系模式:

员工(Worker_IDWorker_NameDepartment_NameSexBirthdayNative_PlaceSchool_AgeMajorLink_PhoneAddress)

奖惩记录(Record_IDWorker_IDWorker_NameRecord_dateRecord_typeRecord_contentRecord_reasonAllow_unitRemark)

属于(Worker_IDWorker_NameDepartment_NameSexBirthdayNative_PlaceSchool_AgeMajorLink_PhoneAddressRecord_IDRecord_dateRecord_typeRecord_contentRecord_reasonAllow_unitRemark)

(2)员工与账号之间是一对一的关系,所以将员工和账号以及属于关系设计成以下关系模式:

员工(Worker_IDWorker_NameDepartment_NameSexBirthdayNative_PlaceSchool_AgeMajorLink_PhoneAddress)

账号(User_NameUser_pwdPower_level)

属于(Worker_IDWorker_NameDepartment_NameSexBirthdayNative_PlaceSchool_AgeMajorLink_PhoneAddressUser_pwdPower_level)

4物理模型设计

数据库物理设计是将逻辑设计影射到存储介质上,利用可用的硬件和软件功能尽可能快地对数据进行物理访问和维护。

4.1定义数据库

SQLServer2000数据库文件分为3中类型:

主数据文件、次数据文件和日志文件。

通过SQL语言进行数据库创建,创建数据库的语句如下:

Createdatabase工资管理系统;

4.2创建表

创建员工基本信息表Base_data

CREATETABLEBase_data

(Worker_IDvarchar(15)PRIMARYKEY,/*员工ID,主码*/

Worker_Namevarchar(8)Notnull,/*员工姓名*/

Department_Namevarchar(15)Notnull,/*部门名称*/

Sexvarchar

(2)Notnull,/*性别*/

BirthdaydatetimeNotnull,/*出生日期*/

Native_Placevarchar(25)Notnull,/*籍贯*/

School_Agevarchar(4)Notnull,/*学历*/

Majorvarchar(15)Notnull,/*专业*/

Link_Phonevarchar(11)Notnull,/*联系电话*/

Addressvarchar(20)Notnull,/*住址*/

);

考勤信息记录表Check_info

CREATETABLECheck_info

(Monthsvarchar(10),

Worker_IDvarchar(15),

Months_daysint,/*本月天数*/

Holidaysint,/*公休假天数*/

Work_daysint,/*出勤天数*/

Business_daysint,/*出差天数*/

Absent_daysint,/*缺席天数*/

Leave_daysint,/*请假天数*/

Late_daysint,/*迟到天数*/

Leave_early_timesint,/*早退天数*/

PRIMARYKEY(Months,Worker_ID),

FOREIGNKEY(Worker_ID)REFERENCESBase_data(Worker_ID),

);

工资信息表Wage_info

CREATETABLEWage_info

(Record_IDbigintPRIMARYKEY,/*记录编号*/

Worker_IDvarchar(15),

Worker_Namevarchar(8),

Base_Wagefloat,/*基本工资*/

Allowance1float,/*公共补贴*/

Allowance2float,/*出差补贴*/

Rewardfloat,/*奖金*/

Overtime_Moneyfloat,/*加班费*/

Deduct_Checkfloat,/*扣考核*/

Aged_Moneyfloat,/*养老保险*/

Medical_Moneyfloat,/*医疗保险*/

Compo_Moneyfloat,/*工伤保险*/

Unemploy_Moneyfloat,/*失业保险*/

Housing_Moneyfloat,/*住房公积金*/

Income_taxfloat,/*所得税*/

 

Real_wagefloat,/*实发工资*/

Give_datefloat,/*发放月份*/

FROEIGNKEY(Worker_ID)REFERENCESBase_data(Worker_ID),

);

奖惩记录表(Reward_pun)

CREATETABLEReward_pun

(Record_IDbigintPRIMARYKEY,/*记录编号*/

Worker_IDvarchar(15),

Worker_Namevarchar(8),

Record_datedatetime,/*奖惩日期*/

Record_typevarchar

(2),/*奖惩类型*/

Record_contentvarchar(30),/*奖惩内容*/

Record_reasonvarchar(30),/*奖惩原因*/

Allow_unitvarchar(20),/*批准单位*/

Remarkvarchar(200),/*备注*/

FORERGNKEY(Worker_ID)REFERENCESBase_data(Worker_ID),

);

职称评定信息表Pro_title

CREATETABLEPro_title

(Worker_IDvarchar(15)PRIMARYKEY,/*员工编号*/

Worker_Namevarchar(8),

Assess_datedatetime,/*评定日期*/

Assess_unitvarchar(20),/*评定单位*/

Assess_titlevarchar(8),/*评定职称*/

Remarkvarchar(200),/*备注*/

);

 

工作履历表Work_age

CREATETABLEWork_age

(Record_IDBigintPRIMARYKEY,/*记录编号*/

Worker_IDvarchar(15),

Begin_datedatetime,/*起始日期*/

Over_datedatetime,/*结束日期*/

Unit_Namevarchar(20),/*单位名称*/

Work_timefloat,/*本单位工作时间*/

Dutyvarchar(10),/*担任职务*/

Level1varchar(4),/*级别*/

Remarkvarchar(200),/*备注*/

FORERGNKEY(Worker_ID)REFERENCESBase_data(Worker_ID),

);

用户账号表User_table

CREATETABLEUser_table

(User_Namevarchar(30)PRIMARYKEY,/*用户名*/

User_pwdvarchar(30),/*用户密码*/

Power_levelvarchar(8),/*权限级别*/

);

4.3创建存储过程

在奖惩记录表中创建更新奖惩的存储过程:

USE[salary]

GO

CREATEPROCEDURE[update_奖惩记录表_1]

(@Record_ID_1[bigint],

@Record_ID_2[bigint],

@Worker_ID_3[varchar](15),

@Worker_Name_4[varchar](8),

@Record_date_5[datetime],

@Record_type_6

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1