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


    
    XX学院

    数库技术应课程设计报告书








    题 目: 工资理系统
    系 部: 数理系
    专 业: 数学应数学
    班 级:
    姓 名:
    学 号:
    指导教师:



    XX学院
    2013年 X 月X日

    目录
    第章 选题背景意义 1
    1 选题背景 1
    12选题意义 1
    第二章 数库结构设计 2
    21需求分析 2
    22 概念结构设计 3
    第三章 程序代码实现 6
    31创建表 7
    32数导入: 9
    33查询功实现: 9
    34实现: 14
    第四章 课程设计总结 15
    参考文献: 16

    第章 选题背景意义
    1 选题背景
    着公司业务扩展员增传统手工作业已适合公司发展需引进计算机技术企业部员工进行方便理样诸处层理员企业众员工信息进行动态理例基资料修改添加删查询等利减少错误减轻事部门务提高效率节约力资源降低企业成
    12选题意义
    着济发展企业正着型化规模化发展中型企业员工职称等工资理关信息急剧增加种情况单工处理员工工资显力心极容易出错设计型企业工资数库理系统计算机代工执行系列诸增加新员工删旧员工工资查询统计等操作样办公员轻松快捷完成工资理务
    企事业单位工资发放说需太型数库系统需操作方便功实时满足财务部门单位相关部门代发单位三方数理需求系统企业目标利数库编程设计操作方便简单实工资理系统
    实现工资集中理供理员单位员工资进行增加删修改查询事理工资发放中应发工资合计等项目系统动进行计算时系统事工资理情况进行角度查询
    利数库型企业工资进行理仅节省开支节省时间充分发挥精特点通数库编程企业认识方面足掌握应方面技巧


    第二章 数库结构设计
    21需求分析
    系统开发目标企事业单位工资理实现计算机理理员够序理位职工项工资条款发放企业工资统计企业运现代化技术创造更更高济效益基础开发工资理系统实现单位财务部门工资发放集中理供财务员单位员进行增加修改删更新查询工资发放中应发工资合计时系统工资发放情况进行角度查询够条件进行查询
    211 总体需求
    (1)建立企业员工工资全面理信息系统
    (2)职工提供全面理
    (3)系统安全提供全面理
    (4)职工信息添加删提供全面理
    212 功需求
    (1) 工资记录进行录入
    (2) 工资信息进行查找
    (3) 工资记录进行浏览
    (4) 记录进行满足种实际需修改
    (5) 项工资总总数进行统计
    数介绍
    静态数:职工基信息职工出缺勤信息
    动态数:职工基信息职工工资信息奖金职工出缺勤信息
    数库介绍
    职工基信息数库:包括职工工号姓名属部门
    职工出缺勤信息数库:包括职工工号姓名缺勤次数
    职工工资信息数库:包括职工工号姓名基工资原始奖金缺勤金实际工资
    功描述
    职工基信息理系统:
    采集职工工号姓名属部门进行查询修改
    职工出勤理系统:
    采集职工工号姓名缺勤次数进行查询
    职工工资理系统:
    实际工资奖金计算提供数源部门传输标准工资信息
    安全性分析
    采严格户验证权限控制户需通身份验证进入系统没权限户系统户修改密码保密性良确保系统安全
    22 概念结构设计

    部门
    部门负责
    员工
    工资
    基工资
    加班工资
    奖金
    工号
    姓名
    部门号
    工种

    电话

    1
    1



    1
    n

    1
    1
    n
    1







    图21员工工资理系统关系图


    1
    员工

    工种
    工作

    工作时间
    工资
    核准
    部门
    设置












    图22 ER关系图
    23逻辑结构设计
    理系统ER图转换关系数库数模型关系模式:
    (1)员工档案(姓名性职位电话状态部门号)中员工编号键部门号外键
    (2)出勤记录(出勤编号员工号签时间签出时间)出勤编号键员工号外键
    (3)工资记录(员工号基工资岗位津贴加班补贴出差补贴违纪扣发薪日期)工资编号键员工号外键
    (4)部门记录(部门编号名称领导号)部门编号键 工资理系统定名工资理系统
    24物理结构设计
    该系统员工工资增加删更改查询应程序功
    建立数库存储模式文件结构指定数库文件名称设计关系模型设计表结构
    员工(姓名工号部门工种性生日电话)
    工种(工种号基工资时加班津贴)
    月工作时间(工号日班时间日班时间)
    部门(部门号负责负责电话)

    表21员工
    字段名
    类型
    宽度

    键索引
    参表
    约束
    Null值
    工号(id)
    文型
    10

    ↑()



    姓名(sn)
    文型
    10





    部门号(dps)
    文型
    20





    工种(ws)
    文型
    12





    性(sex)
    文型
    2



    男 or 女

    生日(birth)
    日期型






    电话(tele)
    文型
    11






    表22部门
    字段名
    类型
    宽度

    键索引
    参表
    约束
    Null值
    部门号(dps)
    文型
    10

    ↑()



    部门(dp)
    文型
    20





    负责(rs)
    文型
    8





    负责电话(rt)
    文型
    11






    表23工种
    字段名
    类型
    宽度

    键索引
    参表
    约束
    Null值
    工种(ws)
    文型
    12

    ↑()



    部门(dp)
    文型
    20





    基工资(fs)
    文型
    4





    时加班津贴(sub)
    文型
    4







    表24月工作时间(月生成表)
    字段名
    类型
    宽度

    键索引
    参表
    约束
    Null值
    工号(id)
    文型
    10


    员工


    月初班时间(st1)
    日期型






    月初班时间(dt1)
    日期型







    日期型







    日期型







    日期型






    月末班时间(st1)
    日期型






    月末班时间(dt1)
    日期型






    (1) 表实施键约束:
    键约束非空值约束
    员工:工号键项非空
    部门:部门名称键项非空
    工资:工号键项非空
    (2)外键约束
    员工表中工号部门名称外键
    (3)惟约束
    表键需定义惟性: 工资表工号键联系着员工表建立唯性

    图23数关系图

    第三章 程序代码实现
    31创建表:
    表:department
    Create table dbodepartment
    dp nchar(20) collate Chinese_prc_ci_as null
    dp snchar(10) collate Chinese_prc_ci_as not null
    rs nchar(8) collate Chinese_prc_ci_as not null
    rt nchar(11) collate Chinese_prc_ci_as not null
    Constrant pk_部门表 primary key clustered
    [dps] asc
    with (ignore_dup_key off) on primary
    on primary
    表二: monthtime
    CREATE TABLE [dbo][monthtime](
    [id] [nchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL
    [st1] [datetime] NULL[dt1] [datetime] NULL[st2] [datetime] NULL[dt2] [datetime] NULL[st3] [datetime] NULL[dt3] [datetime] NULL[st4] [datetime] NULL[dt4] [datetime] NULL[st5] [datetime] NULL[dt5] [datetime] NULL[st6] [datetime] NULL[dt6] [datetime] NULL[st7] [datetime] NULL[dt7] [datetime] NULL[st8] [datetime] NULL[dt8] [datetime] NULL[st9] [datetime] NULL[dt9] [datetime] NULL[st10] [datetime] NULL[dt10] [datetime] NULL[st11] [datetime] NULL[dt11] [datetime] NULL[st12] [datetime] NULL[dt12] [datetime] NULL[st13] [datetime] NULL[dt13] [datetime] NULL[st14] [datetime] NULL[dt14] [datetime] NULL[st15] [datetime] NULL[dt15] [datetime] NULL[st16] [datetime] NULL[dt16] [datetime] NULL[st17] [datetime] NULL[dt17] [datetime] NULL[st18] [datetime] NULL[dt18] [datetime] NULL[st19] [datetime] NULL[dt19] [datetime] NULL[st20] [datetime] NULL[dt20] [datetime] NULL[st21] [datetime] NULL[dt21] [datetime] NULL[st22] [datetime] NULL[dt22] [datetime] NULL[st23] [datetime] NULL[dt23] [datetime] NULL[st24] [datetime] NULL[dt24] [datetime] NULL[st25] [datetime] NULL[dt25] [datetime] NULL[st26] [datetime] NULL[dt26] [datetime] NULL[st27] [datetime] NULL[dt27] [datetime] NULL[st28] [datetime] NULL[dt28] [datetime] NULL[st29] [datetime] NULL[dt29] [datetime] NULL[st30] [datetime] NULL[dt30] [datetime] NULL
    CONSTRAINT [PK_月工作时间表] PRIMARY KEY CLUSTERED
    (
    [id] ASC
    )WITH (IGNORE_DUP_KEY OFF) ON [PRIMARY]
    ) ON [PRIMARY]
    表三: profession
    CREATE TABLE [dbo][profession](
    [ws] [nchar](12) COLLATE Chinese_PRC_CI_AS NOT NULL
    [dp] [nchar](20) COLLATE Chinese_PRC_CI_AS NULL
    [sub] [int] NULL
    [fs] [int] NULL
    CONSTRAINT [PK_工种表] PRIMARY KEY CLUSTERED
    (
    [ws] ASC
    )WITH (IGNORE_DUP_KEY OFF) ON [PRIMARY]
    ) ON [PRIMARY]
    表四: worker
    CREATE TABLE [dbo][worker](
    [sn] [nchar](10) COLLATE Chinese_PRC_CI_AS NULL
    [id] [nchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL
    [dps] [nchar](10) COLLATE Chinese_PRC_CI_AS NULL
    [ws] [nchar](12) COLLATE Chinese_PRC_CI_AS NULL
    [sex] [nchar](2) COLLATE Chinese_PRC_CI_AS NULL
    [birth] [datetime] NULL
    [tele] [nchar](11) COLLATE Chinese_PRC_CI_AS NULL
    CONSTRAINT [PK_员工表] PRIMARY KEY CLUSTERED
    (
    [id] ASC
    )WITH (IGNORE_DUP_KEY OFF) ON [PRIMARY]
    ) ON [PRIMARY]
    GO
    32数导入:
    表31department
    部门(dp)
    部门号(dps)
    负责(rs)
    负责电话(rt)
    研发部
    1000
    张鹏程

    稽核部
    1001
    李晨

    宣传部
    1002
    魏晨


    表32monthtime
    表33profession
    工种(ws)
    部门(dp)
    时加班津贴(sub)
    基工资(fs)
    干事
    宣传部
    100
    3500

    稽核部
    100
    4500
    文书
    稽核部
    90
    3000
    表34worker

    33查询功实现:
    考勤信息记录作种原始数资料作核算员工工资根般允许户进行编辑删该模块功考勤机发原始数存储现考勤记录显示考勤数量较窗体显示方法显然合适里通列表控件显示记录集中数
    企业进行考勤目效控制员工迟早退旷工等良现象简单根某员工缺少某天考勤记录认定该员工违反工作纪律例:员工请事病假领导批准工作需外派效时间赶回公司刷卡现象应月末汇总时剔外
    (1) 计算员工工资生成时表(月统计结果):
    表35工资条
    姓名
    工号
    基工资
    加班津贴
    补贴

    早退
    请假









    SQL查询语言:
    (1) 考勤机获员工班时间(仅取五天班情况)
    年月日时分转换成时分形成新表格new_table(员工号月初班时间 月末班时间)新表格中时间含年月日便班时间较简化存储量
    new_table表格SQL语言形成:
    use 工资理系统
    go
    select id as 员工号convert(varchar(10)st1108) as 1日班时间
    convert(varchar(10)dt1108) as 1日班时间
    convert(varchar(10)st2108) as 2日班时间
    convert(varchar(10)dt2108) as 2日班时间
    convert(varchar(10)st3108) as 3日班时间
    convert(varchar(10)dt3108) as 3日班时间
    convert(varchar(10)st4108) as 4日班时间
    convert(varchar(10)dt4108) as 4日班时间
    convert(varchar(10)st5108) as 5日班时间
    convert(varchar(10)dt5108) as 5日班时间
    into new_table from monthtime
    表36班时间表


    (2)形成月考勤表利面形成表格做参表建立考勤表(正常迟早退加班请假缺勤情况(班时间空值时仅视缺勤)然建立存储程worker_id方便查询
    use 工资理系统
    go
    select id
    case when datediff(minuteconvert(varchar(10)st1108)'800')<0
    then '迟'
    when convert(varchar(10)st1108) is null then '缺勤' else '正常'
    end as 1号班情况
    case when datediff(minuteconvert(varchar(10)dt1108)'1800')>0
    then '早退'
    when datediff(minute'1800'convert(varchar(10)dt1108))>0
    and datediff(minute'1800'convert(varchar(10)dt1108))<25
    then'正常'
    when datediff(minute'1800'convert(varchar(10)dt1108))>25
    then'加班' end as 1号班情况
    case when datediff(minuteconvert(varchar(10)st2108)'800')<0
    then '迟'
    when convert(varchar(10)st2108) is null then '缺勤'
    else '正常' end as 2号班情况
    case when datediff(minuteconvert(varchar(10)dt2108)'1800')>0
    then '早退'
    when datediff(minute'1800'convert(varchar(10)dt2108))>0
    and datediff(minute'1800'convert(varchar(10)dt2108))<25
    then'正常'
    when datediff(minute'1800'convert(varchar(10)dt2108))>25
    then'加班' end as 2号班情况
    case when datediff(minuteconvert(varchar(10)st3108)'800')<0
    then '迟'
    when convert(varchar(10)st3108) is null then '缺勤'
    else '正常'
    end
    as 3号班情况
    case
    when datediff(minuteconvert(varchar(10)dt3108)'1800')>0
    then '早退'
    when datediff(minute'1800'convert(varchar(10)dt3108))>0
    and datediff(minute'1800'convert(varchar(10)dt3108))<25
    then'正常'
    when datediff(minute'1800'convert(varchar(10)dt3108))>25
    then'加班' end as 3号班情况
    case when datediff(minuteconvert(varchar(10)st4108)'800')<0
    then '迟'
    when convert(varchar(10)st4108) is null then '缺勤'
    else '正常' end as 4号班情况
    case when datediff(minuteconvert(varchar(10)dt4108)'1800')>0
    then '早退'
    when datediff(minute'1800'convert(varchar(10)dt4108))>0
    and datediff(minute'1800'convert(varchar(10)dt4108))<25
    then'正常'
    when datediff(minute'1800'convert(varchar(10)dt4108))>25
    then'加班' end as 4号班情况
    case when datediff(minuteconvert(varchar(10)st5108)'800')<0
    then '迟'
    when convert(varchar(10)st5108) is null
    then '缺勤'
    else '正常' end as 5号班情况
    case when datediff(minuteconvert(varchar(10)dt5108)'1800')>0
    then '早退'
    when datediff(minute'1800'convert(varchar(10)dt5108))>0
    and datediff(minute'1800'convert(varchar(10)dt5108))<25
    then'正常'
    when datediff(minute'1800'convert(varchar(10)dt5108))>25
    then'加班' end as 5号班情况
    from monthtime


    生成表格:
    表37考勤表

    述生成表格属交叉表类型数统计程中需进行行列置换通SQL中piovt运算符实现交叉表行列互换然运循环语句统计迟早退缺勤次数
    (3)员工工作时间汇总统计出月员工天工作时间(统计五天工作时间)利该表计算工资时考虑迟扣工资月份中包含节假日予特殊工资加班工作时间作迟时间弥补加班时间足25分钟予考虑表中时间单位分钟计
    SQL语言程序:加班时间足时统计加班时间
    生成表:
    use 工资理系统
    go
    select workersn monthtimeid datediff(minutest1dt1) as 1号工作时间
    datediff(minutest2dt2) as 2号工作时间
    datediff(minutest3dt3) as 3号工作时间
    datediff(minutest4dt4) as 4号工作时间
    datediff(minutest5dt5) as 5号工作时间
    into 月时间总表
    from monthtimeworker
    where workeridmonthtimeid
    表38工作时间统计表


    (4)计算员工月工资形成表格:
    表39工资表容
    姓名
    工号
    基工资
    加班津贴
    补贴
    加班总时间







    SQL程序:计算工资时暂考虑周末节假日工资情形分
    求出员工天加班时间然月总加班时间迟早退等叩工资情况暂程序求解范围
    仅求5天工资情况
    select workersn as 员工名workerid as 员工号fs as 基工资
    1号工作时间+2号工作时间+3号工作时间+4号工作时间+5号工作时间5*8 as 加班总时间
    (floor((1号工作时间+2号工作时间+3号工作时间
    +4号工作时间+5号工作时间)30)5*8*6010)*fs50*2+fs25 as 工资
    into 工资条
    from workerprofession月时间总表
    where workerwsprofessionws and workerid月时间总表id
    计算出结果表:
    表310工资表

    34实现:
    通四表关联实现生成公司企业报表核算公司劳务成等计算出员工月迟早退次数缺勤次数相应时间没够节假日换假换班部门岗位调动轮班等太涉认素情况做出详细分析



    第四章 课程设计总结
    刘保朋结:
    负责第二章部分容细节包括需求分析逻辑设计中需求分析解户求处理求写成说明书步骤中通搜索查询相关资料解工资理系统需数处理求逻辑设计数模式转换
    中涉员工种信息工资情况奖金方面数进行班操作功安全性分析
    次课程设计中学刚开始知道理机时候整数库部分进行实践操作样全面分析第次加掌握知识特牢固刚开始时候非常迷茫知道手组员讨交流老师指导关资料查询终落脚点组努力终完成次课程设计通次课程设计进步解数库技术深感学皮毛中皮毛更激起进步学数库热情次课程设计中方面没考虑全面功法实现会更加努力学数库技术掌握更相关知识做出更设计
















    参考文献:

    [1]孙明丽 王斌 sql server 2005 数库系统开发 民邮电出版社 2007
    [2]姜桂洪 张龙波等 SQL Sever 2005 数库应开发 清华学出版社 2010
    [3]贺利坚等 数库技术应 北京:北京希电子出版社 2002
    [4]丁宝康等 数库实教程 北京:清华学出版社 2001
    [5] 李建中等 数库系统原理 北京:电子工业出版社 1998
    [6]施伯乐等 数库技术 北京:科学出版社 2002
    [7] 徐洁磐 现代数库系统教程 北京:北京希电子出版社 2002
    河南城 建
    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 2 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    SQL数据库图书管理系统课程设计

    XX职业技术学院信息工程系题 目:《图书管理系统》班 级 网络班 学 号 ...

    3年前   
    698    0

    Java与SQL数据库技术学生成绩管理系统课程设计

    《数据库系统原理》课程设计报告说明书学生信息管理系统学生姓名学 号所在专业所在班级指导教师提交时间 评阅情况成 绩目 录读书笔记 11. 学生信息管理系统概述 21.1 研...

    3年前   
    610    0

    《SQL-Server-数据库设计》课程设计报告(图书馆管理系统)

    《SQL Server 数据库设计》课程设计报告课题名称:图书馆管理系统_班级:_ 软大班____学号:_ __姓名:___ ___完成日期:_2...

    3年前   
    749    0

    数据库课程设计题目第9题学校的工资管理系统

    数据库课程设计报告题目:第9题学校的工资管理系统l 实现部门、职务、职称等基本信息的管理;l 实现教职工信息的管理;l 实现工资项目的管理,工资项目设有启用标志和加扣标志;l 实现教职工工资项...

    3年前   
    1127    0

    数据库员工工资管理系统

    成 绩 评 定 表 学生姓名 班级学号 专 业 电子信息 科学与技术 课程设计题目 员工工资管理系统 评 语 组长签字: 成...

    5年前   
    1510    0

    教师管理系统(数据库)课程设计

    数据库技术与应用(SQLServer2005)课 程 设 计题 目教师管理系统 组 员 班 级计科班学 院信息科学与工程学院指导教师 2012年 X...

    3年前   
    1331    0

    MySql数据库课程设计(学生管理系统)

    XX大学数据库课程设计报告 系 院 应用科学学院 年 级 2013级 专 ...

    2年前   
    680    0

    医院管理系统数据库课程设计

    医院管理系统数据库课程设计内容摘要数据库的设计是指对一个给定的应用环境,构造数据库模式,建立数据库及其应用系统,满足各种用户需求。作为信息资源开发、管理和服务的一种有效的手段,数据库技术的应用...

    1年前   
    451    0

    教务管理系统数据库课程设计报告

     《数据库原理》课程设计报告课程名称: 《数据库原理》课程设计 设计题目: 《教务管理系统》 指导教师: ...

    1年前   
    276    0

    数据库课程设计超市管理系统

    数 据 库 课 程 设 计 说 明 书设计题目: 超市管理系统 专 业: 信息与计算科学 班级: 小组成员:学号: ...

    2年前   
    502    0

    SQL数据库制作考务管理系统实验报告

    SQL数据库制作考务管理系统实验报告  一、实验目的  1.  掌握sql server的基本用法  2.  熟悉掌握asp语言的应用  3.  掌握asp的页面结构和内置对象  4.  掌握...

    9年前   
    663    0

    sql数据库实例零件销售中心管理系统

    重庆工商大学计算机科学与技术专业数据库原理课程设计教学实验指导书 重点课程数据库原理教研组2004.1数据库原理课程设计教学实验指导SQL Server2000课程设计教学实验指导A.1 ...

    1个月前   
    75    0

    图书管理系统数据库设计数据库应用系统开发课程设计

    信息工程学院《数据库应用系统开发》课程设计论文题 目:图书管理系统数据库设计学 号:专业班级:信管级(X)班姓 名:魏 金 风指导老师:完成日期:2007摘 要在计算机日益普及...

    2年前   
    440    0

    人力资源管理系统数据库设计《数据库系统原理》课程设计报告

    《数据库系统原理》课程设计报告项目名称:人力资源管理系统数据库设计专 业: 计算机科学与技术 年 级: 姓 ...

    1年前   
    419    0

    数据库面试题(SQL+ORACLE)

    数据库基础(面试常见题)一、数据库基础1. 数据抽象:物理抽象、概念抽象、视图级抽象,内模式、模式、外模式2. SQL语言包括数据定义、数据操纵(Data Manipulation),数据控制...

    9年前   
    552    0

    SQL数据库面试题

    SQL数据库面试题 1、SQL SREVER中,向一个表中插入了新数据,如何快捷的得到自增量字段的当前值这种情况其实我们经常用到,比如我们新建了一个用户,建立完用户后我们希望马上得到这个新用户...

    10年前   
    577    0

    工资管理系统

     题目:工资管理系统 摘要由于计算机技术的飞速发展,数据库技术作为数据管理的一个有效的手段,在各行各业中得到越来越广泛的应用。因...

    2年前   
    458    0

    教学管理系统数据库课程设计报告

    《数据库原理与应用》课程设计课程名称 设计题目 专业班级 ...

    1年前   
    264    0

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

    《数据库类课程设计》系统开发报告学 号:   ********* 姓 名: ****** 题 目...

    6个月前   
    195    0

    学生成绩管理系统数据库课程设计

     数据库课程设计报告题目: 学生成绩管理系统数据库设计 ...

    1年前   
    325    0

    文档贡献者

    文***品

    贡献于2022-07-23

    下载需要 2 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档