当前位置:文档之家› 学校人力资源管理系统

学校人力资源管理系统

数据库原理及应用课程设计设计报告题目:学校人力资源管理系统学号: *************: ***指导教师:***提交时间: 20150105目录第1章需求分析 (1)1.1 需求调查 (1)1.2 系统功能分析 (1)第2章面向对象分析和设计 (2)第3章逻辑结构设计 (3)3.1局部E-R图 (3)3.2 类和对象向关系模式转换 (4)第4章数据库物理结构设计 (4)4.1 存取方法设计 (4)4.2 存储结构设计 (5)4.3 物理设计 (5)第5章数据库完整性设计 (11)5.1 主键 (11)5.2 参照完整性设计 (11)5.3 Check约束 (12)5.4触发器设计 (12)第7章数据库存储过程设计 (13)创建存储过程 (13)总结 (14)参考文献: (14)学校人力资源管理系统第1章需求分析1.1 需求调查通过对各个用户的调查,该学校人力资源管理系统有如下需求:1)家庭管理:实现学校教职工家庭信息管理包括父母,子女等信息。

2)学历管理:实现学校教职工学历信息管理,包括教职工从小学到大学的学校情况。

3)基本信息:实现显示教职工基本信息及邮箱信息的记录。

4)奖惩管理:实现在教职工奖惩情况记录。

5)部门管理:包含最基本的部门名、部门总人数信息。

1.2 系统功能分析1)家庭管理:用于记录和管理职工的父母子女等亲属的名字。

2)学历管理:用于记录教职工从小到大所在学校的名称。

3)个人基本管理:用于记录职工的姓名性别工号出生年月电子邮件职称号等信息。

4)奖惩管理:用于记录职工奖惩情况。

5)部门管理:对各部门和人数进行管理。

第2章面向对象分析和设计类和对象设计如下:第3章逻辑结构设计3.1局部E-R图图3-1图3-2 图3-3图3-4图3-53.2 类和对象向关系模式转换个人基本信息(姓名、工号、性别、出生年份、电子邮件、职称号、所属部门)职称(姓名、职称号、人数)部门(人数、部门名)家庭关系(工号、姓名、父、母、妻(夫)、子女1、子女2、子女3)学历信息(姓名、工号、小学、初中、高中、本科、研究生、博士)奖惩(姓名、工号、奖励、惩罚、日期)第4章数据库物理结构设计4.1存取方法设计数据库系统是多用户共享的系统,对同一个关系要建立多条存储路径才能满足多用户的多种应用要求。

对于教务管理系统来说,为了提高某些属性(如:学生学号,教职工号,课程号,学生成绩,选课信息等)的查询速度,可以选择聚簇存取的方法,即把这些属性上具有相同值的元组集中放在连续的物理块上。

这样在查询某个学院或是查询某个专业或某学年等的学生成绩或选课等时就会大大提高查询速度。

因此,该系统中选择聚簇存取方法。

4.2 存储结构设计教务管理系统是一个大型复杂的计算机网络信息系统,采用基于浏览器/服务器(B/S),客户端/服务器(C/S)混合的应用体系结构来建设教务管理系统。

数据库管理系统采用Microsoft 公司推出的SQL Server 2000 或以上版本,并用SQL进行数据库的建立和数据库中数据的维护和查询。

4.3 物理设计实现该设计的环境为Windows XP Professional + MS SQL Server 2005 或以上版本。

1、建立学校人力资源管理系统数据库create database 学校人力资源管理系统on primary (name=学校人力资源管理系统,filename='d:\学校人力资源管理\学校人力资源管理系统数据文件.mdf',size=5, maxsize=10, filegrowth=1)log on (name=学校人力资源管理日志文件,filename='d:\学校人力资源管理\学校人力资源管理日志文件.ldf',size=3, maxsize=10, filegrowth=1)2、建立个人基本信息表USE [学校人力资源管理系统]GO/****** Object: Table [dbo].[个人基本信息] Script Date: 01/03/2015 20:32:39 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE TABLE [dbo].[个人基本信息]([姓名] [char](10) NULL,[工号] [char](10) NOT NULL,[性别] [char](10) NULL,[出生年份] [char](10) NULL,[电子邮件] [char](50) NULL,[职称号] [char](10) NULL,[所属部门] [char](10) NULL,CONSTRAINT [PK_个人基本信息] PRIMARY KEY CLUSTERED([工号] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]GOSET ANSI_PADDING OFFGOALTER TABLE [dbo].[个人基本信息] WITH NOCHECK ADD CONSTRAINT [FK_个人基本信息_部门] FOREIGN KEY([所属部门])REFERENCES [dbo].[部门] ([部门名])GOALTER TABLE [dbo].[个人基本信息] NOCHECK CONSTRAINT [FK_个人基本信息_部门]GOALTER TABLE [dbo].[个人基本信息] WITH NOCHECK ADD CONSTRAINT [FK_个人基本信息_职称1] FOREIGN KEY([职称号])REFERENCES [dbo].[职称1] ([职称号])GOALTER TABLE [dbo].[个人基本信息] NOCHECK CONSTRAINT [FK_个人基本信息_职称1]GO3、建立家庭关系表USE [学校人力资源管理系统]GO/****** Object: Table [dbo].[家庭关系] Script Date: 01/03/2015 20:30:35 ******/ SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE TABLE [dbo].[家庭关系]([工号] [char](10) NULL,[姓名] [char](10) NULL,[妻(夫)] [char](10) NULL,[父] [char](10) NULL,[母] [char](10) NULL,[子女1] [char](10) NULL,[子女2] [char](10) NULL,[子女3] [char](10) NULL) ON [PRIMARY]GOSET ANSI_PADDING OFFGOALTER TABLE [dbo].[家庭关系] WITH CHECK ADD CONSTRAINT [FK_家庭关系_个人基本信息] FOREIGN KEY([工号])REFERENCES [dbo].[个人基本信息] ([工号])GOALTER TABLE [dbo].[家庭关系] CHECK CONSTRAINT [FK_家庭关系_个人基本信息] GO4、建立学历信息表USE [学校人力资源管理系统]GO/****** Object: Table [dbo].[学历信息] Script Date: 01/03/2015 20:28:28 ******/ SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE TABLE [dbo].[学历信息]([工号] [char](10) NULL,[姓名] [char](10) NULL,[小学] [nchar](20) NULL,[初中] [nchar](20) NULL,[高中] [nchar](20) NULL,[本科] [nchar](20) NULL,[研究生] [nchar](20) NULL,[博士] [nchar](20) NULL) ON [PRIMARY]GOSET ANSI_PADDING OFFGOALTER TABLE [dbo].[学历信息] WITH NOCHECK ADD CONSTRAINT [FK_学历信息_个人基本信息] FOREIGN KEY([工号])REFERENCES [dbo].[个人基本信息] ([工号])GOALTER TABLE [dbo].[学历信息] CHECK CONSTRAINT [FK_学历信息_个人基本信息] 5、GO建立奖惩信息表USE [学校人力资源管理系统]GO/****** Object: Table [dbo].[奖惩] Script Date: 01/03/2015 20:27:38 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE TABLE [dbo].[奖惩]([姓名] [char](10) NULL,[工号] [char](10) NULL,[奖励] [nchar](50) NULL,[惩罚] [nchar](50) NULL,[日期] [nchar](10) NULL) ON [PRIMARY]GOSET ANSI_PADDING OFFGOALTER TABLE [dbo].[奖惩] WITH NOCHECK ADD CONSTRAINT [FK_奖惩_个人基本信息] FOREIGN KEY([工号])REFERENCES [dbo].[个人基本信息] ([工号])GOALTER TABLE [dbo].[奖惩] CHECK CONSTRAINT [FK_奖惩_个人基本信息]GO6、建立职称信息表SET ANSI_NULLS ONGOUSE [学校人力资源管理系统]GO/****** Object: Table [dbo].[职称1] Script Date: 01/03/2015 20:24:24 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE TABLE [dbo].[职称1]([职称号] [char](10) NOT NULL,[职称名] [char](10) NULL,[人数] [char](10) NULL,CONSTRAINT [PK_职称1] PRIMARY KEY CLUSTERED([职称号] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]GOSET ANSI_PADDING OFFGO7、建立部门表USE [学校人力资源管理系统]GO/****** Object: Table [dbo].[部门] Script Date: 01/03/2015 20:25:29 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE TABLE [dbo].[部门]([部门名] [char](10) NOT NULL,[人数] [int] NULL,CONSTRAINT [PK_部门] PRIMARY KEY CLUSTERED([部门名] ASC)WITH (PAD_INDEX = OFF, STA TISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]GOSET ANSI_PADDING OFF第5章数据库完整性设计5.1 主键5.2参照完整性设计1、个人基本信息表中把职称号和所属部门设为外键ALTER TABLE [dbo].[个人基本信息] WITH NOCHECK ADD CONSTRAINT [FK_个人基本信息_部门] FOREIGN KEY([所属部门])REFERENCES [dbo].[部门] ([部门名])GOALTER TABLE [dbo].[个人基本信息] NOCHECK CONSTRAINT [FK_个人基本信息_部门]GOALTER TABLE [dbo].[个人基本信息] WITH NOCHECK ADD CONSTRAINT [FK_个人基本信息_职称1] FOREIGN KEY([职称号])REFERENCES [dbo].[职称1] ([职称号])GOALTER TABLE [dbo].[个人基本信息] NOCHECK CONSTRAINT [FK_个人基本信息_职称1] GO2、家庭关系中工号设计为外键ALTER TABLE [dbo].[家庭关系] WITH CHECK ADD CONSTRAINT [FK_家庭关系_个人基本信息] FOREIGN KEY([工号])REFERENCES [dbo].[个人基本信息] ([工号])GOALTER TABLE [dbo].[家庭关系] CHECK CONSTRAINT [FK_家庭关系_个人基本信息]GO3、奖惩表中工号为外键ALTER TABLE [dbo].[家庭关系] WITH CHECK ADD CONSTRAINT [FK_家庭关系_个人基本信息] FOREIGN KEY([工号])REFERENCES [dbo].[个人基本信息] ([工号])GOALTER TABLE [dbo].[家庭关系] CHECK CONSTRAINT [FK_家庭关系_个人基本信息]GO4、学历信息中工号设计为外键ALTER TABLE [dbo].[学历信息] WITH NOCHECK ADD CONSTRAINT [FK_学历信息_个人基本信息] FOREIGN KEY([工号])REFERENCES [dbo].[个人基本信息] ([工号])GOALTER TABLE [dbo].[学历信息] CHECK CONSTRAINT [FK_学历信息_个人基本信息]GO5.3 Check约束1、个人基本信息表中将性别进行check约束:check (性别in ('男','女'))5.4触发器设计1、在个人信息表中建立删除职工信息触发器USE [学校人力资源管理系统]GOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE trigger [dbo].[人数减少]on [dbo].[个人基本信息]for deleteASbegindeclare @a char(50)select @a=deleted.所属部门 from deletedupdate 部门set 部门.人数=部门.人数-1where @a=部门.部门名endGO2、在个人信息表中建立增加教职工触发器USE [学校人力资源管理系统]GOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOcreate trigger [dbo].[人数增加]on [dbo].[个人基本信息]for insertASbegindeclare @a char(50)select @a=inserted.所属部门 from insertedupdate 部门set 部门.人数=部门.人数+1where @a=部门.部门名+-- left(@a,3)=班级.班级号endGO第7章数据库存储过程设计创建存储过程1.查询学校各部门各种职称的教职工数量USE [学校人力资源管理系统]GOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE procedure [dbo].[查询部门人数]@a char (50)asselect 部门名,人数from 部门where 部门.部门名= @aGO总结理论联系实际才能做好一件事,学习一门课程同样是这样。

相关主题