数据库实训教师管理系统_第1页
数据库实训教师管理系统_第2页
数据库实训教师管理系统_第3页
数据库实训教师管理系统_第4页
数据库实训教师管理系统_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

郑州科技学院课程设计说明书课程名称:__SQLSERVER课程设计设计题目:__教师管理系统系(院):__信息工程学院专业班级:_*****姓名:__***学号:__*****指导教师:***成绩:_时间:12月28日至1月3日郑州科技学院课程设计(论文)任务书设计题目:教师管理系统专业班级:*********学号****姓名***主要内容:教师管理系统包括教师信息表、课程信息表、学院信息表和授课信息表。并对这四个表进行统一的管理,本系统以此作为开发的目标,用以减轻教师管理人员的负担。用户分为系统管理员和普通用户两种身份。需要通过用户名和密码进入,系统管理员登录后,可以查看所有信息,并且可以对用户进行添加、修改密码、删除等操作。普通用户只能进入课程管理和教师信息管理。基本要求:本课题是设计教师管理系统,实现添加、查询、修改、删除等功能。从界面上输入教师姓名,可以查询教师的基本信息和课程信息,不存在的数据,输出提示内容。通过窗体操作可浏览、删除、添加、修改教师的相关数据。完成期限:2015年1月3日指导教师签名:评审小组负责人签名:目录1.前言 41.1系统背景 41.2选题的理由和实际意义 42.需求分析 52.1用户对系统要求 62.2功能介绍 73.系统设计 73.1定义 73.2系统总体结构设计图 83.3总体E-R图 93.4数据表的设计 103.5用例列举 113.5.1创建数据库 113.5.2建立索引 153.5.3约束条件 153.5.4用户和授权 153.5.5查询功能 163.5.6更新功能 183.5.7查询、触发器、视图 194.总结 235.读书笔记 24参考文献 261.前言1.1系统背景教师信息管理系统是一所院校在各种信息管理中的一部分,对于学校管理者来说是很重要的,所以所设计的系统应该能为管理者提供教师的基本信息管理手段和一些方便的查询方式。在过去,计算机不是很普及和计算机应用性不高的年代,人们使用人工的方法管理各式各样的档案,这种管理方式存在着很多缺点:效率底,保密性差,会产生大量的文件和数据,给查找,更新和维护信息都带来了相当大的困难。随着科学技术的不断发展,计算机科学日益成熟,其强大的计算功能已经被人们深刻地认识到,计算机发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对教师信息进行管理,具有人工方式所无法比拟的优越性。如,查找方便,可靠性高,存储容量大,保密性好,寿命长,成本低,维护十分方便等,这些优点能够极大得提高工作的效率,这也是学校的科学化,现代化,正规化的一点体现。1.2选题的理由和实际意义随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对教师信息进行管理,具有人工方式所无法比拟的优越性。如,查找方便,可靠性高,存储容量大,保密性好,成本低,维护十分方便等,这些优点能够极大得提高工作的效率,这也是学校的科学化,现代化,正规化的一点体现。教师信息管理系统开发主要包括数据库的建立和维护以及应用程序的开发两个方面。要求建立起数据一致性和完整性强。数据安全性好的库,要求应用程序功能完备,易使用等特点。教师信息管理系统是一个教育单位不可缺少的部分,它的内容对于决策者和管理者来说都比较重要,所以教师信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。用户的需求具体体现在对各种信息的提供、保存、更新和查询,这就要求数据库能充分满足各种数据的输出和输入。因此,为了适应现代教育管理的要求,进一步完善教师信息辅助计算机管理,我作为一个计算机系的本科生,开发这样一套管理软件成为很有必要的事情,在下面的各章中我将以开发一套教师信息管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法。本课题是设计任课教师信息管理系统,实现输入、查询、显示、维护等功能。从界面上输入教师姓名,输出教师的基本信息和任课情况,不存在的数据,要输出提示内容。从窗体中输入教师姓名,可以录入教师的上课数据,并计算教师的工作量。通过窗体操作可浏览、删除、添加教师的相关数据。关键字:面向对象,数据一致性,信息管理系统,数据库,SQLServer。2.需求分析近年来,教育带来的发展对学校管理提出了更高的要求。传统的管理机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代,建设一套具有行业特色的管理系统,以适应学校的总体发展战略。教师信息管理系统正是针对这一类问题而开发出来的管理软件。任课教师信息管理系统开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立数据一致性和完整性强,数据安全性好的数据库.而对于后者则要求应用程序功能完备,系统优点:检索迅速、查找方便、可靠性高、存储量大、安全性高、成本低等。这些优点能够极大地提高教师信息管理的效率,也是教育的科学化、正规化管理、易使用等特点。2.1用户对系统要求用户的需求具体体现在对各种信息的提供、保存、更新和查询,这就要求数据库能充分满足各种数据的输出和输入。通过对上述系统功能的分析,针对教师信息管理系统的需求总结出下列需求信息:①使用友好的全屏幕用户界面,菜单驱动,多窗口。②数据维护功能,通过窗体实现录入、添加和修改所有表的内容。③查询统计功能,设置多种查询方式,实现对教师的任课情况、工作量统计情况等进行查询。④系统维护功能,适当的加入系统密码管理、数据备份(已出现数据库备份界面)等帮助功能。2.2功能介绍一位教师可以教多门课程,并且一门课可以由多名老师来教。根据本《教师管理系统》主要是为了满足学校的需求而设计,注重操作简单易用、功能简洁但够用的特点,拟定系统应当具有如下功能:(1)教师基本信息数据的输入:操作人员可以在本系统中建立教师编号、教师姓名、性别、学历、职称、出生年月、地址等信息,作为教师查询的依据之一;(2)教师基本信息数据的修改、删除:学校中的教师人数和人员,包括职称、工资都会随着时间的迁移而发生变化。因此,在系统中设置了增加记录、修改记录、删除记录等操作,教师管理人员可以随时对教师基本信息进行更新和修改;(3)用户分系统管理者和一般操作员用户;一个学校包含多个学院。一个学院包括多位教师。3.系统设计3.1定义系统名称:教师管理系统数据库管理软件:MicrosoftSQLServer2005数据库设计采用软件:MicrosoftOfficeVersion2003运行平台:windows2000/xp/linux数据库的安全性设计:3.2系统总体结构设计图教师编号教师教师编号教师管理系统教师信息表学院信息表课程信息表授课信息表性别 职称工资学时学院名专业数学院编号联系方式课程编号课程名人数教师编号姓名学分上课时间上课班级学院名课程编号图1结构设计图3.3总体E-R图根据需求分析的结果,我们准备为学校编写一个教师管理系统。对该系统进行概念设计,依据我们的想法,该系统会分为三个实体,分别是教师实体、课程实体、学院实体,其中的联系是教师教授课程、教师所属学院。概念模型是对现实世界的抽象和概述,它真实的反映了事物和事物之间的联系。应用实体属性图可以描述某一组织的概念模型,下面根据需求分析设计教师管理信息系统的实体属性图。课程教师学院所属授课名称专业数人数编号课程教师学院所属授课名称专业数人数编号姓名电话职称性别工资编号编号课程名学分学时教编号课编号班级学院名时间NNmmnn图2教师管理系统完整E-R图3.4数据表的设计 (1)通过关系模型和不断优化修改,得出如图3教师信息表:列名数据类型可否为空说明教师编号Varchar(10)NOTNULL教师编号(主键)姓名Varchar(10)NOTNULL教师姓名性别Char(2)NOTNULL教师性别联系方式Varchar(10)NULL联系方式职称Varchar(10)NOTNULL教师职称工资Int(10)NOTNULL教师工资图3教师信息表(2)通过关系模型和不断优化修改,得出如图4课程信息表:列名数据类型可否为空说明课程编号Varchar(10)NOTNULL课程编号(主键)课程名Varchar(10)NOTNULL课程名称学分Int(4)NOTNULL学分学时Varchar(200)NOTNULL学时图4课程信息表(3)通过关系模型和不断优化修改,得出如图5学院信息表:列名数据类型可否为空说明学院编号Varchar(10)NOTNULL学院编号(主键)学院名Varchar(10)NOTNULL学院名称专业数Varchar(10)NOTNULL专业数人数Varchar(20)NOTNULL学院人数图5学院信息表(4)通过关系模型和不断优化修改,得出如图6授课信息表:列名数据类型可否为空说明教师编号Varchar(10)NOTNULL教师编号(主键)课程编号Varchar(10)NOTNULL课程编号(主键)上课班级Varchar(10)NOTNULL上课班级学院名Varchar(20)NOTNULL学院名称上课时间Varchar(10)NOTNULL上课学期图6授课信息表3.5用例列举3.5.1创建数据库createdatabaseteacherteaching(1)创建教师信息表createtableteaching --教师信息表(tidintprimarykey, tnamevarchar(10)notnull, tsexvarchar(10), tsalaryint, tgradevarchar(16), tphonenumberint, );insertintoteachingvalues(10001,'张三','男',9000,'教授',1320001);insertintoteachingvalues(10002,'李四','男',6000,'讲师',1320002);insertintoteachingvalues(10003,'王五','女',3000,'助教',1320003);insertintoteachingvalues(10004,'赵六','女',7000,'副教授',1320004);insertintoteachingvalues(10005,'钱七','男',9000,'教授',1320005);查询表中信息,代码如下:select*fromteaching执行后的结果显示如图所示:图7(2)创建课程表createtablecourse --课程表(cnumberintprimarykey, cnamevarchar(10), cgradeint, cperiodint,);insertintocoursevalues(1001,'数据库',4,80);insertintocoursevalues(1002,'数据结构',4,60);insertintocoursevalues(1003,'大学英语',3,60);insertintocoursevalues(1004,'大学物理',2,40);insertintocoursevalues(1005,'高数',4,50);查询表中信息,代码如下:select*fromteaching执行后的结果显示如图所示:图8(3)创建学院表createtabledepartment --学院表( didintprimarykey, --学员编号 dnamevarchar(20), --学院名称 dspecialityint, --专业个数 dpeopleint, --人数);insertintodepartmentvalues(1030,'管理学院',6,1000);insertintodepartmentvalues(1023,'信息科学与工程',8,1000);insertintodepartmentvalues(1040,'外语学院',7,1500);insertintodepartmentvalues(1899,'机械与工程学院',5,1200);insertintodepartmentvalues(1235,'中文学院',4,1300);查询表中信息,代码如下:select*fromteaching执行后的结果显示如图所示:图9(4)创建教师任课表createtabletc --授课表( tidintprimarykey, --教师编号 cnumberint, --课程编号 classvarchar(10), --上课班级dnamevarchar(20), --学院名timevarchar(20), --上课时间);insertintotcvalues(10001,1002,'工商管理','管理学院','10:00-11:40');insertintotcvalues(10002,1001,'信息工程','信息科学与工程','8:00-9:40');insertintotcvalues(10005,1005,'英语','外语学院','15:40-17:20');insertintotcvalues(10003,1004,'工程管理','管理学院','14:00-15:40');insertintotcvalues(10004,1003,'机械工程','机械与工程学','10:00-11:40');图103.5.2建立索引Createuniqueindexteacheridonteaching(tid)--在教师表中按照教师编号建立索引Createuniqueindexcourseidoncourse(cnumber)--在课程表中以课程编号建立索引Createuniqueindexdepartmentidondepartment(didASC,dpeopleDESC)--在学院表中以学员编号升序,学员人数降序建立索引3.5.3约束条件Altertableteaching--在表teaching增加一个性别的约束addconstraintc3check(tsexin('男','女'))3.5.4用户和授权Createroleu1 --创建一个用户u1创建用户Grantselect,insert,update,delete --给用户u1授予查询,更新,删除教师信息表的权利OnteachingTou1授权Revokedelete --收回用户对教师信息表的删除的权利OnteachingFromu1收回授权3.5.5查询功能通过select语句进行查询。(1)查询全体教师信息Select*Fromteaching图11(2)例如查询编号为10001的教师信息。Select*FromteachingWheretid=10001图12(3)统计一个教师的工作量selectsum(cperiod)fromcourse,teaching,tcwhereteaching.tid=tc.tidandumber=umberandteaching.tid=10001图133.5.6更新功能(1)修改UpdateteachingSettset='女'Wheretid=10006Select*Fromteaching图14(2)插入insertintoteachingvalues(10006,'孙八','男'7500,'教授',1320006);select**fromteaching图15(3)删除delete fromteachingwheretid=10001select*fromteaching 图163.5.7查询、触发器、视图(1)触发器定义一个触发器,为教师信息表定义完整性规则“助教的工资不得低于4000元,如果低于4000元,自动改为4000元。CreateTRIGGERinsert_or_update_tsalary --创建触发器onteachingafterinsert,updateasdeclare@saintdeclare@grvarchar(16)select@sa=tsalaryfrominsertedselect@gr=tgradefrominsertedif(@sa<4000and@gr='助教')beginupdateteachingsettsalary=4000wheretgrade='助教'enddropTRIGGERinsert_or_update_tsalary --删除触发器updateteaching--更新一个助教的工资数据监测是否触发器成功执行settsalary=2000wheretgrade='助教'图17在触发器成功执行之后,数据库的数据又被触发器强制改变了,更新的助教工资是2000元,但是触发器成功执行之后,助教的工资被改变为要求的最低4000元。(2)视图与查询多表连接查询即输入教师编号,通过连接多个数据基本表,查出该教师教的是哪一门课程,在哪个学部,什么时间上课等等。通过创建视图,简化查询操作,如下所示:createviewview_teaching --创建教师教课的视图asselectteaching.tname,ame,tc.class,tc.dname,tc.timefromteaching,course,tcwhereteaching.tid=tc.tidandumber=umberselect*fromview_teaching --查询教师授课视图dropviewview_teaching --删除视图所操作的结果如图18视图多表连接查询所示:图184.总结数据库是一个存储数据的大仓库,它不但包括数据,还包括数据间的各种关系,以及各种操作。要用数据库,我们首先要创建一个数据库,让后往里面放东西(数据库文件和事物日志文件等),数据库里的东西不是一成不变的,这就要求对数据库进行管理,比如数据的结构、文件和文件组修改、数据库的删除等,数据是以表的形式存在的数据库中,表其实就是一种关系,处理数据往往就是对表的一些操作,包括对表的增删改查。在数据库操作中,有很多时候不是对某一个表进行数据库操作,通常还会把其他表的字段的值也传递过来。不过这连个表不是没有关系的,通常通过索引或者健关联起来,通过查询语句,我们得到一个结果集,因为关系型数据中是以集合的形式对数据进行处理,当对单条记录进行操作时就不太方便了,这时就用到了游标,它包含一个结果集和一个指针,可以从包含多个数据记录的结果集中每次提取一条记录进行操作。当用户只需要从表中提取部分内容时,可以通过创建视图,视图也是一个类似于表的对象,但它与表有着本质的区别:视图是在引用存储在数据库中的查询语句时动态创建的,是从一个或多个数据表中派生出来的虚拟表,视图本身不存储数据。查询是数据库中最常见的操作,使用索引可以大大提高数据库的检索速度,使用索引不仅可以检索出一个表中的记录,还可以通过约束字段,检索出相关联表中需要的记录。在数据库管理系统中,维护数据完整性是非常重要的,数据库中通过事务机制、创建约束、缺省值和规则及使用触发器等来实现,触发器是一种特殊的存储过程,但它是当用户修改表中的数据时自动执行的,而存储过程须通过调用机制,这样当对一个表进行某种操作时,便可以同时对级联的表做相关操作,保证数据同步更改,实现数据的完整性。实训是个人综合能力的检验。要想学好计算机课程,除了计算机基础知识功底深厚外,还需有一定的实践动手能力,操作能力,应付突发故障的能力,还要对常用软件都能熟练操作。作为一名快要毕业的大三学生,还要求有较强的表达能力,同时还要学会灵活运用学到的知识。另外,还必须有较强的应变能力、独立思考的能力和坚强的毅力。这次实训是对我学

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论