石河子大学信息技术学院数据库系统课程设计一,引言 (2)1.1 编写背景 (2)1.2 编写目标 (3)二,可行性分析 (3)三,需求分析 (4)3.1功能分析 (5)3.2 系统技术需求 (5)四,系统详细设计 (6)4.1,E-R图 (6)4.1.1员工实体E-R图 (6)4.1.2部门实体E-R图 (6)4.1.3职称实体E-R图 (7)4.1.5管理员实体E-R图 (7)4.1.6学历实体E-R图 (8)4.1.7奖惩实体E-R图 (8)4.1.8总体E-R图 (9)4.2将E-R图转换为关系模型 (9)4.3功能模块图 (10)4.3数据流图 (10)4.4数据库关系图 (12)五,物理结构设计 (12)六,数据库的实现 (13)6.1视图 (13)6.2 存储过程 (13)6.3 触发器 (14)七,代码设计 (17)八,实验总计 (22)参考文献: (23)一,引言1.1 编写背景随着经济节奏日益加快,数据信息日趋庞杂,文件袋、塑料夹等陈旧的档案管理方式已远远无法满足新世纪的档案、信息处理需求。
人力资源管理信息系统是一个企业不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以人力资源管理信息系统应该能够为用户提供充足的信息和快捷的查询手段。
作为计算机应用的一部分,使用计算机对员工工资信息及人事档案等进行管理,具有手工管理所无法比拟的优点。
例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高工资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
信息时代对人力资源管理提出了新的挑战, 把信息技术应用到人力资源管理中是改善人力资源管理模式,提高人力资源管理水平的有效手段, 建设高效便捷的人力资源管理信息系统成为现代高校人力资源管理的必要手段。
人才竞争的加剧, 对高校而言是挑战与机遇并存。
人力资源管理部门再不能是传统计划经济时代政策执行者的角色, 而是要在理解上级政策的同时转变为政策建议者。
制定政策不能通过臆想的方式, 而必须建立在对实际情况充分认识和分析的基础之上, 才能做出适合我们目标的科学有效的决策。
对现有学校各类人才队伍的分析,需要一个功能强大的平台, 这就是人力资源管理信息系统。
1.2 编写目标高校人力资源管理系统依据高校工作流程的理论,从高校管理工作的实际出发,为规范高校管理工作,而提供的一种科学、先进、高效、透明的现代化管理工具,将教师管理从大量繁杂的工作中拯救出来,改善高校管理现状。
以实现高校日常办公信息化、自动化为基础,提高办公效率、降低管理费用,同时将各级领导丰富的管理经验融入教师管理信息系统中,最终达到辅助管理与决策的目的。
二,可行性分析高校人力资源管理系统的业务流程就是一个人力资源的流动与发展的管理过程,它包括对人员流动的管理、对人员培训的管理、对人员激励的管理、对人员绩效的管理、对人员档案的管理。
(1)人员流动的管理。
人员的流人(包括大中专毕业生的分配、外单位的调入、子弟招工、军队转业和复员等)、人员的校内调动、人员的流出(包括调出、考学、退休、辞职、死亡等)。
(2)人员培训的管理。
包括教师的学历培养,国内访问学者的选拔、教师的进修。
(3)人员激励的管理。
包括物质上和精神上的激励。
物质上的指对人员工资和奖金的管理,精神上指对人员职称晋升的管理。
(4)人员绩效的管理。
包括人员的工作业绩考核、思想道德素质考核等。
(5)人员档案的管理。
包括对人员的各类信息的计算机存储和对原始档案的保管。
三,需求分析90年代中期,由于Internet 的迅速普及,使Intranet成为Internet技术在企业管理信息系统中的应用和延伸,形成了集计算机,计算机网络、数据库、分布式计算等于一体的信息技术综合体,它打破了时间和地域的界限,使信息交流变得快捷、准确,为建立现代企业管理信息系统提供了充足的条件。
高校资源管理系统在此基础上延伸、扩展,使之上下、内外全面贯通。
高校人力资源管理系统是在适应市场需求的客观前提下,为了满足各高校管理自己学校所在的教职员信息而开发的。
该系统的是终目的是要将各位职员的信息放到网络上,以方便管理。
系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。
该系统具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。
3.1功能分析根据分析,该管理系统必须具备如下几个功能:1.能够记录教职工各种基本资料;员工各种信息的输入,包括员工的基本信息,学历信息,婚姻状况信息,职称等2.系统使用者能够查询信息,能进行对各员工各种信息的修改以及对于转出,辞退,退休员工的信息删除;3.按照一定的条件,查询、统计符合条件的员工信息;至少应该包括每个员工详细信息的查询、按婚姻状况查询、按学历查询、按工作岗位查询等,至少应该包括按学历、婚姻状况、岗位、参加工作时间等统计各自的员工信息;4.保障数据库安全,优化数据库,,可以在程序中实现数据库备份和恢复。
5.界面的友好性。
6.对查询、统计的结果打印输出。
3.2 系统技术需求稳定性:本系统为高校人力资源管理系统,多为查询、修改、删除、添加数据等操作,要求数据的稳定性好。
可靠性:用户高校数据查询多比较重要,要求系统具有数据备份,数据恢复等性能。
安全性:系统设计教师资料的保存与备份,要求系统提供加密保存等安全措施,即要求系统有较高的安全性能。
四,系统详细设计4.1,E-R图4.1.1员工实体E-R图4.1.2部门实体E-R图4.1.4家庭实体E-R图4.1.5管理员实体E-R图4.1.7奖惩实体E-R图4.1.8总体E-R图4.2将E-R图转换为关系模型(1)员工基本信息表(员工编号、员工姓名、性别、籍贯、年龄、民族、政治面貌、家庭住址、血型、联系电话、部门编号、出生日期,权限)主键:员工编号外键:部门编号(2)部门信息表(部门编号、部门名称、部门人数)主键:部门编号(3)职称信息表(职称编号、职称名称、工资)主键:职称编号(4)家庭信息表(家庭成员,年龄,关系,职业)(5)学历信息表(毕业证书编号,专业、毕业时间、毕业院校)主键:毕业证书编号(6)管理员信息表(管理员编号,管理员姓名,密码)主键:管理员编号(7)奖惩信息表(奖惩编号、奖罚时间、奖罚原因、奖罚地点、备注)主键:奖惩编号4.3功能模块图4.3数据流图0层数据流图1层数据流图4.4数据库关系图五,物理结构设计数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等)的特点,为给定的数据库系统确定合理的存储结构和存取方法。
所谓的“合理”主要有两个含义:一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。
主要体现在索引和蔟集的设置。
确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。
将日志文件和数据库对象(表、索引等)分别放在不同的磁盘,可以改进系统的性能,提高系统的安全性。
所以,系统应将日志文件和数据文件存放在不同磁盘上。
六,数据库的实现6.1视图视图是一个虚拟表,其内容由查询定义。
同真实的表一样,视图包含一系列带有名称的列和行数据。
但是,视图并不在数据库中以存储的数据值集形式存在。
行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。
对其中所引用的基础表来说,视图的作用类似于筛选。
定义视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它视图。
分布式查询也可用于定义使用多个异类源数据的视图。
6.2 存储过程存储过程就是将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来, 那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令。
存储过程的优点:(1).存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。
(2).当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。
(3).存储过程可以重复使用,可减少数据库开发人员的工作量(4).安全性高,可设定只有某此用户才具有对指定存储过程的使用权。
6.3 触发器触发器是一种特殊类型的存储过程,它不同于我们前面介绍过的存储过程。
触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名字而被直接调用。
当对某一表进行诸如Update、 Insert、 Delete 这些操作时,SQL Server 就会自动执行触发器所定义的SQL 语句,从而确保对数据的处理必须符合由这些SQL 语句所定义的规则。
触发器的主要作用就是其能够实现由主键和外键所不能保证的复杂的参照完整性和数据的一致性。
除此之外,触发器还有其它许多不同的功能:(1) 强化约束(Enforce restriction)触发器能够实现比CHECK 语句更为复杂的约束。
(2) 跟踪变化Auditing changes触发器可以侦测数据库内的操作,从而不允许数据库中未经许可的指定更新和变化。
(3) 级联运行(Cascaded operation)。
触发器可以侦测数据库内的操作,并自动地级联影响整个数据库的各项内容。
例如,某个表上的触发器中包含有对另外一个表的数据操作(如删除,更新,插入)而该操作又导致该表上触发器被触发。
(4) 存储过程的调用(Stored procedure invocation)。
在物理结构中,数据的基本存取单位是存储记录。
有了逻辑结构以后,就可以设计存储记录结构,一个存储记录可以与多个逻辑记录相对应。
存储记录就包括记录的组成,数据项的类型和长度等。
6.4创建表如下图图一员工信息表 Yuangong图二部门信息表 bumen图四家庭信息表jiating图五管理员信息表gunaliyuan图七奖惩信息表jiangcheng图八综合信息表zonghe七,代码设计7.1,创建存储过程查询学校各部门各种职称的教职工数量use renligoif object_id('pro_1','p')is not nulldrop procedure pro_1gocreate procedure pro_1 @zhichengmingcheng varchar(20)asbegin select count(*)as人数from bumen,zhicheng,zonghewhere bumen.bumenbianhao=zonghe.bumenbianhaoand zhicheng.zhichengbianhao=zonghe.zhichengbianhaogroup by zhichengmingchengendgo7.2,创建触发器当增加、删除教职工和修改教职工部门信息时自动修改相应部门的职工人数;7.2.1 创建触发器tri_2向员工信息表插入一条记录时,该员工所在的部门人数加1.use renligoif object_id('tri_2','tr')is not nulldrop trigger tri_2gocreate trigger tri_2 on yuangongas beginupdate bumenset bumenrenshu=bumenrenshu+1where bumenbianhao in(select bumenbianhao from inserted)end7.2.2触发器tri_3:删除员工记录时,该员工所在部门人数减1.use renligoif object_id('tri_3','tr')is not nulldrop trigger tri_3gocreate trigger tri_3 on yuangongfor deleteas beginupdate bumenset bumenrenshu=bumenrenshu-1where bumenbianhao in(select bumenbianhao from deleted)end7.2.3 触发器tri_4:要求员工信息表中的员工编号被修改时,综合信息表中的员工编号也被修改。