1、数据库实训教师管理系统郑州科技学院课程设计说明书课程名称: SQL SERVER 课程设计设计题目: 教师管理系统系(院): 信息工程学院专业班级:名:学 号: 指导教师: *成 绩: _时 间: 12 月 28 日 至 1 月 3 日 共 _ 1 周郑州科技学院课程设计(论文)任务书设计题目: 教师管理系统 专业班级:姓名学号 主要内容:教师管理系统包括教师信息表、课程信息表、学院信息表和授课信息表。并对这四个表进行统一的管理,本系统以此作为开发的目标,用以减轻教师管理人员的 负担。用户分为系统管理员和普通用户两种身份。需要通过用户名和密码进入,系统 管理员登录后,可以查看所有信息,并且可以
2、对用户进行添加、修改密码、删除等 操作。普通用户只能进入课程管理和教师信息管理。基本要求:本课题是设计教师管理系统,实现添加、查询、修改、删除等功能。从界面上输 入教师姓名,可以查询教师的基本信息和课程信息,不存在的数据,输出提示内容。 通过窗体操作可浏览、删除、添加、修改教师的相关数据。完成期限:2015年 1月 3日指导教师签名:评审小组负责人签名:1.前言系统背景教师信息管理系统是一所院校在各种信息管理中的一部分,对于学校管理者来 说是很重要的,所以所设计的系统应该能为管理者提供教师的基本信息管理手段和 一些方便的查询方式。在过去,计算机不是很普及和计算机应用性不高的年代,人 们使用人工
3、的方法管理各式各样的档案,这种管理方式存在着很多缺点:效率底, 保密性差,会产生大量的文件和数据,给查找,更新和维护信息都带来了相当大的 困难。随着科学技术的不断发展,计算机科学日益成熟,其强大的计算功能已经被 人们深刻地认识到,计算机发挥着越来越重要的作用。作为计算机应用的一部分, 使用计算机对教师信息进行管理,具有人工方式所无法比拟的优越性。如,查找方 便,可靠性高,存储容量大,保密性好,寿命长,成本低,维护十分方便等,这些 优点能够极大得提高工作的效率,这也是学校的科学化,现代化,正规化的一点体 现。选题的理由和实际意义随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻
4、 认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用 的一部分,使用计算机对教师信息进行管理,具有人工方式所无法比拟的优越性。 如,查找方便,可靠性高,存储容量大,保密性好,成本低,维护十分方便等,这 些优点能够极大得提高工作的效率,这也是学校的科学化,现代化,正规化的一点 体现。教师信息管理系统开发主要包括数据库的建立和维护以及应用程序的开发两 个方面。要求建立起数据一致性和完整性强。数据安全性好的库,要求应用程序功 能完备,易使用等特点。教师信息管理系统是一个教育单位不可缺少的部分,它的 内容对于决策者和管理者来说都比较重要,所以教师信息管理系统应该能够为用户 提供充
5、足的信息和快捷的查询手段。用户的需求具体体现在对各种信息的提供、保 存、更新和查询,这就要求数据库能充分满足各种数据的输出和输入。因此,为了适应现代教育管理的要求,进一步完善教师信息辅助计算机管理, 我作为一个计算机系的本科生,开发这样一套管理软件成为很有必要的事情 , 在下面 的各章中我将以开发一套教师信息管理系统为例,谈谈其开发过程和所涉及到的问 题及解决方法。本课题是设计任课教师信息管理系统,实现输入、查询、显示、维护等功能。 从界面上输入教师姓名,输出教师的基本信息和任课情况,不存在的数据,要输出 提示内容。从窗体中输入教师姓名,可以录入教师的上课数据,并计算教师的工作 量。通过窗体操
6、作可浏览、删除、添加教师的相关数据。关键字:面向对象,数据一致性,信息管理系统,数据库, SQL Server 。2.需求分析近年来,教育带来的发展对学校管理提出了更高的要求。传统的管理机制已经 不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理 方法必然被计算机为基础的信息管理所取代,建设一套具有行业特色的管理系统, 以适应学校的总体发展战略。教师信息管理系统正是针对这一类问题而开发出来的 管理软件。任课教师信息管理系统开发主要包括后台数据库的建立和维护以及前端 应用程序的开发两个方面。 对于前者要求建立数据一致性和完整性强 , 数据安全性好 的数据库 . 而对于后者则
7、要求应用程序功能完备 , 系统优点:检索迅速、查找方便、 可靠性高、存储量大、安全性高、成本低等。这些优点能够极大地提高教师信息管 理的效率,也是教育的科学化、正规化管理、易使用等特点。用户对系统要求用户的需求具体体现在对各种信息的提供、保存、更新和查询,这就要求数据 库能充分满足各种数据的输出和输入。通过对上述系统功能的分析,针对教师信息 管理系统的需求总结出下列需求信息:1使用友好的全屏幕用户界面,菜单驱动,多窗口。2数据维护功能,通过窗体实现录入、添加和修改所有表的内容。3查询统计功能,设置多种查询方式,实现对教师的任课情况、工作量统计情 况等进行查询。4系统维护功能,适当的加入系统密码
8、管理、数据备份(已出现数据库备份界 面)等帮助功能。功能介绍一位教师可以教多门课程,并且一门课可以由多名老师来教。根据本教师管理系统主要是为了满足学校的需求而设计,注重操作简单易 用、功能简洁但够用的特点,拟定系统应当具有如下功能:(1)教师基本信息数据的输入:操作人员可以在本系统中建立教师编号、教师 姓名、性别、学历、职称、出生年月、地址等信息,作为教师查询的依据之一;(2)教师基本信息数据的修改、删除:学校中的教师人数和人员,包括职称、 工资都会随着时间的迁移而发生变化。因此,在系统中设置了增加记录、修改记录、 删除记录等操作,教师管理人员可以随时对教师基本信息进行更新和修改;(3)用户分
9、系统管理者和一般操作员用户;一个学校包含多个学院。一个学院 包括多位教师。3.系统设计定义(1) 系统名称:教师管理系统(2) 数据库管理软件: Microsoft SQL Server 2005(3) 数据库设计采用软件: Microsoft Office Version 2003(4) 运行平台: windows 2000/xp/linux(5) 数据库的安全性设计:系统总体结构设计图图 1 结构设计图总体 E-R 图根据需求分析的结果,我们准备为学校编写一个教师管理系统。对该系统进行 概念设计,依据我们的想法,该系统会分为三个实体,分别是教师实体、课程实体、学院实体,其中的联系是教师教授
10、课程、教师所属学院。概念模型是对现实世界的抽象和概述, 它真实的反映了事物和事物之间的联系 应用实体属性图可以描述某一组织的概念模型,下面根据需求分析设计教师管理信 息系统的实体属性图在该总体 E-R图中,有 3个实体类型, 1 个联系类型,其实体属性分别见各自的2)通过关系模型和不断优化修改,得出如 图 4 课程信息表:列名数据类型可否为空说明课程编号Varchar(10)NOT NULL课程编号(主键)课程名Varchar(10)NOT NULL课程名称学分Int(4)NOT NULL学分学时Varchar(200)NOT NULL学时图 4 课程信息表3)通过关系模型和不断优化修改,得出
11、如 图 5 学院信息表:列名数据类型可否为空说明学院编号Varchar(10)NOT NULL学院编号 ( 主键 )学院名Varchar(10)NOT NULL学院名称专业数Varchar(10)NOT NULL专业数人数Varchar(20)NOT NULL学院人数图 5 学院信息表4)通过关系模型和不断优化修改,得出如 图 6 授课信息表:列名数据类型可否为空说明教师编号Varchar(10)NOT NULL教师编号 ( 主键)课程编号Varchar(10)NOT NULL课程编号(主键)上课班级Varchar(10)NOT NULL上课班级学院名Varchar(20)NOT NULL学院
12、名称上课时间Varchar(10)NOT NULL上课学期图 6 授课信息表用例列举创建数据库create database teacherteaching(1)创建教师信息表create table teaching - 教师信息表(tid int primary key, tname varchar(10) not null, tsex varchar(10), tsalary int, tgrade varchar(16), tphonenumber int,);insert into teaching values( 10001,张三 ,男,9000,教授 ,1320001);inse
13、rt into teaching values( 10002,李四 ,男,6000,讲师 ,1320002);insert into teaching values( 10003,王五 ,女,3000,助教 ,1320003);insert into teaching values( 10004,赵六 ,女,7000,副教授 ,1320004);insert into teaching values( 10005,钱七 ,男,9000,教授 ,1320005);查询表中信息,代码如下:select * from teaching执行后的结果显示如图所示:图72)创建课程表create tabl
14、e course- 课程表- 专业个数- 人数(cnumber int primary key, cname varchar(10), cgrade int , cperiod int,);insert into course values( 1001, insert into course values( 1002, insert into course values( 1003, insert into course values( 1004, insert into course values( 1005 , 查询表中信息,代码如下: select * from teaching 执行后
15、的结果显示如图所示:(3)创建学院表 create table department (did int primary key, dname varchar(20) , dspeciality int, dpeople int,);insert into department values( 1030, insert into department values( 1023, insert into department values( 1040, insert into department values( 1899, insert into department values( 1235,
16、 查询表中信息,代码如下:数据库 ,4,80);数据结构 ,4,60);大学英语 ,3,60);大学物理 ,2,40);高数 ,4,50);图8- 学院表- 学员编号- 学院名称管理学院 ,6,1000); 信息科学与工程 ,8,1000);外语学院 ,7,1500);机械与工程学院 ,5,1200);中文学院 ,4,1300);select * from teaching执行后的结果显示如图所示:图94)创建教师任课表create table tc- 授课表tid int primary key, cnumber int, class varchar(10), dname varchar(2
17、0), time varchar(20),- 教师编号- 课程编号- 上课班级- 学院名- 上课时间);insert into tc values( 10001,1002, insert into tc values( 10002,1001, insert into tc values( 10005,1005, insert into tc values( 10003,1004, insert into tc values( 10004,1003,工商管理 , 管理学院 ,10:00-11:40); 信息工程 , 信息科学与工程 ,8:00-9:40) 英语 , 外语学院 ,15:40-17:
18、20);工程管理 , 管理学院 ,14:00-15:40); 机械工程 , 机械与工程学 ,10:00-11:40) 图 10建立索引Create unique index teacherid on teaching(tid)- 在教师表中按照教师编号建立索引Create unique index courseid on course(cnumber)- 在课程表中以课程编号建立索引Create unique index departmentid on department(did ASC,dpeople DESC) - 在学院表中以学员编号升序,学员人数降序建立索引约束条件Alter tab
19、le teaching - 在表 teaching 增加一个性别的约束用户和授权Create role u1 - 创建一个用户 u1创建用户Grant select,insert,update,delete - 给用户 u1 授予查询,更新,删除教师信息表的权利 On teachingTo u1授权Revoke delete - 收回用户对教师信息表的删除的权利On teachingFrom u1收回授权查询功能通过 select 语句进行查询。(1)查询全体教师信息Select *From teaching图 11(2)例如查询编号为 10001 的教师信息。Select *From tea
20、chingWhere tid=10001图 12(3)统计一个教师的工作量select sum(cperiod)from course,teaching,tcwhere = and = and =10001图 13更新功能(1)修改 Update teaching Set tset= 女 Where tid=10006Select *From teaching 图 14(2)插入insert into teaching values( 10006, 孙八 , 男7500, 教授 ,1320006); select * *from teaching 图 15(3)删除deletefrom tea
21、chingwhere tid=10001select * from teaching图 16查询、触发器、视图(1)触发器4000元,定义一个触发器,为教师信息表定义完整性规则“助教的工资不得低于 如果低于 4000元,自动改为 4000 元。Create TRIGGER insert_or_update_tsalary - 创建触发器on teachingafter insert,updateasdeclare sa intdeclare gr varchar(16)select sa=tsalary from inserted select gr=tgrade from insertedi
22、f(sa4000 and gr= 助教 )beginupdate teachingset tsalary=4000where tgrade= 助教 enddrop TRIGGER insert_or_update_tsalary - 删除触发器update teaching - 更新一个助教的工资数据监测是否触发器成功执行set tsalary=2000where tgrade= 助教 图 17在触发器成功执行之后,数据库的数据又被触发器强制改变了,更新的助教工 资是 2000 元,但是触发器成功执行之后,助教的工资被改变为要求的最低 4000元 (2)视图与查询多表连接查询即输入教师编号,通
23、过连接多个数据基本表,查出该教师教的是哪一门课程, 在哪个学部,什么时间上课等等。通过创建视图,简化查询操作,如下所示:create view view_teaching - 创建教师教课的视图asselect ,from teaching,course,tcwhere = and =select * from view_teaching- 查询教师授课视图drop view view_teaching- 删除视图所操作的结果如图 18 视图多表连接查询所示:图 184.总结数据库是一个存储数据的大仓库,它不但包括数据,还包括数据间的各种关系, 以及各种操作。 要用数据库,我们首先要创建一个数
24、据库,让后往里面放东西 ( 数 据库文件和事物日志文件等 ) ,数据库里的东西不是一成不变的,这就要求对数据库 进行管理,比如数据的结构、文件和文件组修改、数据库的删除等, 数据是以表的 形式存在的数据库中,表其实就是一种关系,处理数据往往就是对表的一些操作, 包括对表的增删改查。在数据库操作中,有很多时候不是对某一个表进行数据库操 作,通常还会把其他表的字段的值也传递过来。不过这连个表不是没有关系的,通 常通过索引或者健关联起来,通过查询语句,我们得到一个结果集,因为关系型数 据中是以集合的形式对数据进行处理,当对单条记录进行操作时就不太方便了,这 时就用到了游标,它包含一个结果集和一个指针
25、,可以从包含多个数据记录的结果 集中每次提取一条记录进行操作。当用户只需要从表中提取部分内容时,可以通过 创建视图,视图也是一个类似于表的对象,但它与表有着本质的区别:视图是在引 用存储在数据库中的查询语句时动态创建的,是从一个或多个数据表中派生出来的 虚拟表,视图本身不存储数据。 查询是数据库中最常见的操作,使用索引可以大大 提高数据库的检索速度,使用索引不仅可以检索出一个表中的记录,还可以通过约 束字段,检索出相关联表中需要的记录。 在数据库管理系统中,维护数据完整性是 非常重要的,数据库中通过、创建约束、和规则及使用触发器等来实现,是一种特 殊的,但它是当用户修改表中的数据时自动执行的,
26、而存储过程须通过调用机制, 这样当对一个表进行某种操作时,便可以同时对级联的表做相关操作,保证数据同 步更改,实现数据的完整性。实训是个人综合能力的检验。要想学好计算机课程,除了计算机基础知识功底 深厚外,还需有一定的实践动手能力,操作能力,应付突发故障的能力,还要对常 用软件都能熟练操作。作为一名快要毕业的大三学生,还要求有较强的表达能力, 同时还要学会灵活运用学到的知识。另外,还必须有较强的应变能力、独立思考的 能力和坚强的毅力。这次实训是对我学习上的一次大检验。因为计算机专业的特殊 性,如果我们只会一些理论知识,那么我们就不是个合格的计算机专业学生。通过 这次实践的操作,让我对课堂上所学
27、到的东西有了更深的认识,同时也让我找到了 找到了学习的乐趣。5.读书笔记通过这次的课程设计,使我对这学期学的知识有了更为全面的认识。在这个学 期数据库的学习期间,我已经了解了数据库的大部分的操作代码和一些基本的对数 据库的操作,但是由于接触的时间不是太久,所以对数据库了解还是不大全面,通 过此次数据库的课程设计,我从中发现了自己的许多不足,也得以让我提高的数据 库方面的知识能力,从而达到了学与用的结合,增强了对数据库应用方面的理解, 对自己今后参与开发数据库系统积累了不少经验,让我受益匪浅。通过和同学的共同努力,我们组设计出了一个基于教师管理的数据库系统,这 个系统可以更好、更快、更有效地管理
28、查询教师的信息。在这个系统中,我们主要 实现了的功能有能够完成教师及其相关信息的输入、修改、插入、删除等工作,可 以按照特定的信息进行查找等。在对课题分析的过程中,对数据库设计理念及思想 上有更高的认识,从分析,到概念设计和逻辑设计, E-R 图的绘制,懂得了不少有关 数据库开发过程中的知识,在实验中建表,及其关系模式,将 SQL语的查询语句运 用在实处,增强了自己在数据库中应用 SQL语言的理解,其中包括查询、插入、删 除、修改 , 特别是对多表查询,表和表之间的联系有了全新的认识。在上机的时候, 我们会有做的得心应手的时候,也有磕磕绊绊的时候。其实那些磕绊的地方往往就 是我们上课没有听懂的
29、地方,所以这就要求我们的重视,及时向老师寻求答案。实 习结束后,我逐渐认识到了自己所掌握的知识远远不够,我还需进一步的努力学习。 同时我发现理论和实践之间还是存在一定的差距,要把理论知识灵活运用于实践才 是最好的,因此我也希望学校能多给我们提供一些实践的机会。为适应时代的发展,需要尽可能地学习更多的知识和能力,学会创新求变,以 适应社会的需要,那就更需要掌握较全面的计算机知识,计算机知识更新是很快的, 只有不断地学习,才能掌握最新的知识。因此,在以后的学习工作中,我们应该继 续学习、操作,熟练运用这些知识,不断完善和充实自己,争取做一个合格的当代 大学生,将来做一名对社会有用的人。参考文献电子工业出版社清华大学出版社1 郑阿奇 SQL Sever (第 4 版)2 李丹丹 史秀璋 SQL Sever 2000 数据库实训教程3 陈松桥 数据库技术与应用中南大学出版社人民邮电出版社4陈志泊 数据库原理及应用教程 M 北京理工大学出版社北京希望电子出版社5周志逵 数据库理论与新技术6贺利坚 数据库技术与应用 M
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1