1、在这些工作完成之后,就可以建立数据库并开始调试运行了,在数据库的运行过程中必须对其进行维护包括数据库的备份与恢复、性能分析与改进等等。关键字:概念结构:逻辑结构;需求分析;关系模式;数据字典;物理实现;系统设计;数据库系统第一章 绪论背景分析传统意义上的教师管理均采用手工书写的方式来完成,需要通过大量的人工操作来进行。工作人员以纸、笔为处理工具,完全靠手工操作来记录、查询各种信息,不仅劳动强度较大、效率低,而且容易出错、数据不便更改,造成人力和财力资源的浪费。随着社会的发展,计算机应用的日益普及,通过现代化的方式对教师信息进行管理已成为可能。基于此,我希望能通过开发这一管理系统,由计算机代替人
2、工执行一系列诸如教师信息输入、修改、查询、统计等操作,减轻工作人员的工作强度,提高工作效率,降低学校运行成本;同时,也对教师的科学化、规范化管理做出一点尝试。 开发设计思想本系统开发设计思想:(1)尽量采用学校现有软硬件环境,及先进的管理系统开发方案, 从从而达到充分利用学校现有资源, 提高系统开发水平和应用效果的目的。(2)系统采用模块化程序设计方法,既便于系统功能的各种组合和修改。(3)系统应具备数据库维护功能,及时根据用户需求进行数据的查询、添加、删除、修改等操作。系统功能分析根据本教师管理系统主要是为了满足学校的需求而设计,注重操作简单易用、功能简洁但够用的特点,拟定系统应当具有如下功
3、能:(1)教师基本信息数据的输入:操作人员可以在本系统中建立教师编号、教师姓名、性别、学历、职称、出生年月、地址等信息,作为教师查询的依据之一;(2)教师基本信息数据的修改、删除:学校中的教师人数和人员,包括职称、工资都会随着时间的迁移而发生变化。因此,在系统中设置了增加记录、修改记录、删除记录等操作,教师管理人员可以随时对教师基本信息进行更新和修改;第二章 需求分析随着中国高等教育的发展,学校的规模不断地扩大,教师数量也越来越多。学校各系别的教师基本信息,授课信息及其他相关信息的信息处理量日益增大,手工管理不经成本高昂,容易出错,产生不必要的麻烦。为了能够快速、方便地显示结果,并且有效的对有
4、关教师授课、课程信息的各种信息进行统计与管理,我们设计了教师管理系统。这个系统可以方便了学校对教师管理,降低了管理成本,是一个简洁而又高效的系统。根据需求分析,本系统要实现以下基本功能:教师授课课程基本信息实现了教师基本信息的添加、删除、修改以及查询。教师学院信息表是对教师授课信息的添加、删除、修改以及查询,是对教师与学院关系信息的维护: 功能要求1、管理员能对教师有关的各类数据进行输入、更新、添加、删除与查询,并且可以增加新的用户。2、教师能对个人信息和他人信息进行查询。3、教务人员能对教师所有的信息进行查询并可以打印教师档案报表。4、用户可以修改自己的个人密码。5、用户可以修改自己的个人信
5、息。流程模块图根据需要完成的功能,设计出系统的总体功能模块。本系统共分为2个功能模块:基本信息管理、系统用户管理。功能模块示意图如下:图2-1教师管理系统功能模块示意图数据流程顶层图图2-2数据流顶层图目标数据流程图通过系统的需求分析和教师信息的输入,最终组合了教师的基本信息表,如图2-3目标数据流程图所示信息来源过程:图2-3目标数据流程图第三章 数据库概念结构设计根据需求分析的结果,我们准备为学校编写一个教师管理系统。对该系统进行概念设计,依据我们的想法,该系统会分为三个实体,分别是教师实体、课程实体、学院实体,其中的联系是教师教授课程、教师所属学院。E-R图如下:实体属性图概念模型是对现
6、实世界的抽象和概述,它真实的反映了事物和事物之间的联系。应用实体属性图可以描述某一组织的概念模型,下面根据需求分析设计教师管理信息系统的实体属性图。教师基本信息实体教师实体图中包括的属性有编号、姓名、性别、工资、职称和联系方式,这些属性阐明了教师基本信息实体,如图3-1-1所示。图3-1教师信息实体图课程基本信息实体课程实体图中包括的属性有编号、课程名、学分和学时,这些属性阐明了课程基本信息实体,如图3-1-2所示。图3-2课程信息实体图学院基本信息实体学院实体图中包括的属性有编号、名称、专业数和人数,这些属性阐明了学院基本信息实体,如图3-1-3所示。图3-3学院信息实体图授课基本信息实体授
7、课实体图中包括的属性有教师编号、课程编号、上课班级、学院名和上课时间,这些属性阐明了授课基本信息实体,如图3-1-4所示。图3-4授课信息实体图 总体E-R图所有局部实体属性图设计好之后,接下来把它们综合成一个全局概念结构,即总体E-R图。在该总体E-R图中,有4个实体类型,4个联系类型,其实体属性分别见各自的实体图。该总体E-R图说明了实体与实体间的联系。如图3-2所示。图3-5教师管理信息系统完整E-R图第四章 数据库逻辑结构设计 关系模型教师(教师编号,姓名,性别,联系方式,职称,工资)课程(课程编号,课程名,学分,学时)学院(学院编号,学院名,专业数,人数)授课(教师编号,课程编号,上
8、课班级,学院名,上课时间)优化 模式优化就是应用模式规范化技术对设计出来的数据库模式进行规范化处理,其目的是减少乃至消除关系模式中存在的各种异常,改善完整性,一致性和存储概率。1、教师关系模式优化: 教师关系模式的函数依赖集为: F=教师编号姓名,教师编号性别,教师编号联系方式,教师编号职称,教师编号工资 教师关系模式规范化: 根据1NF定义和分析, 教师关系模式的每个属性都是简单属性,所以 教师关系模式属于1NF。 根据2NF定义和分析, 教师关系模式中不存在部分函数依赖,所以 教师关系模式属于2NF。 根据3NF定义和分析, 教师关系模式中不存在传递函数依赖,所以 教师关系模式属于3NF。
9、 2、课程关系模式优化: 课程关系模式的函数依赖集为: F=课程编号课程名,课程编号学分,课程编号学时 课程关系模式规范化: 根据1NF定义和分析,课程关系模式的每个属性都是简单属性,所以课 程关系模式属于1NF。 根据2NF定义和分析,课程关系模式中不存在部分函数依赖,所以课程 关系模式属于2NF。 根据3NF定义和分析,课程关系模式中不存在传递函数依赖,所以课程 关系模式属于3NF。 3、学院关系模式优化: 选修关系模式的函数依赖集为: F=学院编号学院名,学院编号专业数,学院编号人数 学院关系模式规范化: 根据1NF定义和分析,选修关系模式的每个属性都是简单属性,所以选 修关系模式属于1
10、NF。 根据2NF定义和分析,选修关系模式中不存在部分函数依赖,所以选修 根据3NF定义和分析,选修关系模式中不存在传递函数依赖,所以选修 4、授课关系模式优化: 授课关系模式的函数依赖集为: F=(教师编号,课程编号)上课班级,(教师编号,课程编号)学院名,(教师编号,课程编号)上课时间 授课关系模式规范化: 数据信息表(1)通过关系模型和不断优化修改,得出如图4-1教师信息表:列名数据类型可否为空说明教师编号Varchar(10)NOT NULL教师编号(主键)教师姓名性别Char(2)教师性别联系方式NULL职称教师职称工资Int(10)教师工资图4-1教师信息表(2)通过关系模型和不断
11、优化修改,得出如图4-2课程信息表:课程编号课程编号(主键)课程名课程名称学分Int(4)学时Varchar(200)图4-2课程信息表(3)通过关系模型和不断优化修改,得出如图4-3学院信息表:学院编号学院编号(主键)学院名学院名称专业数人数Varchar(20)学院人数图4-3学院信息表(4)通过关系模型和不断优化修改,得出如图4-4授课信息表:上课班级上课时间上课学期图4-4授课信息表第五章 数据库实施阶段创建数据库create database 教师管理on primary( -主文件 name = m, filename = F:教师管理, size = 5MB, maxsize =
12、 100MB, filegrowth = 1MB),( -辅助文件 name = n, maxsize = 50MB,( -日志文件 name = l,)(1)创建教师信息表:create table 教师信息表( 编号 int primary key , 姓名varchar(10) not null , 性别varchar(10) , 工资int, 职称varchar(16), 联系方式int, );insert into 教师信息表values( 10001,张三,男,5000,教授,2 );insert into 教师信息表values( 10002,李四,4000,讲师,12 );in
13、sert into 教师信息表values( 10003,王好女,3435,助教,2131241 ); insert into 教师信息表values( 10004,陶于,4322,副教授, );insert into 教师信息表values( 10005,于吉,3412,查询表中信息,代码如下:select * from 教师信息表执行后的结果显示如图所示: ( 图5-1 教师信息表(2)创建课程表:create table 课程表(编号int primary key, 课程名varchar(10), 学分int , 学时int,insert into 课程表values( 1001,数据库
14、,4,80 ); insert into 课程表values( 1002,数据结构,4,60 ); insert into 课程表values( 1003,大学英语,3,60 ); insert into 课程表values( 1004,大学物理,2,40 ); insert into 课程表values( 1005 ,高数,4,50 );select * from 课程表 图5-2 课程表(3)创建学院表:create table 学院表 编号int primary key, 名称varchar(20) , 专业数int, 人数int,insert into 学院表values( 1030,
15、管理学院,6,4000 ); insert into 学院表values( 1023,信息科学与工程,8,5000 ); insert into 学院表values( 1040,外语学院,7,4500 ); insert into 学院表values( 1899,机械与工程学院,5,4523); insert into 学院表values( 1235,中文学院,4,3800 );select * from 学院表 图5-3 学院表(4)创建授课表:create table 授课表( 教师编号int primary key, 课程编号int, 上课班级varchar(10), 学院名varcha
16、r(20), 上课时间varchar(20),insert into 授课表values( 10001,1002,计科10:00-11:40insert into 授课表values( 10002,1001,8:00-9: insert into 授课表values( 10005,1005,15:40-17:20insert into 授课表values( 10003,1004,14:00-15:insert into 授课表values( 10004,1003,机械与工程学select * from 授课表 图5-4 授课表功能查询功能创建教师信息查询过程,实现对教师信息中教师教课的查询,即
17、输入教师编号,查询该教师的所教的课程名和上课时间等信息:(1)单表存储查询创建教师信息查询存储过程,实现对教师信息中教师信息的查询。例如查询编号10001的教师信息,即输入教师编号,则输出该教师相关信息等 if exists(select * from sysobjects where name = 教师信息查询 and type = pdrop procedure 教师信息查询gocreate proc 教师信息查询 b_编号int,n_姓名varchar(10) output, s_性别varchar(10)output,g_工资varchar(10)output, l_联系方式varch
18、ar(10)output,t_职称Varchar(10)outputas Select b_编号=编号,t_职称=职称,n_姓名=姓名, g_工资=工资,l_联系方式=联系方式,s_性别=性别from 教师信息表 where 编号=b_编号-查询教师信息declare n_姓名varchar(10) , s_性别varchar(10),g_工资varchar(10), l_联系方式varchar(10),t_职称Varchar(10)exec 教师信息查询 10001,n_姓名output, s_性别output,g_工资output, l_联系方式output,t_职称outputselec
19、t n_姓名as 姓名, s_性别as 性别,g_工资as 工资, l_联系方式as 联系方式,t_职称as 职称结果如图5-5所示,经过与图5-1对比,却是其中的一项。图5-5 单表存储查询(1)多表连接查询即输入教师编号,通过连接多个数据基本表,查出该教师教的是哪一门课程,在哪个学部,什么时间上课等等。通过创建视图,简化查询操作,如下所示:-视图create view view_教师教课 asselect 教师信息表.姓名,课程表.课程名,授课表.上课班级, 授课表.学院名,授课表.上课时间from 教师信息表,课程表,授课表where 教师信息表.编号=授课表.教师编号and 授课表.课
20、程编号=课程表.编号-查询教师教课视图select *from view_教师教课-删除视图drop view view_教师教课 所操作的结果如图5-6视图多表连接查询所示: 图5-6视图多表连接查询2通过创建用户自定义函数来简化查询操作,如下所示:例如查询教师编号10003的教师所教授的课程,通过多个表的连接查询,的出的信息过程如下所示:-查询教师教课create function 教师教课(t_no int)returns table as return (select 教师信息表.姓名,课程表.课程名, 授课表.上课班级,授课表.学院名,授课表.上课时间where 教师信息表.编号=t
21、_no and 教师信息表.编号=授课表.教师编号and 授课表.课程编号=课程表.编号-执行函数查询select 姓名,课程名,上课班级,学院名,上课时间from 教师教课(10003)drop function 教师教课通过和图5-6对比,可以清楚的知道图5-7所示的结果,如下图: 图5-7 函数使用查询结果添加功能在教师信息表上创建教师信息添加存储过程,实现教师信息的添加:教师信息表添加drop procedure 教师信息表添加create procedure 教师信息表添加t_编号int,t_姓名Varchar(10),t_性别Varchar(10),t_工资int,t_职称Varc
22、har(16),t_联系方式intas insert into 教师信息表 values(t_编号,t_姓名,t_性别,t_工资,t_职称,t_联系方式)例如在图5-1 教师信息表中添加 10006,张1,男,4800,教授,2的信息。 -执行教师信息存储过程exec 教师信息表添加 10006,张,4800,2所得到的结果如图5-8添加信息所示: 图5-8添加信息修改功能创建教师信息修改存储过程,实现教师信息的修改:教师信息修改drop procedure 教师信息修改create proc 教师信息修改t_编号Varchar(10),t_姓名Varchar(10),t_性别Char(2),
23、t_工资int,t_联系方式Varchar(16),t_职称Varchar(10)update 教师信息表set 编号=t_编号,姓名=t_姓名,性别=t_性别,工资=t_工资,联系方式=t_联系方式,职称=t_职称where 编号=t_编号例如在图5-1 教师信息表中将 “于吉”修改成“于高”和“男”修改成“女”其余的不变,如下所示: -执行教师信息修改过程exec 教师信息修改10005,于高-修改后查询select * 所得到结果如图5-9修改信息所示: 图5-9修改信息删除功能创建教师信息删除存储过程,实现教师信息的删除:教师信息删除drop procedure 教师信息删除create procedure 教师信息删除 t_编号Varchar(10)as delete from 教师信息表 where 编号=t_编号例
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1