基于JSP的教学管理系统开发与实现_第1页
基于JSP的教学管理系统开发与实现_第2页
基于JSP的教学管理系统开发与实现_第3页
基于JSP的教学管理系统开发与实现_第4页
基于JSP的教学管理系统开发与实现_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

1、玉林师范学院本科生毕业论文设计基于 JSP 的教学管理系统开发与实现Implicamention of Teaching Management System with JSP学 院数学与信息科学学院专 业信息管理与信息系统学 生 班 级2008 级姓 名钟新雪学 号200804403138指导教师单位数学与信息科学学院指导教师龚榆桐指导教师职称讲师基于 JSP 的教学管理系统开发与实现信息管理与信息系统 2008 级 钟新雪指导老师 龚榆桐摘要 J2EE 技术无疑是当今因特网应用的最正确技术方案之一,围绕 J2EE 技术的应用性,也产生了大量的 Web 开发框架、中间层开发框架、数据层开发框架

2、,它们极大地提升了 J2EE 技术的易用性本文描述了 J2EE 的相关技术,比方Servlet,JSP,Struts,Hibernate 等,并用这些技术完成一个基于 Web 的教学管理系统 本文介绍了在 myeclipse90 环境下采用 MVC 开发模式开发一个教务管理系统的过程文章介绍了教务管理信息系统的系统分析部分,包括需求分析和安全性分析;系统设计部分主要介绍了系统功能设计和数据库设计及代码设计;系统实现与测试部分说明了几个主要模块的算法,本系统界面友好,操作简单,比较实用关键词关键词: Servlet,JSP,Struts,Hibernate,MVC,教学管理系统学习文档 仅供参考

3、Implicamention of Teaching Management System with JSPImformation management and Imformation System 2008 Zhong XinxueSupervisor Gong YutongAbstractThere is no doubt that J2EE technology is one of the best methods of todays Internet applications, around the J2EE technology application,a large number o

4、f Web development framework, middle layer development framework and date layer development framework turn out which greatly enhance the J2EE technology Ease of use This text described the technology relate to J2EE,such as Servlet,JSP,Struts,Hibernate and so on,then work out a System base on Web use

5、these technologyThis article introduced environment uses myeclipse90 ;use the MVC “Modle-View-Controller”development-modle to applies the development; the strategy develops a management information system the processThrough analyzes my school to count the branch department the educational administra

6、tion management insufficiency, founded a set of effective use computer to carry on the educational administration information management the planThe article introduced the educational administration management information system system analysis part, including feasibility analysis, data flow analysi

7、s and demand analysis and so on; The system design part mainly introduced the system function design and the database design and the code design; The system realization part explained several main module algorithms, this system contact surface is friendly, the operation is simple, quite practicalKey

8、words: Servlet,JSP,Struts,Hibernate,MVC,Teaching Management System目录1 引言.111 选题的背景.112 目的和意义.22 开发技术及环境.321 SERVLET简介 .3211 什么是 Servlet .3212 Servlet 技术的特点 .322 JSP 技术概述.4221 JSP 技术的产生背景.4222 JSP 技术的优势和弱势.4223 JSP 技术的工作原理.523 STRUTS概述.5231 Struts 的由来和发展 .5232 Struts 的 MVC 模式简介 .5233 Struts 的优缺点 .723

9、4 Struts 的工作流程 .824 HIBERNATE数据库持久化技术.9241 Hibernate 简介.9242 Hibernate 的工作流程.1025 开发环境.10251 Eclipse 开发工具.10252 Tomcat 服务器.113 系统分析.1231 需求分析.12311 目标系统功能说明.12312 用户需求分析.1232 系统安全性.124 系统设计.1441 数据库设计.14411 数据库简介.14412 数据库设计与实现.1742 功能设置.23421 主要模块的功能说明.23学习文档 仅供参考422 系统功能模块图.2343 控制处理层.245 系统实现与测试.

10、2551 业务逻辑层各 BEAN功能.2552 系统界面.2753搭建系统运行环境.33小结.34致谢.34参考文献.35附录.36学习文档 仅供参考1 引言引言教学管理系统是集电脑技术、网络通信技术为一体的信息系统工程,通过 JSP开发基于 Web 的教学管理系统,一方面它面向包括学生、教师和教学管理人员,大大方便学校的教务管理,另一方面它通过数据库管理学校的庞大信息量,保证了数据的准确、及时、全面、详实教学管理系统的开发过程是以软件工程的思想为指导,经过可行性研究、需求分析、总体分析、详细设计等主要阶段而进行的标准的开发过程目前开发 Web 应用程序主要有 C/S客户机/服务器和 B/S浏

11、览器/服务器两种模式B/S 设计模式为我们提供了系统设计的基本思想和基本方向相对于 C/S 模式来讲,B/S 模式让客户端不安装软件通过对服务端的访问就可以得到所需信息,从而使网页更加便于浏览和管理,符合使用者对使用系统的要求,也就是说用户无需安装客户端,只要通过浏览器就可以访问相关服务;它在系统升级或维护的时候,只要在 Web 服务器中集中改动,用户在下一次页面刷新时就能立即得到反馈,而对于那些在服务端运行的逻辑、改动对于用户来说是透明的的;此外,就数据迁移和安全性等方面来讲,B/S 模式也更加具有优势学校作为一个复杂的机构,要实现其日常教学活动庞大数据量的有效管理,借助于一个实用的教学管理

12、系统是必不可少的与教学活动相关的角色大致可分为学生、教师和教学管理人员三类而这三类用户所具备的权限、所关心的问题及所需要的资料也互不相同,这就需要给他们提供不同的操作界面,规定他们的对应操作因此,教学管理系统的主要功能也必须针对这三类主要角色进行相对应的设计11 选题的背景选题的背景随着数据库技术、网络技术和科学管理方法的发展,电脑在管理上的应用日益广泛,管理信息系统逐渐成熟起来,并且给管理带来了新的革命管理信息系统是以人为主导的,通过运用电脑、网络通信设备及其它办公设备对信息进行收集、运输、加工、存储、更新、维护,支持高层决策、中层控制、基层运作的人机系统管理信息系统最大的特点是高度集中,能

13、将组织中的数据和信息集中起来,进2行快速处理,统一使用,利用定量化的科学管理方法,通过预测、计划优化、管理、调节和控制等手段来支持决策一个中心数据库和电脑网络系统是管理信息系统(ManagemantInformation System,MIS)的重要标志MIS 的处理方式是在数据库和网络基础上的分布式处理随着电脑网络和通讯技术的发展,不仅能把组织内部的各级管理连接起来,而且能够克服地理界限,把分散在不同地区的电脑网络互连,形成跨地区的各种业务信息系统和管理信息系统目前,虽然有许多学校已开始运用电脑进行学校教务的管理学校的教务管理系统必须是一个完整统一、技术先进、高效稳定、安全可靠的系统根据国内

14、大学的现在管理模式,结合国际新的思想观念,在校园网络环境下建设先进的、与国际水平接轨的信息化管理平台提高学校管理工作的现代化水平,使之成为学校公共信息服务体系的重要组成部分教学教务管理系统是高校管理信息系统建设的重要组成部分,是提高教学管理的质量和效益乃至建设世界知名的高水平的大学的关键环节教学教务信息处理的电脑化、网络化,也是实现学校管理现代化和信息化的重要内容12 目的和意义目的和意义随着电脑技术的不断发展,电脑作为知识经济时代的产物,已被广泛应用于社会各个行业和领域目前,我国的科技水平高速发展,电脑作为今天使用最广的现代化工具已深入到各个领域,并且正在成为未来社会信息社会的重要支柱在这样

15、的大背景下,现代学校教务的管理方式,资源建设等方面都发生了重大变化,这种变化表现在教务工作,管理和服务平台发生的变化,教务管理不再是传统的手工操作,人工管理,而是全面实行电脑管理此次毕业设计使我提高了自身解决实际问题的能力但由于本人知识水有限,系统设计中还存在着很多不足,请各位领导批评指正,以便我今后改良此外,该系统能够顺利的完成离不开各位老师对我的帮助,在此深表感谢学习文档 仅供参考2 开发技术及环境开发技术及环境21 Servlet 简介简介211 什么是什么是 Servlet Servlet(Java 服务器小程序)是用 Java 编写的服务器端程序,是由服务器端调用和执行的、按照 Se

16、rvlet 自身标准编写的 Java 类Servlet 可以看成是 Java 编写的CGI,但是它的功能和性能比 CGI 更加强大Servlet 是使用 Java Servlet 应用程序设计接口API及相关类和方法的 Java 程序除了 Java Servlet API,Servlet 还可以用于扩展和添加到 API 的 Java 类软件包它最常见的用途是扩展 Web 服务器,提供非常安全的、可移植的、易于使用的CGI 替代品它是一种动态加载的模块,为来自 Web 服务器的请求提供服务它完全运行在 Java 虚拟机上由于它在服务器端运行,因此它不依赖于浏览器的兼容性212 Servlet 技

17、术的特点技术的特点 Servlet 是一个 Java 的类,能够实现除了图形界面外的 Java 的所有功能,总的来说,它有以下优势:1、可移植性 它可以在不同的操作系统平台和不同的应用服务器平台下移植2、功能强大 可以使用 Java API 核心的所有功能3、安全 有几个不同的层次为 Servlet 的安全提供了保障4、简洁 Servlet 代码面向对象,在封闭方面具有先天的优势5、集成 Servlet 和服务器紧密集成,它们可以密切合作完成特定的任务6、模块化 第一个 Servlet 可以执行一个特定的任务,并且可以将它们并在一起工作7、扩展性 Servlet 的接口设计得非常简单,使它具有

18、很强的扩展性8、高效耐久 Servlet 一旦载入,它就驻留在内存中,这样加快了响应的速度213 Servlet 的生命周期Servlet 部署在容器里,它的生命周期由容器管理,一般可概括为以下几个步骤:41、装载 Servlet 这项操作一般是动态执行的2、servlet 容器创建 servlet 的一个实例3、容器调用该实例的 init()方法4、服务 如果容器对该 servlet 有请求,则调用此实例的 service()方法5、销毁 通过调用 Servlet 的 destory()方法销毁 Servlet22 JSP 技术概述技术概述221 JSP 技术的产生背景技术的产生背景JSP(

19、Java Server Pages)是由 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准,该技术为创建显示动态生成内容的 Web 页面提供了一个简捷而快速的方法JSP 技术的设计目的是使得构造基于 Web 的应用程序更加容易和快捷,而这些应用程序能够与各种 Web 服务器,应用服务器,浏览器和开发工具共同工作 JSP 标准是 Web 服务器、应用服务器、交易系统、以及开发工具供给商间广泛合作的结果在传统的网页 HTML 文件(*htm,*html)中加入 Java 程序片段(Scriptlet)和 JSP 标记(tag),就构成了 JSP 网页(*jsp

20、)由于 JSP 构建在 Servlet 上,所以它有 Servlet 所有强大的功能JSP 基于强大的 Java 语言,具有良好的伸缩性,与 Java Enterprise API 紧密地集成在一起,在网络数据库应用开发领域具有得天独厚的优势从 JSP 这几年的发展来看,JSP 已经取得了巨大的成功,它通过和 EJB 等J2EE 组件进行集成,可以编写出具有大的伸缩性、高负载的企业级应用,它从多个方面加速了动态 Web 应用页面的开发 222 JSP 技术的优势和弱势技术的优势和弱势1 JSP 技术的优势1、一次编写,到处运行2、系统的多平台支持3、强大的可伸缩性4、多样化和功能强大的开发工具

21、支持2 JSP 技术的弱势1、跨平台的功能和极度的伸缩能力,极大地增加了产品的复杂性学习文档 仅供参考2、它需要一定的硬盘空间来存储一系列的Java 文件、 class 文件及对应的版本文件3 JSP 内置对象 JSP 包括九种内置对象:request 对象、response 对象、pageContext 对象、Session 对象、application 对象、out 对象、config 对象、page 对象以及 exception 对象,其中通过 application 对象和 session 对象可以实现不同页面间的数据共享223 JSP 技术的工作原理技术的工作原理Web 服务器在遇到

22、访问 JSP 网页的请求时,首先执行其中的程序片段,然后将执行结果以 HTML 格式返回给客户程序片段可以操作数据库、重新定向网页以及发送 email 等等,这就是建立动态网站所需要的功能所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无 Plugin,无 ActiveX,无 Java Applet,甚至无 Frame23 Struts 概述概述231 Struts 的由来和发展的由来和发展 Struts 框架工具是 Apache 基金会 Jakarta 项目中推出的一个子项目 Struts 在英文中是支架、支撑的意思,这也表达出 Struts

23、 在开发 Web 应用程序过程所起到的重要作用, Struts 为 Web 应用提供了通用的框架,让开发人员可以把主要精力集中在如何解决实际业务问题上,与此同时 Struts 框架也允许开发人员根据实际需要进行扩展和定制,从而可以更好的适应用户的需求采用 Struts 可以简化遵循 MVC 设计模式的 Web 应用的开发工作,很好地实现代码重用,使开发人员从一些繁琐的工作中解脱出来,快速开发能够充分发挥 JSP/Servlet 优点、并具有强可扩展性的 Web 应用总之, Struts 的出现使得 Web 应用的开发过程大大简化,从而能够缩短开发周期、提高开发效率 232 Struts 的的

24、MVC 模式简介模式简介模型-视图-控制器MVC是 80 年代 Smalltalk-80 出现的一种软件设计模式,现在已经被广泛的使用 61、模型Model 模型是应用程序的主体部分模型表示业务数据,或者业务逻辑2、视图View 视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面 3、控制器controller) 控制器工作就是根据用户的输入,控制用户界面数据显示和更新 model 对象状态 图图 21 MVC 组件类型的关系和功能组件类型的关系和功能Fig 21 Relations and functions of MVC CATIDMVC 式的出现不仅实现了功能模块和显示模块的

25、别离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性尽管 MVC 设计模式很早就提出,但由于缺乏相关支持,在 Web 开发中引入 MVC 却相当困难,直到基于J2EE 的 JSP Model 2 问世时才得以改观下面对 JSP Model 1 与 JSP Model 2 进行简单介绍学习文档 仅供参考 图图 22 JSP Model 1JSP+JavaBean的数据传递关系图的数据传递关系图 Fig 22 Datatransfer of JSP Modle 1(JSP+JavaBean+Servlet) 图图 23 JSP Model 2(JSP+JavaBean+Ser

26、vlet) 的数据传递关系图的数据传递关系图Fig 23 Datatransfer of JSP Modle 2(JSP+JavaBean+Servlet)比较两种模式,我们不难发现 JSP Model 2 显然比 JSP Model 1 层次关系更加清楚,开发的页面也更易于维护在这种模式中,各组件的分工关系非常明确,JSP技术用于显示,充当了视图的角色,Servlet 用于执行业务逻辑,它相当于控制器的角色,JavaBean 组件用于表示数据,相当于模型的角色尽管如此,JSP Model 2 仍不够好,它容易使系统出现多个 Controller,并且对页面导航的处理比较复杂Struts 就是

27、在 JSP Model 2 的基础上实现的一个 MVC 架构它只有一个中心控制器,他采用 XML 定制转向的 URL采用 Action 来处理逻辑,是对 JSP Model 2的一个极大改良3233 Struts 的优缺点的优缺点 优点:Struts 跟 Tomcat、Turbine 等诸多 Apache 项目一样,是开源软件,使开8发者能更深入的了解其内部实现机制,这是它的一大优点 除此之外,Struts 的优点主要集中表达在两个方面:Taglib 和页面导航Taglib 是 Struts 的标记库,灵活动用,能大大提高开发效率;而页面导航则使系统的脉络更加清晰,通过一个配置文件,即可把握整

28、个系统各部分之间的联系,这对于后期的维护有着莫大的好处尤其是当另一批开发者接手这个项目时,这种优势表达得更加明显 缺点:Taglib 是 Struts 的一大优势,但对于初学者而言,却需要一个持续学习的过程,甚至还会打乱你网页编写的习惯,但是,当你习惯了它时,你会觉得它真的很棒 Struts 将 MVC 的 Controller 一分为三,在获得结构更加清晰的同时,也增加了系统的复杂度 Struts 从产生到现在还不到半年,但已逐步越来越多运用于商业软件虽然它现在还有不少缺点,但它是一种非常优秀的 J2EE MVC 实现方式234 Struts 的工作流程的工作流程在 WEB 启动时就会中载并

29、初始化 ActionServle 在ActionServletstruts-configxml 文件中读取配置信息,把它们存放到各种配置对象中当 ActionServlet 接收到一个客户请求时,它的执行过程大致如下:1、检索和用户请求匹配的 ActionMapping 实例,如果不存在,就返回用户请求路径无效 2、如果 ActionForm 实例不存在,就创建一个 ActionForm 对象,把客户提交表单数据保存到 ActionForm 对象中3、根据配置住处决定是否需要表单验证,如果需要验证,就调用 ActionForm扔 validate()方法 4、如果 ActionForm 的 v

30、alidate()方法返回 null 或返回一个不包含 ActionMessage 的ActionError 对象,就表示表单验证成功 5、ActionServlet 根据 ActionMapping 实例包含的映射住处决定将请求转发给哪个Action如果相应的 Action 实例不存在,就先创建这个实例,然后调用 Action 的execrte()方法 6、Action 的 execute()方法返回一个 ActionForward 对象,ActionServlet 再把客户请求转发给 ActionForward 对象指向的 JSP 组件 学习文档 仅供参考7、ActionForward 对

31、象指向的 JSP 组件生成动态网页,返回给客户4下列图是 Struts 的工作流程,所有的请求都提交给 ActionServlet图图 24 struts 工作流程图工作流程图Fig 24 Workflow of struts24 Hibernate 数据库持久化技术数据库持久化技术241 Hibernate 简介简介Hibernate 是一个面向 Java 环境的对象/关系数据库映射工具它是使用 GNU 宽通用公共许可证发行的自由、开源的软件,它为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架Hibernate 不仅仅管理 Java 类到数据库表的映射包括 Java

32、数据类型到 SQL 数据类型的映射 ,还提供了面向对象的数据查询检索机制,可以大幅度减少开发时人工使用 SQL 和 JDBC 处理数据的时间Hibernate 的目标是对于开发者通常的数据持久化相关的编程任务,解放其中的1095%对于以数据为中心的程序来说,它们往往只在数据库中使用存储过程来实现商业逻辑Hibernate 可能不是最好的解决方案,但对于那些在基于 Java 的中间层应用中实现面向对象的业务模型和商业逻辑的应用 Hibernate 是最有用的242 Hibernate 的工作流程的工作流程在 Java 应用中使用 Hibernate,大致包括以下步骤:1、创建 Hibernate

33、 配置文件2、创建持久类3、创建对象-关系-映射文件4、通过 Hibernate API 编写访问数据库的代码25 开发环境开发环境251 Eclipse 开发工具开发工具Eclipse 是目前主流的 Web 应用程序开发工具之一,它是一个开放源代码的、与NetBeans、Sun ONE Studio 和 Borland Jbuilder 类似的一种基于 Java 的整合型可扩展开发平台,也是目前最著名的开源项目之一就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具Java Development To

34、ols,JDT 它将包括Spring、Struts、Hibernate 等在内主流的开发框架以插件的形式嵌入其中,大大减少了程序开发人员的工作量根据 Eclipse 的体系结构,通过开发插件,它能扩展到任何语言的开发,甚至能成为图片绘制的工具尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C+、COBOL 和 Eiffel 等编程语言的插件已经可用,或预计会推出Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比方内容管理系统此外, Eclipse 还支持目前流行的多种数据库管理软件,如 SQL、Oracle等,

35、是一个功能强大,不可多得的集成开发工具由于其开放源码的特性,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注目前最新且功能较为稳定的版本是 Eclipse 33,插件版本是 MyEclipse 601学习文档 仅供参考252 Tomcat 服务器服务器1 Tomcat 的产生和发展 Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选自从 JSP 发布之后,推出了各式各样的 JSP 引擎Apache Group 在完成 GNUJSP10 的开发以后,开始考虑在 SUN 的 JSWDK 基础上

36、开发一个可以直接提供 Web 服务的 JSP 服务器,当然同时也支持 Servlet, 这样 Tomcat 就诞生了Tomcat 是 jakarta 项目中的一个重要的子项目,又是 sun 公司官方推荐的 servlet 和 jsp 容器,因为其技术先进、性能稳定,也受到其越来越多的软件公司和开发人员的喜爱servlet 和 jsp 的最新标准都可以在tomcat 的新版本中得到实现其次,Tomcat 是完全免费的软件,任何人都可以从互联网上自由地下载 2 在 Tomcat 中部署 Web 应用程序在 Tomcat 中,应用程序的部署很简单,你只需将你的 WAR 放到 Tomcat 的weba

37、pp 目录下,Tomcat 会自动检测到这个文件,并将其解压你在浏览器中访问这个应用的 Jsp 时,通常第一次会很慢,因为 Tomcat 要将 Jsp 转化为 Servlet 文件,然后编译编译以后,访问将会很快123 系统分析系统分析31 需求分析需求分析311 目标系统功能说明目标系统功能说明本教务管理系统针对客户提供强大的软件功能,主要维护日常教务管理工作的基本信息等,能为教务教学提供更好的数据支持软件的功能基本是通用的提供系统用户管理、角色管理、数据字典管理、课程表管理、总课表管理、教师课酬管理统计、试卷档案管理和生成报表 Excel 数据文档,查询帮助等功能312 用户需求分析用户需

38、求分析本教务管理系统是基于 Windows 操作系统基础上,通过对既定数据条件研究和分析并结合对学校教务管理进行分析提出来的对原有教务管理系统的非图形界面操作和功能不强的数据库系统的不稳定性、不可扩充性、难以移植等和原有系统功能覆盖面不广等缺陷相应提出了一些要求1、 要求系统目前流行的数据库系统 Mysql 作为底层数据库,使其具备很强的稳定性、扩充性、移植性等优良性能2、 要求系统以功能强大的 Windows 系列操作系统作为操作系统平台,使其具备优良的可视化图形操作界面,大力提高系统的可操作性和交互性尽量减少操作员的负担,让他们更方便、更快捷、更简单的进行操作3、 要求扩大系统功能覆盖面它

39、的功能要求能进行图书的编目建库、浏览数据、检索与统计数据、以及打印数据等功能的综合管理并能实现控制各用户系统权限,从而保证系统的安全性能4、 要求提高系统的可维护性系统的数据要求能随时进行备份与恢复,基于家庭图书管理系统的局限性这里就不要求数据能与其他数据库进行交流及共享数据 32 系统安全性系统安全性电脑系统的安全治理是一个庞大、复杂、面广的系统工程安全的核心是人,学习文档 仅供参考必须以人为核心进行安全管理采用各种先进的安全技术,使系统免受非法攻击,排除没有访问权限的使用者窃取机密信息,确保系统安全可靠的运行针对学校教务管理系统的特点,为了加强其安全性,系统采用一定的保密措施144 系统设

40、计系统设计41 数据库数据库设计设计411 数据库简介数据库简介Mysql 是目前主流的数据库软件之一,作为系统的后台服务,主要用来保存系统各类信息,通过数据库表的有效管理可以实现数据的永久存储,并可以通过特定的 SQL 语句对保存在其中的数据进行一系列操作,如查询、更新、删除、添加等等1 SQL 语言SQL 基础: SQL(Structured Query Language,结构查询语言)是一个功能强大的数据库语言SQL 通常使用于数据库的通讯ANSI美国国家标准学会声称,SQL 是关系数据库管理系统的标准语言SQL 语句通常用于完成一些数据库的操作任务,比方在数据库中更新数据,或者从数据库

41、中检索数据使用 SQL 的常见关系数据库管理系统有:Oracle、Mysql、 Sybase、 Microsoft SQL Server、 Access、 Ingress 等等虽然绝大多数的数据库系统使用 SQL,但是它们同样有它们自立另外的专有扩展功能用于它们的系统但是,标准的 SQL 命令,比方Select、 Insert、 Update、 Delete、 Create和 Drop常常被用于完成绝大多数数据库的操作MS SQL Server 就是用的 Transact- SQLSQL 语言有着非常突出的优点 非过程化语言:SQL 是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动

42、导航SQL 允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集,所有 SQL 语句接受集合作为输入,返回集合作为输出SQL的集合特性允许一条 SQL 语句的结果作为另一条 SQL 语句的输入SQL 不要求用户指定对数据的存放方法, 这种特性使用户更易集中精力于要得到的结果;所有 SQL 语句使用查询优化器,它是 RDBMS 的一部分,由它决定对指定数据存取的最快速度的手段,查询优化器知道存在什么索引,在哪儿使用索引合适,而用户则从不需要知道表是否有索引、有什么类型的索引统一的语言:SQL 可用于所有用户的 DB 活动模型,包括系统管理员、数据库管理员、 应用程序员、决策支持系

43、统人员及许多其它类型的终端用户SQL 为许多任务提供了命令,其中包括:学习文档 仅供参考查询数据;在表中插入、修改和删除记录;建立、修改和删除数据对象;控制对数据和数据对象的存取;保证数据库一致性和完整性;以前的数据库管理系统为上述各类操作提供单独的语言,而 SQL 将全部任务统一在一种语言中所有关系数据库的公共语言:由于所有主要的关系数据库管理系统都支持 SQL语言,用户可将使用 SQL 的技能从一个 RDBMS(关系数据库管理系统)转到另一个,所有用 SQL 编写的程序都是可以移植的SQL 语句: SQL 功能强大,是一种完备的数据处理语言,不仅用于数据库查询,而且用于数据库中的数据修改和

44、更新,概括起来,它可以分成以下几组:DMLData Manipulation Language,数据操作语言:用于检索或者修改数据; DDLData Definition Language,数据定义语言: 用于定义数据的结构,比方 创建、修改或者删除数据库对象; DCLData Control Language,数据控制语言:用于定义数据库用户的权限 DML 组可以细分为以下的几个语句: SELECT:用于检索数据; INSERT:用于增加数据到数据库; UPDATE:用于从数据库中修改现存的数据; DELETE:用于从数据库中删除数据 DDL 语句可以用于创建用户和重建数据库对象下面是 DD

45、L 命令:CREATE TABLE,ALTER TABLE,DROP TABLE,CREATE INDEX,DROP INDEXDDL 与 DML: 数据定义语言 DDL:它是用来创建和修改数据库结构的一种语句,包括 Create、Alter 和 Drop 语句数据操作语言 DML:包括数据查询与数据更新数据查询主要是由 Select 语句完成,这一点不再赘述而数据更新所造成的风险大大超过数据查询数据库管理系统必须在更改期内保护所存储的数据的一致16性,确保有效的数据进入数据库,数据库必须保持一致性,DBMS 还必须协调多用户的并行更新,以确保用户和它们的更改不至于影响其它用户的作业用于修改数

46、据库内容的 SQL 语句主要有以下三个: (1) Insert,向一个表中加入新的数据行 (2) Delete,从一个表中删除数据行 (3) Update,更改数据库中已经存在的数据 Insert 标准语法: INSERT INTO table name (col1, col2 ) VALUES (value1, value2 )Insert 语句还可以将多行数据添加到目标表中去,在这种形式的 Insert 语句中,新行的数据值不是在语句正文中明确地指定的,而是语句中指定的一个数据库查询添加的值来自数据库自身的行,在某些特定的状态下,这是非常有用的多行 Insert 语句为拷贝数据提供了一种紧

47、凑而高效的方法,但我在自己做的图书管理系统中没有使用这种方法,我在系统中是使用循环依照上面的用法来完成多个记录的插入 Update 语句用于更新单表中选定行的一列或多列的值要更新的目标表在语句中定义,Set 子句则指定要更新哪些列并计算它们的值Update 语句总是包含 Where 语句,而且 Update 语句比较危险,所以您必须明确地认识到 Where 语句的重要性,Where 语句被用来指定需要更新的行 标准语法: UPDATE table name SET columnname1 = value1 , columname2 = value2 WHERE search condition

48、 Delete 语句标准语法: DELETE FROM table name WHERE condition复杂操作实现: 在信息管理系统中,我们往往会遇到归类、汇总、映射、索引、子查询等复杂操作,相应的支持与实现如下: GROUP BY 子句语法为: SELECT column1, SUM(column2) FROM list-of-tables学习文档 仅供参考 GROUP BY column-list; 这个 GROUP BY 子句将集中所有的行在一起,它包含了指定例的数据以及允许合计函数来计算一个或者多个列在本人的系统中在显示数据时用到了此语句来对查询所得的内容排序然后再显示 组合条件

49、和布尔运算符,以下的 SQL 语句中就含有组合条件:SELECT column1, SUM(column2)FROM list-of-tablesWHERE condition1 AND condition2; 有些时候,需要一起浏览多个查询的结果、组合它们的输出,我们可以使用UNION 关键字 2 数据库数据库处理在信息系统的研究中一直是非常重要的主题,然而,近年来,随着World Wide Web(WWW)的猛增及 Internet 技术的迅速发展,使得数据库技术之时成为最热门技术之一数据库技术能使 Internet 应用超越具有早期应用特点的简单的发布同时,Internet 技术提供了一

50、种向用户发布数据库内容的标准化的访问方法这些技术没有脱离经典数据库技术的要求它们只是加重了数据库技术的重要性数据库的设计和开发及包括艺术有包括工程理解用户的需求,然后,把它们转变为有效的数据库设计是一个艺术过程把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用,是一个工程过程数据库的目的是帮助人们跟踪事务经典的数据库应用涉及诸如订单、顾客、工作、职工、学生、 之类的项,或其它数据量较大、需要密起关注的事务最近,由于数据库的普及,数据库技术已经被应用到了新的领域,诸如用于 Internet 的数据库或用于公司内联网的数据库数据库也被越来越多地应用于生成和维护多媒体应用程序上412

51、 数据库设计与实现数据库设计与实现1 数据库功能设计18依据教学管理系统的处理需求,对数据库表的设计及功能如下:学生个人信息表:用于存放学生的基本信息教师个人信息表:用于存放教师的基本信息课程信息表:用于存放课程的基本信息学生成绩表:用于存放学生的成绩纪录选课情况表:用于存入学生的选课纪录留言信息表:用于存放所有人的留言纪录2 数据库概念结构设计 1、实体及其联系图: 图图 41 实体及其联系图实体及其联系图Fig 41 Entity and relation2、系统流程图:学习文档 仅供参考图图 42 系统流程图系统流程图Fig 42 System flowchart3 数据库逻辑结构设计数

52、据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的数据库设计时需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照 DBMS 提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型数据库设计的步骤是:1 数据库结构定义:目前的数据库管理系统DBMS有的是支持联机事务处理 CLTP负责对事务数据进行采集、处理、存储的操作型 DBMS,有的可支持数据仓库、有联机分析处理 CLAP指为支持决策的制定对数据的一种加工操作功能的大型 DBMS,有的数据库是关系型的、有的可支持面向对象数

53、据库针对选择的 DBMS,进行数据库结构定义2 数据表定义:数据表定义指定义数据库中数据表的结构,数据表的逻辑结构包括:属性名称、类型、表示形式、缺省值、校验规则、是否关键字、可否为空等关系型数据库要尽量按关系标准化要求进行数据库设计,但为使效率高,标20准化程度应根据应用环境和条件来决定数据表设计不仅要满足数据存储的要求,还要增加一些如反映有关信息、操作责任、中间数据的字段或临时数据表3 存储设备和存储空间组织:确定数据的存放地点、存储路径、存储设备等,备份方案,对多版本如何保证一致性和数据的完整性4 数据使用权限设置:针对用户的不同使用要求,确定数据的用户使用权限,确保数据安全5 数据字典

54、设计:用数据字典描述数据库的设计,便于维护和修改为了更好地组织数据和设计出实际应用数据库,应该注意如下问题:标准化地重组数据结构:对数据进行标准化表达,这在后面将会具体讨论关系数据结构的建立:在进行了数据基本结构的标准化重组后,还必须建立整体数据的关系结构这一步设计完成后数据库和数据结构设计工作基本完成,只待系统实现时将数据分析和数据字典的内容代入到所设计的数据整体关系结构中,一个标准化数据库系统结构就建立起来了 建立关系数据结构涉及三方面内容:确定关联的关键指标项并建立关联表;确定单一的父系记录结构;建立整个数据库的关系结构 根据上面的 E-R 图,建立六张数据库表,其结构如下所示:表表 4

55、1 学生个人信息表学生个人信息表Tab 41 Imformation of Student字段名数据类型是否为空说 明numbervarchar(20)not null学号主码namevarchar(20)not nullsexvarchar(5)not null性别agebigintnot null年龄departmentvarchar(50)not null专业collegevarchar(50)not null学院phonevarchar(20)not null addressvarchar(50)not null地址学习文档 仅供参考inTimevarchar(50)not null入

56、学时间outTimevarchar(50)not null毕业时间passwordvarchar(20)not null密码 表表 42 教师个人信息表教师个人信息表Tab42 Imformation of Teacher字段名数据类型是否为空说 明numbervarchar(20)not null职工号主码namevarchar(20)not nullsexvarchar(5)not null性别agebigintnot null年龄departmentvarchar(50)not null部门postvarchar(20)not null职称remarkvarchar(100)not nu

57、ll备注passwordvarchar(20)not null密码表表 43 课程信息表课程信息表Tab43 Imfomation of Course字段名数据类型是否为空说 明numbervarchar(20)not null课程号主码namevarchar(20)not null课程名 creditbigintnot null学分 teachervarchar(20)not null授课老师 timevarchar(50)not null上课时间 addressvarchar(50)not null上课地点 typevarchar(50)not null课程类型表表 44 学生成绩表学生成

58、绩表Tab44 Preformence of Students22字段名数据类型是否为空说 明snumbervarchar(20)not null学生学号外码cnumbervarchar(20)not null课程号外码yearvarchar(50)not null学年termbigintnot null学期gradefloatnot null成绩chongXiuvarchar(10)not null重修标志表表 45 选课情况表选课情况表Tab45 CurriculumSelectedByStudents字段名数据类型是否为空说 明snovarchar(20)not null学生学号cnov

59、archar(20)not null课程号namevarchar(20)not null课程名称creditbigintnot null课程学分teachervarchar(20)not null授课老师timevarchar(50)not null上课时间addressvarchar(50)not null上课地点typevarchar(50)not null课程类型selectedvarchar(20)not null选课标志表表 46 留言信息表留言信息表Tab46 Imformation of Leave Words字段名数据类型是否为空说 明titlevarchar(100)not

60、null主题 namevarchar(20)not null留言人 emailvarchar(50)null留言人 email timevarchar(50)not null留言时间学习文档 仅供参考 contentvarchar(2000)not null留言内容42 功能设置功能设置421 主要模块的功能说明主要模块的功能说明 基于 Web 的教学管理系统主要是实现网上选课、信息查询、个人信息修改等功能的系统根据教学管理系统的基本需求和不同角色使用系统的权限不同,设定本系统的具体功能如下:1、管理员功能:实现学生信息查询、教师信息查询、添加或删除学生、添加或删除教师、留言管理、公告管理、课

温馨提示

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

评论

0/150

提交评论