首页 网络数据库项目设计报告

网络数据库项目设计报告

举报
开通vip

网络数据库项目设计报告网络数据库(工资管理系统设计)项目设计报告网络数据库(工资管理系统设计)项目设计报告PAGE/NUMPAGES网络数据库(工资管理系统设计)项目设计报告《网络数据库》课程项目设计课程名称设计题目专业班级网络数据库工资管理系统计应0602班学生姓名XXX学号18指导教师YYYYQQQQ年P月R日目录一、项目名称:工资管理系统设计1二、系统功能的基本要求1三、课程设计的目的和意义1四、应掌握的知识点1五、应训练的能力点1六、数据库设计内容....................................

网络数据库项目设计报告
网络数据库(工资管理系统 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 )项目设计报告网络数据库(工资管理系统设计)项目设计报告PAGE/NUMPAGES网络数据库(工资管理系统设计)项目设计报告《网络数据库》课程项目设计课程名称设计 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 目专业班级网络数据库工资管理系统计应0602班学生姓名XXX学号18指导教师YYYYQQQQ年P月R日目录一、项目名称:工资管理系统设计1二、系统功能的基本要求1三、课程设计的目的和意义1四、应掌握的 知识点 高中化学知识点免费下载体育概论知识点下载名人传知识点免费下载线性代数知识点汇总下载高中化学知识点免费下载 1五、应训练的能力点1六、数据库设计内容..................................2().2..23——41.4...2....5七、数据库操作实施与结果——数据库对象的设计.........5()——.5——..6..7..78991....92....93....11八、总结...........................................12九、参考文献.......................................13一、项目名称:工资管理系统设计二、系统功能的基本要求:员工每个工种基本工资的设定;加班津贴管理,根据加班时间和类型给予不同的加班津贴;按照不同工种的基本工资情况、员工的考勤情况产生员工的每月的月工资;员工年终奖金的生成,员工的年终奖金计算 公式 小学单位换算公式大全免费下载公式下载行测公式大全下载excel公式下载逻辑回归公式下载 =(员工本年度的工资总和+津贴的总和)/12;企业工资报表。能够查询单个员工的工资情况、每个部门的工资情况、按月的工资统计。三、课程设计的目的和意义《网络数据库》是实践性教学环节之一,是《网络数据库》课程的辅助教学课程。通过课程设计,使学生掌握数据库的基本概念,结合实际的操作和设计,巩固课堂教学内容,使学生掌握数据库系统的基本概念、原理和技术,将理论与实际相结合,应用现有的数据建模工具和数据库管理系统软件,规范、科学地完成一个小型数据库的设计与实现,把理论课与实验课所学内容做一综合,并在此基础上强化学生的实践意识、提高其实际动手能力和创新能力。实训目的:了解数据库系统的理论掌握数据库设计的基本方法,熟悉数据库设计的步骤;通过设计数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力学习基本数据库编程方法快速跟踪数据库系统软件的新技术及市场应用动态。四、应掌握的知识点数据库基本原理关系数据库的设计方法、设计思路初步掌握一种关系数据库语言五、应训练的能力点SQLServer2000的操作与使用数据库的概念设计与逻辑设计数据库的建立与管理、数据表的建立与操作SQL查询语言的使用与编程设计和开发一个数据库应用系统的数据库设计部分六、数据库设计内容1(一)需求分析本系统要求实现以下主要功能:1.数据录入功能主要任务是对各种工资信息进行日常的管理,如工资信息的输入、查询、修改、增加、删除,迅速准确地完成各种工资信息的统计计算和汇总,快速打印出报表。2.数据查询功能系统需要提供以下查询功能:员工考勤情况员工工种情况,反映员工的工种、等级,岗位工资等信息员工津贴信息情况,反映员工的加班时间,加班类别、加班天数、岗位补贴情况等员工基本信息情况5)员工月工资情况:年,月,职工号,姓名,部门名,基本工资,病假扣款,事假扣款,.应发工资,实发工资3.数据统计功能统计员工年终奖金统计每部门月工资情况(二)概念结构设计分析前面的系统功能要求,需要一个表来存储和管理员工信息,使系统能够接受员工原始的各项数据,以实现数据录入、查询或统计员工信息等功能。员工是本系统的第一个实体。为了能实现查询和统计部门内员工情况等功能,必须有一个表来存储和管理所有部门的信息。部门是本系统的第二个实体。工资是以员工工作情况来制定的。需要建立一个表来记录各种工资、津贴、扣款的信息。它主要为各种查询和统计功能提供工资数据。工资是第3个实体。据此可以绘出工资管理系统数据库的E-R图如下:实体属性列表如下:2实体员工部门工资属性工号姓名性别年龄籍贯学历工种工龄职务等级部门名称部门编号部门名称部门负责人部门人数工号岗位工资岗位补贴出勤天数加班工时加班工资加班天数加班类别病假扣款事假扣款其他扣款应发工资实发工资部门名称(三)逻辑结构设计将数据库的概念模型转换为关系模型:实体转换成的关系模式有:员工信息(工号,姓名,性别,年龄,籍贯,学历,工种,工龄,职务等级,部门名称)关系-----工作(工号,部门名称)部门(部门编号,部门名称,部门负责人,部门人数)关系------获得(工号,姓名)工资(工号,岗位工资,岗位补贴,出勤天数,加班工时,加班工资,加班天数,加班类别,病假扣除,事假扣除,其它扣除,应发工资,实发工资,部门名称)因为,员工与工资是1:N的关系,所以各关系模式为:员工信息(工号,姓名,性别,年龄,籍贯,学历,工种,工龄,职务等级,部门名称)部门(部门编号,部门名称,部门负责人,部门人数)3工资(工号,岗位工资,岗位补贴,出勤天数,加班工时,加班工资,加班天数,加班类别,病假扣除,事假扣除,其它扣除,应发工资,实发工资,部门名称)带下划线的属性为各关系模式的外码,字体为粗体的属性为各关系模式的主码。关系规范式:工资管理系统∈1NF每个属性均不可再分(四)数据库与数据表设计——物理结构设计在SQL数据库中需要建立3个数据表:员工信息数据表、部门数据表和工资数据表。1.数据库与数据表设计①员工信息数据表定义其中,“工号”是表的主键,惟一标识。“部门名称”是外键。“工号”将记录员工的编号,在员工信息表中增加这一列时,虽然增加了数据冗余,但可以在查询每个员工信息时,提高系统的性能。因为员工信息表的记录数相对固定,相比之下,增加这个冗余的列对于整个系统来说是有利的。通过它,系统将引用到工资信息。此表取名为“员工信息”②部门数据表定义其中,部门名称是该表的主键,惟一标识一个部门。此表取名为“部门”③工资数据表定义4其中,“工号”作为该表的主键,唯一标识,保证客房信息表数据的参照完整性。此表表取名为“工资”根据上面三个数据表的设计,可执行下面的步骤创建数据表1)打开企业管理器,在本地服务器上创建新的数据库“工资管理库”2)创建表员工信息、部门、工资2.数据完整性设计1)给每个表实施主键约束。①主键约束、非空值约束员工:工号为主键,所以此项非空部门:部门名称为主键,所以此项非空工资:工号为主键,所以此项非空2)实施CHECK约束员工表中建立一个检查约束,即员工性别不是‘男’就是‘女’CHECK(性别IN('男','女')3)外键约束员工信息表中,部门名称为外键。工号为主键工资FOREIGNKEY(部门名称)REFERENCES部门(部门名称)通过此键建立3个表的联系4)惟一约束每个表的主键需定义为惟一性:对于工资表,因为工号是主键,联系着员工表,所以建立唯一性altertable工资addconstraintUQ_工号unique(工号)对于员工表,员工的工号、部门名称都是用于识别员工身份,所以建立唯一约束altertable员工addconstraintUQ_工号unique(工号)七、数据库操作实施与结果——数据库对象的设计(一)建数据库——工资管理库5IFEXISTS(SELECT*FROMsysdatabasesWHEREname='工资管理库')dropdatabase工资管理库GOCREATEDATABASE工资管理库ONPRIMARY(NAME=工资管理库,工资管理库_data.mdf',SIZE=4MB,MAXSIZE=6MB,FILEGROWTH=2MB)LOGON(NAME='工资管理库_log',工资管理库.ldf',SIZE=1MB,MAXSIZE=25MB,FILEGROWTH=10%)(二)建表——员工信息表、部门信息表、工资信息表IFEXISTS(SELECT*FROMsysobjectsWHEREname='员工')DROPTABLE员工GOcreatetable员工信息(工号intNOTNULLprimarykey,姓名VARCHAR(50)NOTNULL,性别CHAR(2)DEFAULT'男'CHECK(性别IN('男','女')),年龄intNOTNULL,籍贯VARCHAR(50)NOTNULL,学历VARCHAR(50),工种VARCHAR(50),工龄VARCHAR(50)NOTNULL,职务等级VARCHAR(50),部门名称char(10)NOTNULLforeignkeyreferences部门(部门名称))GOIFEXISTS(SELECT*FROMsysobjectsWHEREname='部门')DROPTABLE部门GOcreatetable部门(部门编号int,部门名称char(10)primarykey,6部门负责人VARCHAR(50)NOTNULL,部门人数VARCHAR(50))GOIFEXISTS(SELECT*FROMsysobjectsWHEREname='工资')DROPTABLE工资GOCREATETABLE工资(工号intNOTNULLprimarykey,岗位工资decimalnotnull,岗位补贴decimal,出勤天数decimalnotnull,加班工时decimal,加班工资decimal,加班天数decimal,加班类别varchar(50),病假扣款decimal,事假扣款decimal,其他扣款decimal,应发工资decimalnotnull,实发工资decimalnotnull,部门名称char(10)NOTNULLforeignkeyreferences部门(部门名称))GO(三)视图查询员工工资情况建立一个视图,反映员工姓名及工资情况。CREATEVIEW员工信息_工资ASSELECT员工信息.姓名,工资.*FROM员工信息,工资WHERE员工信息.工号=工资.工号(四)存储过程指定员工工资情况的查询定义一个名为staffCost的存储过程,该存储过程以以出勤天数(@staffchuqin)、加班工资(@staffjiaban)、应发工资(@staffying)、实发工资(@staffshi)为输入参数返回指定员工工资信息的存储过程。stsffCost代码如下:CREATEPROCEDUREstaffCost@staffchuqindecimal,@staffjiabandecimal,@staffyingdecimal,@staffshidecimal7ASSELECT*FROM工资WHERE出勤天数=@staffchuqinAND加班工资=@staffjiabanAND应发工资=@staffyingAND实发工资=@staffshiGO(2)指定范围的员工的信息查询。以员工工号、部门编号为输入参数返回指定员工基本信息的存储过程,要求输入部分员工信息查询员工全部信息。定义一个名为stsffInfo的存储过程,该存储过程以员工工号(@staffNum)、部门编号(@bmNum)作为输入参数,存储过程返回查询到的结果集。satffInfo的定义代码如下:CREATEPROCEDUREstaffInfo@staffNumVARCHAR(50)='%',@bmNumVARCHAR(50)='%'ASSELECT*FROM员工信息,部门WHERE员工信息.部门名称=部门.部门名称AND((员工信息.工号LIKE@staffNumVARCHAR(50)+'%')AND(部门编号LIKE@bmNumVARCHAR(50)+'%'))GO(3)统计某职工年终工资总额。以工号为输入参数,以奖金总额为输出参数,产生该年度12个月份的每员工奖金统计的存储过程。定义该存储过程名为bmMonhSum,输入参数为@staffNum,实现代码如下:CREATEPROCEDUREbmMonthSum@staffNumCHAR(10)ASSELECTsum(实发工资+岗位补贴)/12AS奖金总额FROM员工信息,工资,部门WHERE员工信息.工号=工资.工号AND员工信息.部门名称=部门.部门名称AND工号=102GO(五)触发器(1)关键操作,在工资表里添加一条新的记录,实发工资会自动更新新的数据。定义这个触发器名称为insert_工资。代码如下:8createtriggerinsert_工资on工资forinsertasdeclare@ichar(20)declare@bbintset@i=casewhen@bb=100then‘工资’when@bb=102then‘实发工资’endprint@i(六)索引为提高检索性能,为表创建符合索引,其索引项为工号、姓名。CREATEINDEX工号_姓名_indON员工信息(工号,姓名)GO(七)运行和维护关系图的建立使用SQLServer2000的企业管理器创建工资管理系统关系图工资管理系统的关系图2.简单查询员工基本信息情况代码如下:select*from员工信息92)员工考勤情况;代码如下:select出勤天数,工号from工资3)员工每个工种基本工资的设定。代码如下:Select岗位工资,职务等级from工资,员工信息where工资.工号=员工信息.工号4)加班津贴管理,根据加班时间和类型给予不同的加班津贴;代码如下:select加班工时,加班天数,加班类别,加班工资from工资WHERE加班工资>05)按照不同工种的基本工资情况、员工的考勤情况产生员工的每月的月工资;代码如下:select工资.部门名称,职务等级,岗位工资,出勤天数,实发工资from员工,工资WHERE员工信息.工号=工资.工号10;3.复杂查询1)员工年终奖金的生成,员工的年终奖金计算公式=(员工本年度的工资总和+津贴的总和)/12;代码如下:SELECT姓名,sum(实发工资+岗位补贴)/12AS奖金总额FROM员工信息,工资,部门WHERE员工信息.工号=工资.工号groupby姓名2)企业内财务部的工资情况查询:代码如下:select员工信息.工号,姓名,职务等级,实发工资from工资,员工信息where工资.工号=员工信息.工号AND工资.部门名称='财务部'3)企业工资报表。能够查询单个员工的工资情况代码如下:select工资.工号,岗位工资,病假扣款,事假扣款,应发工资,实发工资from工资,员工信息WHERE工资.工号=员工信息.工号AND姓名LIKE'李%'4)员工月工资情况:月,职工号,姓名,部门名,基本工资,病假扣款,事假扣款,应发工资,实发工资。代码如下:select员工信息.工号,姓名,员工信息.部门名称,岗位工资,病假扣款,事假扣款,应发工资,实发工资from工资,员工信息11where工资.工号=员工信息.工号;八、总结经过一周的时间,在同学和老师的帮助下,基本完成本次课程设计,基本达到了工资管理系统的要求。这次数据库课程设计给我的最大的印象是:流程是一切的根本; 架构 酒店人事架构图下载公司架构图下载企业应用架构模式pdf监理组织架构图免费下载银行管理与it架构pdf 是重要的,想像的还要重要;实践比一切空谈和理论更能学到东西。从做这个数据库开始无论遇到什么困难,我都没有一丝的放弃的念头。在设计过程中一定要慎重,仔细。来不得半点马虎。需求分析是整个课程设计的中心,考虑要全面,分析彻底。才会为后来的设计打下良好的基础。否则,前功尽弃,甚至不能完成任务。做实例过程中要注意与说明书中数据项数据类型,数据长度等的一致,命令中心输入任何命令都要谨记一条原则,那就是严格按照格式来,不能像平时在纸上作业。同时我认为我们的工作是一个团队的工作,团队需要个人,个人也离不开团队,必须发扬团结协作的精神。某个人的离群都可能导致导致整项工作的失败。实习中只有一个人知道原理是远远不够的,必须让每个人都知道,否则一个人的错误,就有可能导致整个工作失败。团结协作是我们实习成功的一项非常重要的保证。而这次实习也正好锻炼我们这一点,这也是非常宝贵的。对我们而言,知识上的收获重要,精神上的丰收更加可喜。挫折是一份财富,经历是一份拥有。这次实习必将成为我人生旅途上一个非常美好的回忆!通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。这次课程设计终于顺利完成了,在设计中遇到了很多专业知识问题,最后在老师的辛勤指导下,终于游逆而解。同时,在老师的身上我们学也到很多实用的知识,在次我们表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!此次课程设计,学到了很多课内学不到的东西,比如独立思考解决问题,出现差错的随机应变,和与人合作共同提高,都受益非浅,今后的制作应该更轻松,自己也都能扛的起并高质量的完成项目。12九、参考文献《数据库原理及应用教程》、《数据库系统概论》、《数据库设计教程》、网络资源。13
本文档为【网络数据库项目设计报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
天随人愿的夏天
本人从事医疗卫生行业多年,经验丰富。
格式:doc
大小:560KB
软件:Word
页数:19
分类:
上传时间:2022-01-17
浏览量:0