《数据库原理与技术课程设计》设计报告
姓名: *** 学号: ************ 班级: 计算机科学与技术2班 题目: 高校教师信息管理系统
1
目录
1 2
概述 需求分析
----------------------------------------------------------------------------------------3 ----------------------------------------------------------------------------------------3 ----------------------------------------------------------------------------------------3
2.1 需求分析
2.2 系统功能结----------------------------------------------------------------------------------------4 2.2.1 功能 ---------------------------------------------------------------------------------4 2.2.2系统功能模图 ----------------------------------------------------------------------------------5 2.2.3 程序流程图 ----------------------------------------------------------------------------------5 2.3 数据流图 3
----------------------------------------------------------------------------------6
概念结构图 --------------------------------------------------------------------------------------7
3.1 全局E-R图 ---------------------------------------------------------------------------------7 4逻辑结构设计 --------------------------------------------------------------------------------------8 4.1逻辑结构设计 ------------------------------------------------------------------------------------8 4.1.1将E-R图转换为关系模型 --------------------------------------------------------------8 4.1.2 数据项
-----------------------------------------------------------------------------------9
4.2 数据字典- -----------------------------------------------------------------------------------------10 5
SQL脚本
--------------------------------------------------------------------------------------11 --------------------------------------------------------------------------------------14
6 学习总结
2
1.概述
由于Internet 的迅速普及,使Intranet成为Internet技术在企业管理信息系统中的应用和延伸,形成了集计算机,计算机网络、数据库、分布式计算等于一体的信息技术综合体,它打破了时间和地域的界限,使信息交流变得快捷、准确,为建立现代企业管理信息系统提供了充足的条件。高校教职工管理系统在此基础上延伸、扩展,使之上下、内外全面贯通。高教教职工管理系统是在适应市场需求的客观前提下,为了满足各高校管理自己学校所在的教职员信息而开发的。该系统的是终目的是要将各位职员的信息放到网络上,以方便管理。为了将教师的信息更好的管理,提高工作效率,同时避免人工管理的错误,所以制作了教师信息管理系统。本系统分为:教师信息录入,教师信息修改,教师信息查询,教师信息打印以及教师账号管理几个功能模块。总的来说能够满足学校对于教师基本信息的管理。
系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。该系统具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。
2.需求分析 2.1 需求分析
本文针对高校教师业务档案信息系统的设计和实现进行了初步研究,描述了整个系统的各个功能模块以及相互之间的逻辑关系,并重点对师资队伍统计管理模块、教师信息管理模块进行了详细设计与实现。 为了将教师的信息更好的管理,提高工作效率,同时避免人
3
工管理的错误,所以制作了教师信息管理系统。本系统分为:教师信息录入,教师信息修改,教师信息查询,教师信息打印以及教师账号管理几个功能模块。总的来说能够满足学校对于教师基本信息的管理。
数据库需求分析调查的重点是“数据”和“处理”,通过调查、收集和分析,获得用户对数据库的需求。
信息需求:指用户需要从数据库中获得信息的内容与性质,即在数据库中需要存储哪些数据。
处理要求:指用户需要完成什么处理能力。明确用户对数据有什么样的处理要求从而明确数据之间的关系。
该系统的功能集中表现为对教师信息的录入、更新、删除、查询、统计,因此需求集中表现为对“数据”的需求。概念结构设计是将分析得到的用户需求抽象为概念模型的过程,它是整个数据库设计的关键。该数据库的主要功能特点是:
(1)可以存储历届的教师档案,管理更为安全、高效;
(2)只需一到二名信息管理员即可操作系统,节省大量人力; (3)可以迅速查询及修改所需信息;
(4)友好的界面操作,能保证系统的易用性和方便性。
(5)对系统的安全性管理,包括用户的添加以及密码的修改。
2.2 系统功能结构
2.2.1系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改等操作。系统功能分析是在系统开发的总体任务的基础上完成。本教师信息管理系统需要完成的功能 为: 一般教师用户登陆后的界面包括用户修改、查询信息、帐号管理三个模块。
◆ 用户修改模块:包括姓名、性别、出生年月、入校时间、身份证号码、电子邮箱、所学专业等设置。
◆ 查询信息模块:包括输入关键词、按姓名来查询的设置。
4
◆ 帐号管理模块;包括输入用户名、新密码、确认密码设置。
2.2.2系统功能模块图 高校教师信息管理系统 教教教教教师师师师 师信信信账 信息息息号 息修查打管 录改 询 印 理 入 2.2.3主要模块程序流程图
登录 验证 退出 验证合法性 退出 管理员 普通用户 数据修改,添加,删除等
管理员界面 普通用户界面 运行软件 根据用户权限可用功能不同 5
2.3 数据流图 D2 用户密码 设置密码 2.1 1 密码 教师 系统设置 系统登录 管理 管理员 反馈信息 数据 设置 2.3 数据 2.2.1 维护 教研室 设置 D3 数据信息 2.2.5 2.2.4 打印 档案 信息报表 报表 统计
6
2.1.1 用户设置 更新 信息 D1 系统信息 2.2.2 档案录入、修 改、删除 更新 信息 2.2.3 档案 查询、浏览 查询信 息条件 D3 档案信息
3.概念结构设计 3.1局部E-R图
编号 奖金 福利 备注 编姓名 性别 职务 学历 人数 号 工资 部门 实发 工资 基本 工资 计算方法 受到 时间 备注 出生 日期 联系方式时婚姻状态 编号 原因 地点 获得 属于 编号 名称 教师 奖罚
7
3.2全局E-R图 教师 获得 工资 4.逻辑结构设计 4.1 逻辑结构设计
部门 属于 受到 奖罚 4.1.1将E-R图转换为关系模型:
教师信息(员工编号,员工姓名,年龄,性别,出生年月,婚姻状态,政治面貌,学历,部门编号,职务,联系方式,备注) 主键:员工编号; 外码:部门编号;
部门信息(部门编号,部门名称,部门人数) 主键:部门编号;
奖惩信息(奖惩编号,员工编号,奖罚时间,奖罚原因,奖罚地点,备注) 主键:奖惩编号, 外码:员工编号;
薪资信息(薪资编号,员工编号,基本工资,福利,奖金,计算方法,实发工资,发放日期), 主键:薪资编号; 外码:员工编号
4.1.2数据项
教师表
8
列名 教师编号 姓名 性别 出生年月 婚姻状态 政治面貌 学历 部门编号 联系方式 电子邮箱 说明 教师ID 员工姓名 员工性别 出生年月 婚姻 政治面貌 学历 属于部门表 电话 qq邮箱 类型 int varchar char Datetime varchar varchar varchar Int varchar varchar 备注 作为主键,不能为空 Check约束‘男’‘女’ Check约束 Check约束‘团员’‘党员’ 部门表 列名 部门编号 部门名称 部门人数 说明 部门编号 名称 人数 类型 int varchar Int 备注 作为主键,不能为空 薪资表 列名 薪资编号 教师编号 基本工资 福利 奖金 计算方法 实发工资 发放日期
说明 薪资号 属于教师表 基本工资 福利 奖金 计算方法 实发工资 发放日期 9
类型 int Int Int Int Int varchar Int Datetime 备注 作为主键,不能为空 外键连接到教师表
奖惩表 列名 奖惩编号 教师编号 奖惩时间 奖惩原因 奖惩地点 备注 说明 奖惩号 属于教师表 奖惩时间 奖惩原因 奖惩地点 备注 类型 int Int Datetime Varchar Varchar varchar 备注 作为主键,不能为空 外键连接到教师表
名字:基本信息表 别名: 描述:每一位教师的基本信息记录表 定义:基本信息表=编号+姓名+性别+生日+籍贯+档案号+身份证+联系电话+政治面目+住址+ 任课+备注 位置:输出到查询窗口 名字:学历职称表 别名: 描述:每一位教师的学历职称的记录表 定义:学历职称表=编号+姓名+学历+毕业学校+专业+现 任职务+职称 位置:输出到查询窗口
10
4.2 数据字典
名字:学历职称表 别名: 描述:每一位教师的学历职称的记录表 定义:学历职称表=编号+姓名+学历+毕业学校+专业+现任职务+职称 位置:输出到查询窗口
名字:学历职称表 别名: 描述:每一位教师的学历职称的记录表 定义:学历职称表=编号+姓名+学历+毕业学校+专业+现任职务+职称 位置:输出到查询窗口
5.数据库实现
1、创建高校教职工管理数据库:
CREATE DATABASE 高校教师信息管理系统 ON
( NAME=高校教师信息管理系统DAT,
FILENAME='D:\\SQL\\高校教师信息管理系统DAT.MDF', SIZE=5, MAXSIZE=20, FILEGROWTH=2 ) LOG ON
( NAME=高校教师信息管理系统LOG,
FILENAME='D:\\SQL\\高校教师信息管理系统LOG.LDF', SIZE=5, MAXSIZE=20, FILEGROWTH=2 )
--------------------------------------------------------
2、创建备份文件
11
BACKUP DATABASE 高校教师信息管理系统
TO disk = 'D:\\SQL\\高校教师信息管理系统backup1.dat' WITH FORMAT
--------------------------------------------------------------------
3、创建表
CREATE TABLE 部门信息表 (
部门编号 INT PRIMARY KEY,
部门名称 VARCHAR(20) UNIQUE NOT NULL, 部门人数 INT CHECK(部门人数>=0) NOT NULL, )
------------------------------------------- CREATE TABLE 员工信息表 (
教师编号 INT NOT NULL PRIMARY KEY, 姓名 VARCHAR(20) NOT NULL, 年龄 INT CHECK(年龄>=1) NOT NULL,
性别 VARCHAR(2) CHECK(性别 IN ('男','女')) NOT NULL, 出生年月 Datetime NOT NULL,
婚姻状态 VARCHAR(4) CHECK(婚姻状态 IN ('已婚','未婚')) NOT NULL, 政治面貌 VARCHAR(4) CHECK(政治面貌 IN ('无','团员','党员')) NOT NULL, 学历 VARCHAR(20) NOT NULL, 部门编号 INT NOT NULL, 职务 VARCHAR(20) NOT NULL,
联系方式 VARCHAR(11) UNIQUE NOT NULL, 备注 VARCHAR(500),
FOREIGN KEY (部门编号) REFERENCES 部门信息表(部门编号) )
--------------------------------------------------------- CREATE TABLE 薪资信息表 (
薪资编号 INT PRIMARY KEY, 教师编号 INT NOT NULL,
基本工资 INT CHECK(基本工资>=0) NOT NULL, 福利 INT CHECK(福利>=0) NOT NULL, 奖金 INT CHECK(奖金>=0) NOT NULL, 计算方法 VARCHAR(50) NOT NULL, 实发工资 INT CHECK(实发工资>=0), 发放日期 Datetime NOT NULL,
FOREIGN KEY(员工编号) REFERENCES 员工信息表(员工编号) )
---------------------------------------------------------- CREATE TABLE 奖惩信息表
12
(
奖惩编号 INT PRIMARY KEY, 教师编号 INT NOT NULL, 奖罚时间 Datetime NOT NULL, 奖罚原因 VARCHAR(100) NOT NULL, 奖罚地点 VARCHAR(20) NOT NULL, 备注 VARCHAR(500),
FOREIGN KEY(员工编号) REFERENCES 员工信息表(员工编号) )
--------------------------------------------------------------- 4、创建规则使得教师的E-Mail必须符合电子邮箱的格式;
create rule r_email as @email like '%@qq.com'
go
exec sp_bindrule 'r_email','教师信息表.电子邮箱'
---------------------------------------------------------------
5、创建视图: --视图员工基本信息:
CREATE VIEW 教师基本信息(教师姓名,部门名称,职务,联系方式,薪资) AS SELECT 姓名,部门名称,职务,联系方式,实发工资 FROM 教师信息表 ,部门信息表,薪资信息表 WHERE 教师信息表.部门编号=部门信息表.部门编号
AND 教师信息表.教师编号=薪资信息表.教师编号
----------------------------------------------------- --视图:各部门信息
CREATE VIEW 部门信息(部门编号,部门名称,员工编号,员工名字) AS SELECT 部门信息表.部门编号,部门名称,教师编号,姓名 FROM 教师信息表 ,部门信息表
WHERE 教师信息表 .部门编号=部门信息表.部门编号
AND 教师信息表 .职务='班主任'
--------------------------------------------------------------
5、创建存储过程
--存储过程 部门对应人数: 统计各部门的人数 CREATE PROCEDURE 部门对应人数 @部门号 INT AS
SELECT 部门编号,部门人数 FROM 部门信息表 WHERE 部门编号=@部门号
--存储过程LOOKREWARDS:根据教师提交的教师编号和奖罚时间,查看该教师的奖罚信息, --
包括教师编号,姓名,奖罚原因,奖罚时间。
13
CREATE PROCEDURE LOOKREWARDS @ID INT,@TIME Datetime AS
SELECT 教师信息表 .教师编号,姓名,奖罚原因 ,奖罚时间 FROM 教师信息表 ,奖惩信息表
WHERE 教师信息表.教师编号=奖惩信息表 .教师编号
AND 教师信息表.教师编号=@ID AND 奖罚时间 =@TIME
--------------------------------------------------------------------- --6、创建触发器
触发器departid:要求实现修改教师所在部门时自动修改相应部门的教师人数 CREATE TRIGGER departid ON 教师信息表 FOR UPDATE AS BEGIN
IF(UPDATE(部门编号))
UPDATE 部门信息表
SET 部门信息表.部门人数=(SELECT 部门编号 FROM inserted) WHERE 部门信息表.部门人数=(SELECT 部门编号 FROM inserted) END
--------------------------------------------------------------- --7、参照完整性
Alter table 教师信息表
Add constraint fk_jiaoshi_bumen
Foreign key (部门编号) references 部门信息表(部门编号)
Alter table 薪资信息表
Add constraint fk_jiaoshi_xinzi
Foreign key (教师编号) references 教师信息表(教师编号)
Alter table 奖惩信息表
Add constraint fk_jiaoshi_jiangcheng
Foreign key (教师编号) references 教师信息表(教师编号)
---------------------------------------------------------------
6.结束语(结论)
通过数据库课程设计让我把学到的课本知识用到实践中,充分运用所学数据库,培养了我们实践动手能力和理论联系实际能力,通过这次课程设计,我进行了有目的的调查研究,运用所学知识,分析和
14
解决实际问题,以获得有关的实际知识和技能,从而为我们走向社会奠定初步基础。
在本管理系统的设计过程中,遇到了不少的难题。其中有一些是因为自己以前光学课本,缺少一些实践和动手能力引起的,比如说画系统功能分析图的时候,由于以前没用过这个组织结构图,所以碰到了一些障碍。不过最后经过同学的帮助终于解决了此问题。在完成过程中,首先遇到的就是数据库的建立问题。怎样合理地建表,设定几个字段名称,数据类型以及其他属性需要根据运行功能不断修改完善。第二个问题时由于时间的仓促,很多信息的输入没有做好有效字符的限定设置,就显得没有那么地正规。
本次数据库课程设计让我弥补了许多以前的不足和知识遗漏点,并对已经掌握的知识点进一步实践了一次。
15
因篇幅问题不能全部显示,请点此查看更多更全内容