版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计(大作业)报告课程名称:数据库原理与技术 设计题目:人事信息管理系统 院 系:信息技术 班 级:12级计算机应用技术1班 设 计 者:王娟 学 号:201211020142 指导教师:邱莎 设计时间:2014年6月30日7月4日 信息技术学院目录一、 昆明学院课程设计(大作业)任务书-3二、 课程设计(大作业)成绩-4三、 题目分析-5四、 总体设计-5五、 开发环境-9六、 详细设计及实现-9七、 总结-12八、 参考文献-12九、 附录-13昆明学院课程设计(大作业)任务书姓 名:王娟院(系):信息技术专 业:计算机应用技术学 号:201211020142任务起止日期:2014年6
2、月30日7月4日课程设计题目:人事信息管理系统课程设计要求:1、 根据初始信息,完成该系统的后台数据库设计,设计要求严格按数据库设计步骤完成。必要时,可以组织调研,扩大或完善设计所需的信息。2、 设计数据库时要求使用如下数据对象,数据库对象的设计要实用、灵活: 对数据完整性有严谨的保护(要求用到触发器); 构造2个以上的视图并在数据库设计中加以应用; 设计3个以上的函数(包括标量函数、表值函数)实现数据的操纵; 设计3个以上的存储过程实现数据的操纵。3、 为所设计的数据库制定适当的安全管理方案。4、 项目主管根据要求制定出合理的后台数据库设计项目计划。5、 技术主管制定出设计任务实施的技术方案
3、。6、 程序员编写相应的程序。7、 测试主管及测试员对其验证并测试,制定整个数据库的测试方案,包括: 构造测试数据库; 测试数据库是否安全; 测试数据库数据是否完整; 测试各数据库对象的功能是否达到设计要求。8、 要求小组成员在规定的时间内完成每个阶段的的目标,做到分工明确。若有特殊情况发生,则各成员间的任务可根据具体情况做适当的调整。9、在规定的时间内撰写实验报告,并将其提交。工作计划及安排1、分析题目,构造思路,制定出基本的实训操作方案,并合理分配小组任务。2、根据题目要求,查阅、收集资料,着手编写代码,在数据库环境下测试代码,修改代码,完成人事信息管理系统。 3、在老师的指导下,进一步修
4、改相应的代码,完善系统功能,并完成相应的实验报告(小组各成员分工完成)。4.实训答辩,提交实验报告。 指导教师签字 年 月 日 课程设计(大作业)成绩学号:201211020142 姓名:王娟 指导教师:邱莎课程设计题目:人事信息管理系统总结:在本次我们的系统的规划虽然已经完成,功能基本实现了目标规划一些重要功能,但由于时间仓促,所以只满足了基本要求,并没有过多考虑到系统的技术含量。但我还是学到了很多数据库编写的知识,使我的代码编写能力得到提高,更加熟练地掌握了Microsoft SQL Server数据库。虽然我在团队只是主管技术,但是我在测试中也学到了许多的知识。这使我对软件工程的知识有了
5、更深刻的理解、更贴切的感受。整个课程设计过程使我在动手能力和团队合作上都有了很大的提高。使我对数据库有了更深的了解,希望在以后的学习中,数据库的运用可以对我有更大的帮助。指导教师评语:成绩:填表时间:指导教师签名:课程设计(大作业)报告一、 题目分析。本系统是为了更好的实现人事信息管理。本系统主要针对查看员工的各种信息需求所设计的,可以很好的管理数据。它包括的有员工个人信息,部门信息、聘用信息、奖惩记录信息。主要实现的功能有:数据入库、增加、查询、修改和删除等。其相应的功能主要应用视图、触发器、不同的函数(表值、标量)、存储过程等实现。该系统的建立能够方便企业的人员管理。二、 总体设计(严格按
6、照数据库设计的6大步骤进行各阶段的基本设计和安排,包括各阶段的关键技术、方法、思路、原理,各阶段、各组员的角色指定和任务划分,以及整个开发过程的工期计划)1、系统概述:本实验按照数据库设计的基本步骤,采取了事先的要求分析,然后进行 数据库的概念设计和逻辑结构设计,最后进行数据库程序的设计和调试完成一个人事管理系统数据库系统的设计。最终,在SQL SEVER 2005完成人事系统管理。可以实现:员工,部门,聘用,奖惩记录,规则管理。2、通过对题目的分析,画出了E-R图,根据E-R图可得,次题目中包含了三个实体和两个关系,那么就要根据题目的需要建立相应的表,所以我们建立了员工表、部门表、聘用表和奖
7、惩记录表并在四张表中写入各自的基本信息。在题目中我们要实现的功能如图所示:3、通过上图明确了我们要实现的功能,根据要求书写代码来来实现对数据库的创建、操纵、保护和安全管理及数据库的设计要求。分支功能如下:这主要是对员工表进行的操纵,在这其中学要几张表互联来实现一些查询工作,使用触发器执行删除员工表中员工号字段,同时删除奖惩记录表中相同的员工号字段,使用触发器执行插入操作(若插入的不记录存在,则将其插入,否则不能插入)。设计3个以上的函数(包括标量函数、表值函数)实现数据的操纵,使用表值函数,根据参数员工号返回员工所有个人信息。使用表值函数返回员工工资大于1800元的员工的某些信息,设计3个以上
8、的存储过程实现数据的操纵。构造2个以上的视图并在数据库的设计中加以运用等一系列操纵,其他表也需要进行相应的设置。在设计过程中还要明确我们的数据库的功能以及优缺点,最后能更好的完善数据库,这需要在调试过程中完成。4、 建立数据流图和概念模型图,逻辑模型设计5、 编写代码,并进行调试,完成相应操作。使用触发器执行删除员工表中员工号字段,同时删除奖惩记录表中相同的员工号字段使用触发器执行插入操作(若插入的不记录存在,则将其插入,否则不能插入)使用标量函数统计员工是否被聘用使用表值函数返回员工工资大于1800元的员工的某些信息使用带参数的存储过程,当任意输入一个员工号时,显示该员工的员工号、姓名、奖惩
9、状态、奖惩名称;否则显示所有员工的员工号、姓名、奖惩状态、奖惩名称三、 开发环境实验室、计算机、Microsoft SQL Server 2005四、 详细设计及实现技术主管根据项目主管下达的设计任务和基本信息,制定数据库设计任务实施的技术方案,包括:1、 数据流程图2、 概念模型设计3、逻辑模型设计员工(员工号、姓名、性别、出生日期、身份证号、学历、所属部门、毕业学校、专业、健康情况、职称、电话、照片)部门(编号、名称、负责人、编制、电话)聘用(聘用号码、员工号、部门号、职务、工资、起聘日期、聘用期、在岗状态)奖惩记录(记录号、员工号、奖惩日期、奖惩状态、奖惩名称、备注)经过检查,此数据库的
10、详细逻辑设计满足第3范式的要求。人事管理系统中各表的属性设计情况如下表1:表名属性名数据类型长度允许空主键部门编号Char6No主键名称Char20Yes负责人Varchar20Yes编制Varchar10Yes电话Varchar11Yes员工员工号Char6Yes主键姓名VarChar10No学历VarChar10No性别Char2Yes出生日期DatetimeYes身份证号Char18Yes所属部门Char32Yes毕业学校VarChar20Yes专业VarChar20Yes健康情况VarChar20Yes职称VarChar10Yes电话VarChar11Yes照片VarChar50Yes
11、聘用号码Char6No主键聘用员工号Char6No部门号Char10No职务varchar12Yes起聘时间DatetimeYes工资VarChar10Yes聘用期Char20Yes在岗状态varchar18Yes记录号VarChar10No 主键 奖惩记录员工号char6No奖惩状态IntYse奖惩日期DatetimeYse奖惩名称varchar10Yse 备注VarChar30Yse 4、确定实施环境:计算机、Microsoft SQL Server 2005、实验室5、数据库功能模块划分:6、实现技术:触发器、视图、表值函数、标量函数等五、 总结在本次我们的系统的规划虽然已经完成,功能基
12、本实现了目标规划一些重要功能,但由于时间仓促,所以只满足了基本要求,并没有过多考虑到系统的技术含量。但我还是学到了很多数据库编写的知识,使我的代码编写能力得到提高,更加熟练地掌握了Microsoft SQL Server数据库。虽然我在团队只是绘制图表,但是我在测试中也学到了许多的知识。这使我对软件工程的知识有了更深刻的理解、更贴切的感受。整个课程设计过程使我在动手能力和团队合作上都有了很大的提高。使我对数据库有了更深的了解,希望在以后的学习中,数据库的运用可以对我有更大的帮助。六、参考文献1.JSP的SQLServer数据库访问技术 肖遥 2009 2.基于JSP的教务管理系统设计 史志国
13、20083.数据库原理及应用 钱雪忠主编 北京邮电大学出版社 2007,8 第二版4.SQL server 2000数据仓库与Analysis Services Bain T著 中国电力出版社 2003七、附录程序代码员工表的创建:use 人事信息管理系统gocreate table 员工表(员工号char(6) PRIMARY KEY,性别char(2),出生日期datetime,身份证号码char(18),学历varchar(10),毕业院校varchar(20),专业varchar(20),健康情况varchar(20),职称varchar(10),电话varchar(11),照片var
14、char(50)go-部门表的创建:use 人事信息管理系统gocreate table 部门表(编号 char(6) CONSTRAINT PK_xh PRIMARY KEY,名称 char(20),负责人 varchar(20),编制 varchar(10),电话 varchar(11)Go-聘用表的创建:use 人事信息管理系统gocreate table 聘用表(聘用号码char(6) PRIMARY KEY,员工号char(6),部门号char(10),职务varchar(12),工资varchar(10),起聘日期datetime,在岗状态varchar(18)Go-奖惩记录表的创
15、建:create table 奖惩记录表(记录号varchar(10),员工号char(6),奖惩日期datetime,奖惩状态int,奖惩名称varchar(10),备注varchar(30)使用触发器执行删除员工表中员工号字段,同时删除奖惩记录表中相同的员工号字段代码:use 人事信息管理系统gocreate trigger del_yghon 员工表for deleteasdelete 奖惩记录表where 员工号in (select 员工号from deleted) go执行语句delete 员工表where 员工号='001'go-使用触发器执行插入操作(若插入的不记
16、录存在,则将其插入,否则不能插入)代码:use 人事信息管理系统gocreate trigger ins_bhon 部门表for insertas if not exists(select *from 部门表join inserted on部门表.编号=inserted.编号)beginprint'不能插入重复键'Rollback transactionendelseprint'该条记录已成功插入'执行语句use 人事信息管理系统goinsert 部门表values('04', '4','组织部','刘涛&
17、#39;,'5','123654')设计3个以上的函数(包括标量函数、表值函数)实现数据的操纵-使用标量函数统计员工是否被聘用代码:use 人事信息管理系统gocreate function py_info(pinyong tinyint)returns varchar(8)begindeclare info varchar (8)if pinyong>=2012-1 set info='不聘用'else set info='聘用'return infoendgo执行语句use 人事信息管理系统goselect 员工表.姓名
18、,聘用表.在岗状态,奖惩记录表.奖惩名称,dbo.py_info(聘用号码) as 是否被聘用from 员工表,聘用表,奖惩记录表where 员工表.员工号=聘用表.员工号 and 员工表.员工号=奖惩记录表.员工号go -使用表值函数,根据参数员工号返回员工所有个人信息代码:Create function yg_table(yg_id varchar(12)returns tableasreturn(select 员工表.员工号,员工表.姓名,员工表.性别,员工表.出生日期,员工表.身份证号码,员工表.所属部门,员工表.学历,员工表.毕业院校,员工表.专业,员工表.健康情况,聘用表.职务,聘
19、用表.工资,聘用表.部门号,奖惩记录表.奖惩名称from 员工表,聘用表,奖惩记录表where 员工表.员工号=yg_id and 员工表.员工号=聘用表.员工号and 员工表.员工号=奖惩记录表.员工号)go执行过程select * from yg_table('003')-使用表值函数返回员工工资大于1800元的员工的某些信息代码:Create function yy_table(ygh_id varchar(12)returns gongzi table(员工号varchar(18),姓名varchar(8),职务varchar(30),工资varchar(20)asbe
20、gininsert gongziselect 员工表.员工号,员工表.姓名,聘用表.职务,聘用表.工资from 员工表,聘用表where 员工表.员工号=聘用表.员工号 and聘用表.工资>1800 and 聘用表.员工号=ygh_idreturnend执行语句select * from dbo.yy_table('002') -设计3个以上的存储过程实现数据的操纵存储过程:按员工号查询代码:use 人事信息管理系统gocreate procedure 按员工号查找asselect 员工表.员工号from 员工表,聘用表where 员工表.员工号=聘用表.员工号go执行语
21、句:use 人事信息管理系统goexecute 按员工号查找go-存储过程:按身份证号码查找代码:use 人事信息管理系统gocreate procedure 按身份证号码查找asselect 员工表.身份证号码from 员工表go执行语句:use 人事信息管理系统goexecute 按身份证号码查找go-存储过程:按部门名称查找代码:use 人事信息管理系统gocreate procedure 按名称查找asselect 部门表.名称from 部门表go执行语句:use 人事信息管理系统goexecute 按名称查找go-存储过程:按聘用号码查找代码:use 人事信息管理系统gocreate
22、 procedure 按聘用号码查找asselect 聘用表.聘用号码from 聘用表go执行过程:use 人事信息管理系统goexecute 按聘用号码查找go-使用带参数的存储过程,当任意输入一个员工号时,显示该员工的员工号、姓名、奖惩状态、奖惩名称;否则显示所有员工的员工号、姓名、奖惩状态、奖惩名称。代码:use 人事信息管理系统gocreate procedure yyygh varchar(12)='%'asselect 员工表.员工号,员工表.姓名,奖惩记录表.奖惩状态,奖惩记录表.奖惩名称from 员工表,奖惩记录表where 员工表.员工号=奖惩记录表.员工号a
23、nd 员工表.员工号like yghgo执行语句:exec yy '002'exec yy default-修改存储过程按员工号查找,使该存储过程返回员工表的姓名代码:use 人事信息管理系统goalter procedure dbo.按员工号查找asselect 员工表.姓名from 员工表,聘用表where 员工表.员工号=聘用表.员工号and 员工表.姓名='杨钱'go执行语句:use 人事信息管理系统goexecute dbo.按员工号查找go-删除存储过程代码:use 人事信息管理系统godrop procedure 按员工号查找go -构造2个以上的视图并在数据库的设计中加以运用。建立视图1:查询员工奖惩信息代码:create view view_1asSELECT TOP (100) PERCENT 员工号, 记录号, 奖惩日期, 奖惩状态, 奖惩名称FROM dbo.奖惩记录表ORDER BY 员工号Go执行语句:select*From View_1-在已创建的视图view_1里添加一条员工新纪录代码:use 人事信息管理系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年河北省石家庄市赵县达标名校初三月考试卷(三)生物试题含解析
- 北京市二中学教育集团2026年初三下学期二诊模拟化学试题含解析
- 2026届四川省什邡市城南校初三下学期期初模拟考试化学试题试卷含附加题含解析
- 2026年理疗馆新员工岗前培训与老带新师徒制实施指南
- 2026年机器人工作站搬运码垛编程案例详解
- 2026年改善型住房老人房儿童房分区设计与安全规范
- 如何通过先进的信息技术提高医疗物资的物流效率和安全性
- 从业多年的资深建筑师面试经验
- 高科技企业招聘问答详解
- 如何做好文献检索
- 2025年泰州职业技术学院单招职业技能测试题库附答案
- 2025中远海运财产保险自保有限公司高级管理人员招聘笔试历年典型考点题库附带答案详解
- 2026年杭州科技职业技术学院单招综合素质考试题库及答案详解一套
- 2026年长沙电力职业技术学院单招职业适应性测试题库及完整答案详解1套
- 2026年大庆医学高等专科学校单招职业技能考试题库及参考答案详解1套
- 青岛版小学科学四年级下册2课小球的运动
- 2025CSCO肿瘤治疗所致血小板减少症诊疗指南
- 高三化学必考知识点梳理
- 2025年新教材人教版二年级上册数学 第1课时 象形图的分类与整课件
- 2026年苏州信息职业技术学院单招职业适应性考试题库新版
- 2025浙江金华市东阳市部分机关事业单位招聘编外人74人员(二)笔试考试参考试题及答案解析
评论
0/150
提交评论