《数据库原理》课程设计报告.docx
- 文档编号:24022266
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:32
- 大小:312KB
《数据库原理》课程设计报告.docx
《《数据库原理》课程设计报告.docx》由会员分享,可在线阅读,更多相关《《数据库原理》课程设计报告.docx(32页珍藏版)》请在冰豆网上搜索。
《数据库原理》课程设计报告
重庆科技学院
《数据库原理》
课程设计报告
学院:
_电气与信息工程学院_专业班级:
计科2013-01
学生姓名:
学号:
设计地点(单位)计算机自主学习中心(I302)
设计题目:
工资管理系统设计
完成日期:
2015年6月26日
指导教师评语:
成绩(五级记分制):
指导教师(签字):
摘要
随着社会的发展,整个社会的智能程度越来越高,企业在发放工资的过程中,如果单纯的依靠人工去发放,容易出现错误,而工资的发放是每个企业都不可避免的事务,同时工资的发放具有较强的时间限制,必须严格按照单位规定的时间完成计算和发放工作。
而随着计算机运算能力的提高,使得工资管理通过计算机来实现产生了可能性,为了高效实现工资管理,本次课程设计报告主要实现让工资核算相关数据,让财务管理的工作变得轻松。
关键词:
工资管理系统触发器视图
重庆科技学院
课程设计任务书
设计题目:
工资管理系统设计
学生姓名
第6组:
学生姓名:
张其帆学号:
2013441432
课程名称
数据库原理与应用课程设计
专业班级
计科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
其它
说明
1.本表应在每次实施前一周由负责教师填写二份,学院审批后交学院教务办备案,一份由负责教师留用。
2.若填写内容较多可另纸附后。
3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。
系主任:
指导教师:
张亚军、游明英,雷亮,王双明2015年06月10日
1系统需求分析
1.1功能概述
工资管理系统主要有以下几个功能:
1.员工不同工种基本工资的设定。
2.可以对员工的工资项目进行初始化的设置
3.对系统管理员的密钥,以及其他系统使用人员的一些信息,例如用户名、权限、密钥的设定。
4.加班津贴的管理。
5.根据月工资生成公式,按照员工的考勤情况和工作表现,生成员工工资。
6.人员查询操作包括按单个员工信息查询、按部门查询和按工资查询等。
7.员工年终奖金的生成。
8.单位工资报表的生成。
1.2系统模块图
图1.1系统模块图
1.3数据流图
1.3.1数据顶层流图
图1.2数据顶层流图
1.3.2管理员数据流图
图1.3管理员数据流图
1.3.3员工数据流图
图1.4员工数据流图
2数据库概念结构设计
2.1E-R图
通过1.3节的数据流图,设计E-R图如图2.1所示。
图2.1E-R图
3数据库逻辑结构设计
3.1物理模型图
通过E-R图,使用powerdesigner生成物理模型图如图2.1所示。
图2.1物理模型图
3.2数据字典
Name
Code
DataType
Length
员工ID
员工ID
int
加班ID
加班ID
int
加班时间
加班时间
datetime
加班类别
加班类别
int
加班津贴
加班津贴
money
加班月份
加班月份
int
表3.1加班
Name
Code
DataType
Length
员工ID
员工ID
int
姓名
姓名
varchar(16)
16
性别
性别
varchar(4)
4
年龄
年龄
int
员工类别
员工类别
int
密码
密码
varchar(16)
16
银行卡号
银行卡号
int
表3.2员工
Name
Code
DataType
Length
基本工资ID
基本工资ID
int
员工ID
员工ID
int
上月工资零头
上月工资零头
money
本月工资零头
本月工资零头
money
独子费
独子费
money
离退费
离退费
money
交通费
交通费
money
电话费
电话费
money
书报费
书报费
money
基本工资
基本工资
money
个人所得税
个人所得税
money
基本工资月份
基本工资月份
int
表3.3基本工资
Name
Code
DataType
Length
工龄ID
工龄ID
int
员工ID
员工ID
int
工龄时间
工龄时间
int
工龄工资
工龄工资
money
表3.4工龄
Name
Code
DataType
Length
每月工资ID
每月工资ID
int
员工ID
员工ID
int
当月工资
当月工资
money
月份
月份
int
表3.5每月工资
Name
Code
DataType
Length
级别ID
级别ID
int
员工ID
员工ID
int
级别名称
级别名称
varchar(16)
16
级别工资
级别工资
float
表3.6级别
Name
Code
DataType
Length
考勤ID
考勤ID
int
员工ID
员工ID
int
考勤时间
考勤时间
datetime
出勤情况
出勤情况
int
工资变化
工资变化
money
考勤月份
考勤月份
int
表3.7考勤
Name
Code
DataType
Length
职务ID
职务ID
int
员工ID
员工ID
int
职务名称
职务名称
varchar(16)
16
职务工资
职务工资
varchar(16)
16
表3.8职务
Name
Code
DataType
Length
部门ID
部门ID
int
员工ID
员工ID
int
部门名称
部门名称
varchar(24)
24
部门负责人
部门负责人
varchar(16)
16
表3.9部门
Name
Code
DataType
Length
年终奖ID
年终奖ID
int
员工ID
员工ID
int
年终奖
年终奖
money
年份
年份
int
表3.10年终奖
4物理结构设计
4.1数据库脚本
使用Powerdesigner生成数据库脚本如下:
/*==============================================================*/
/*DBMSname:
MicrosoftSQLServer2008*/
/*Createdon:
2015/6/2517:
52:
14*/
/*==============================================================*/
ifexists(select1
fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidando.type='F')
wherer.fkeyid=object_id('加班')ando.name='FK_加班_REFERENCE_员工')
altertable加班
dropconstraintFK_加班_REFERENCE_员工
go
ifexists(select1
fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidando.type='F')
wherer.fkeyid=object_id('基本工资')ando.name='FK_基本工资_REFERENCE_员工')
altertable基本工资
dropconstraintFK_基本工资_REFERENCE_员工
go
ifexists(select1
fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidando.type='F')
wherer.fkeyid=object_id('工龄')ando.name='FK_工龄_REFERENCE_员工')
altertable工龄
dropconstraintFK_工龄_REFERENCE_员工
go
ifexists(select1
fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidando.type='F')
wherer.fkeyid=object_id('年终奖')ando.name='FK_年终奖_REFERENCE_员工')
altertable年终奖
dropconstraintFK_年终奖_REFERENCE_员工
go
ifexists(select1
fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidando.type='F')
wherer.fkeyid=object_id('每月工资')ando.name='FK_每月工资_REFERENCE_员工')
altertable每月工资
dropconstraintFK_每月工资_REFERENCE_员工
go
ifexists(select1
fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidando.type='F')
wherer.fkeyid=object_id('级别')ando.name='FK_级别_REFERENCE_员工')
altertable级别
dropconstraintFK_级别_REFERENCE_员工
go
ifexists(select1
fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidando.type='F')
wherer.fkeyid=object_id('考勤')ando.name='FK_考勤_REFERENCE_员工')
altertable考勤
dropconstraintFK_考勤_REFERENCE_员工
go
ifexists(select1
fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidando.type='F')
wherer.fkeyid=object_id('职务')ando.name='FK_职务_REFERENCE_员工')
altertable职务
dropconstraintFK_职务_REFERENCE_员工
go
ifexists(select1
fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidando.type='F')
wherer.fkeyid=object_id('部门')ando.name='FK_部门_REFERENCE_员工')
altertable部门
dropconstraintFK_部门_REFERENCE_员工
go
ifexists(select1
fromsysobjects
whereid=object_id('加班')
andtype='U')
droptable加班
go
ifexists(select1
fromsysobjects
whereid=object_id('员工')
andtype='U')
droptable员工
go
ifexists(select1
fromsysobjects
whereid=object_id('基本工资')
andtype='U')
droptable基本工资
go
ifexists(select1
fromsysobjects
whereid=object_id('工龄')
andtype='U')
droptable工龄
go
ifexists(select1
fromsysobjects
whereid=object_id('年终奖')
andtype='U')
droptable年终奖
go
ifexists(select1
fromsysobjects
whereid=object_id('每月工资')
andtype='U')
droptable每月工资
go
ifexists(select1
fromsysobjects
whereid=object_id('级别')
andtype='U')
droptable级别
go
ifexists(select1
fromsysobjects
whereid=object_id('考勤')
andtype='U')
droptable考勤
go
ifexists(select1
fromsysobjects
whereid=object_id('职务')
andtype='U')
droptable职务
go
ifexists(select1
fromsysobjects
whereid=object_id('部门')
andtype='U')
droptable部门
go
/*==============================================================*/
/*Table:
加班*/
/*==============================================================*/
createtable加班(
员工IDintnull,
加班IDintnotnull,
加班时间datetimenull,
加班类别intnull,
加班津贴moneynull,
加班月份intnull,
constraintPK_加班primarykey(加班ID)
)
go
/*==============================================================*/
/*Table:
员工*/
/*==============================================================*/
createtable员工(
员工IDintnotnull,
姓名varchar(16)null,
性别varchar(4)null,
年龄intnull,
员工类别intnull,
密码varchar(16)null,
银行卡号intnull,
constraintPK_员工primarykey(员工ID)
)
go
/*==============================================================*/
/*Table:
基本工资*/
/*==============================================================*/
createtable基本工资(
基本工资IDintnotnull,
员工IDintnull,
上月工资零头moneynull,
本月工资零头moneynull,
独子费moneynull,
离退费moneynull,
交通费moneynull,
电话费moneynull,
书报费moneynull,
基本工资moneynull,
个人所得税moneynull,
基本工资月份intnull,
constraintPK_基本工资primarykey(基本工资ID)
)
go
/*==============================================================*/
/*Table:
工龄*/
/*==============================================================*/
createtable工龄(
工龄IDintnotnull,
员工IDintnotnull,
工龄时间intnull,
工龄工资moneynull,
constraintPK_工龄primarykey(工龄ID,员工ID)
)
go
/*==============================================================*/
/*Table:
年终奖*/
/*==============================================================*/
createtable年终奖(
年终奖IDintnotnull,
员工IDintnull,
年终奖moneynull,
年份intnull,
constraintPK_年终奖primarykey(年终奖ID)
)
go
/*==============================================================*/
/*Table:
每月工资*/
/*==============================================================*/
createtable每月工资(
每月工资IDintnotnull,
员工IDintnull,
当月工资moneynull,
月份intnull,
constraintPK_每月工资primarykey(每月工资ID)
)
go
/*==============================================================*/
/*Table:
级别*/
/*==============================================================*/
createtable级别(
级别IDintnotnull,
员工IDintnot
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库原理 数据库 原理 课程设计 报告