成教管理系统需求分析_第1页
成教管理系统需求分析_第2页
成教管理系统需求分析_第3页
成教管理系统需求分析_第4页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、1 绪论1.1 成教管理系统需求分析当今时代是飞速发展的信息时代。 在各行各业中离不开信息处理, 这正是计算机被广泛应用于信息管理系统的环境。 计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制, 不仅提高了工作效率, 而且大大的提高了其安全性。尤其对于复杂的信息管理, 计算机能够充分发挥它的优越性。 计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好我校成人教育学生学籍、成绩信息而设计的。在学校里,学校学生资料繁多,包含很多的信息数据的管理,现今,有很多的学校都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前

2、对信息管理的主要方式是基于文本、 表格等纸介质的手工处理, 对于学生成绩的统计和核实等往往采用算盘, 计算器等工具进行, 对学生考试资料, 以及成绩管理多用手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的学校有计算机,但是尚未用于信息管理, 没有发挥它的效力, 资源闲置比较突出,这就是管理信息系统的开发的基本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改。学校采取手工方式对教务档案进行管理, 由于信息比较多, 信息的管理工作混乱而又复杂; 平时档案资料放在档案柜里, 教师和教务处的管理员也只是当时对它比较

3、清楚, 时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的成绩进行更改就更困难了。基于这此问题, 我认为有必要建立一个成人教育管理系统, 使学生学籍、 成绩管理工作规范化,系统化,程序化,避免教务管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改信息本系统基于 WEB 设计,采用 B/S 三层结构体系(前端即浏览器,中间层即响应层,后端即数据端)。所有应用数据安装在服务器端(后端),由中间层封装了所有业务逻辑, 负责前端与后端之间的数据传递和处理,数据库的维护和系统功能升级只需在服务器端进行即可,客户端不进行任何模块的安装

4、与设置,从而实现客户端的零维护,大大减轻管理员的工作量,并且提高了工作效率。1.2 功能模块介绍实现对学校在校成教班学生、 离校生档案信息资源的查询、 统计、维护与管理。包括:(1)后台管理员添加、修改(姓名、密码、性别、身份证号、准考证号、专业、学习形式、民族、籍贯、学号、政治面貌、健康状况、婚否、参加工作时间、放学前最高学历、入学时间、现在工作单位名称、详细地址、联系电话、邮政编码、家庭地址、简历、社会关系、结业时间、毕业证编号、学籍变动情况、注册日期)。2前台学生登陆后查询自己的档案信息,并可修改除姓名、准考证号、专业、学号、结业时间、毕业证编号之外的所有信息。注册日期为程序自动提取并录

5、入数据库。实现对学校在校成教班学生、离校生成绩信息资源、毕业设计信息的查询、统计、维护与管理。包括:(1) 班主任登陆后台可添加修改删除本班的所有学期的所有课程。(2) 班主任登陆后台将本班学生成绩添加到相应课程中,并可修改、删除。输入成绩时按成绩一(第一次考试成绩)、成绩二(如有补考,则输入成绩二),最终记入数据库的成绩为成绩一和成绩二的最高成绩。(3) 班主任登陆后台可对本班学生的毕业设计信息进行增删改查等日常维护。(4) 学生登陆后可查询自己的所有成绩,及自己的毕业设计信息。超级管理模块 ( 如图 1.1 所示 )1. 新闻管理超级管理员 admin 登陆后台,可对本系统新闻公告进行增删

6、改查等维护。2. 留言管理3. 超级管理员 admin 登陆后台,可回复、删除学生提问及访客留言。4. 班主任、专业、管理5. 超级管理员 admin 登陆后台,可对班主任、专业、课程进行增删改查等日常维护。管理员登陆( login.asp)超级管理班主任图 1.1 成教管理系统功能模块介绍1.3B/S 模式分析Browser/Server(简称 B/S)即浏览器 /服务器模式,是一种从传统的二层 C/S模式发展起来的新的网络结构模式,其本质是三层结构 C/S 模式。 B/S 模式是基于 Intranet 的需求而出现并发展的, Intranet 是应用 TCP/IP 协议建立的企事业单位内部

7、专用网络,它采用诸如 TCP/IP、HTTP 、SMTP 和 HTM L 等Internet 技术和标准,能为企事业单位内部交换信息提供服务。在 B/S模式中,客户端运行浏览器软件。浏览器以超文本形式向Web 服务器提出访问数据库的要求,Web 服务器接受客户端请求后,将这个请求转化为SQL 语法,并交给数据库服务器,数据库服务器得到请求后,验证其合法性,并进行数据处理,然后将处理后的结果返回给 Web 服务器, Web 服务器再一次将得到的所有结果进行转化, 变成 HTML 文档形式,转发给客户端浏览器以友好的 Web 页面形式显示出来。B/S 模式管理信息系统基本上克服了C/S 模式管理信

8、息系统的不足,其主要表现在:系统开发、维护和升级的经济性对于大型的管理信息系统,软件开发、维护与升级的费用是非常高的, B/S 模式所具有的框架结构可以大大节省这些费用, 同时,B/S 模式对前台客户机的要求并不高,可以避免盲目进行硬件升级造成的巨大浪费。B/S 模式提供了一致的用户界面B/S 模式的应用软件都是基于Web 浏览器的,这些浏览器的界面都很相似。对于无用户交互功能的页面,用户接触的界面都是一致的,从而可以降低软件的培训费用。B/S 模式具有很强的开放性在 B/S 模式下,外部的用户亦可通过通用的浏览器进行访问。B/S 模式的结构易于扩展由于 Web 的平台无关性, B/S 模式结

9、构可以任意扩展, 可以从一台服务器、几个用户的工作组级扩展成为拥有成千上万用户的大型系统。B/S 模式具有更强的信息系统集成性在 B/S 模式下,集成了解决企事业单位各种问题的服务,而非零散的单一功能的多系统模式,因而它能提供更高的工作效率。B/S 模式提供灵活的信息交流和信息发布服务B/S 模式借助 Internet 强大的信息发布与信息传送能力可以有效地解决企业、高等学校内部的大量不规则的信息交流。2 数据库理论基础一个成功的信息管理系统, 是建立在许多条件之上的, 而数据库是其中一个非常重要的条件和关键技术。信息管理系统所涉及的数据库设计分五个步骤: 数据库需求分析、概念设计、逻辑设计、

10、物理设计与加载测试。数据库的设计中, 如何处理多对多的关系和如何设计主键, 是两个有着较大难度、需要重点考虑的问题。本章着重从 SQL 应用、数据库设计范式和查询优化等方面来分析本系统的关键技术和实现难点。2.1 数据库系统设计及范式分析信息系统的主要任务是通过大量的数据获得管理所需要的信息, 这就必须存储和管理大量的数据。 因此建立一个良好的数据组织结构和数据库, 使整个系统都可以迅速、 方便、准确地调用和管理所需的数据, 是衡量信息系统开发工作好坏的主要指标之一。数据库系统设计数据库设计主要是进行数据库的逻辑设计, 即将数据按一定的分类、 分组系统和逻辑层次组织起来, 是面向用户的。 数据

11、库设计时需要综合企业各个部门的存档数据和数据需求, 分析各个数据之间的关系,按照 DBMS 提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型。数据库设计的步骤是:(1)数据库结构定义(2)数据表定义(3)数据使用权限设置(4)数据字典设计建立起一个良好的数据指标体系,是建立数据结构和数据库的最重要的一环。一个良好的数据指标体系是建立DB 的必要条件,但不是充分条件。我们完全可以认为所建指标体系中的一个指标类就是关系数据库中的一个基本表, 而这个指标类下面的一个个具体指标就是这个基本表中的一个字段。 但如果直接按照这种方式建库显然还不能

12、算最佳。 对于指标体系中数据的结构在建库前还必须进行规范化的重新组织。在数据的规范化表达中,一般将一组相互关联的数据称为一个关系(relation),而在这个关系下的每个数据指标项则被称为数据元素(dataelement),这种关系落实到具体数据库上就是基本表,而数据元素就是基本表中的一个字段(field )。规范化表达还规定在每一个基本表中必须定义一个数据元素为关键字(key),它可以唯一地标识出该表中其它相关的数据元素。在对表的形式进行了规范化定义后, 数据结构还有五种规范化定义, 定名为规范化模式,称为范式。在这五种范式中,一般只用前三种,对于常用系统就足够了。而且这五种范式是 “向上兼

13、容 ”的,即满足第五范式的数据结构自动满足一、二、三、四范式,满足第四范式的数据结构自动满足第一、二、三范式, ,依此类推。第一范式 (firstnormalform ,简称 1NF)就是指在同一表中没有重复项出现,如果有则应将重复项去掉。 这个去掉重复项的过程就称之为规范化处理。 在本文所讨论的开发方法里, 1NF 实际上是没有什么意义的。因为我们按规范化建立的指标体系和表的过程都自动保证了所有表都满足1NF。第二范式 (secondnormalform,简称 2NF)是指每个表必须有一个 (而且仅一个 )数据元素为主关键字 (primarykey),其它数据元素与主关键字一一对应。只要知道

14、了一个合同记录的合同号,就可以唯一地在同一行中找到该合同的任何一项具体信息。通常我们称这种关系为函数依赖(functionaldepEndence)关系。即表中其它数据元素都依赖于主关键字,或称该数据元素唯一地被主关键字所标识。第三范式 (thirdnormalform ,简称 3NF)就是指表中的所有数据元素不但要能够唯一地被主关键字所标识, 而且它们之间还必须相互独立, 不存在其它的函数关系。也就是说对于一个满足了 2NF 的数据结构来说,表中有可能存在某些数据元素依赖于其它非关键宇数据元素的现象,必须加以消除。为防止数据库出现更新异常、插入异常、删除异常、数据冗余太大等现象,关系型数据库

15、要尽量按关系规范化要求进行数据库设计。2.2SQL 语言介绍SQL(StructuredQueryLanguage,结构查询语言 )是一个功能强大的数据库语言。 SQL 通常使用于数据库的通讯。ANSI (美国国家标准学会)声称,SQL 是关系数据库管理系统的标准语言。 SQL 语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。使用SQL 的常见关系数据库管理系统有: Oracle、Sybase、MicrosoftSQLServer、Access等等。虽然绝大多数的数据库系统使用SQL,但是它们同样有它们自立另外的专有扩展功能用于它们的系统。 但是,标准的

16、SQL 命令,比如 "Select"、"Insert" 、"Update"、"Delete"、"Create"和"Drop" 常常被用于完成绝大多数数据库的操作。SQL 语言有着非常突出的优点,主要是:非过程化语言统一的语言是所有关系数据库的公共语言SQL 功能强大,是一种完备的数据处理语言,不仅用于数据库查询,而且用于数据库中的数据修改和更新,概括起来,它可以分成以下几组:DML (DataManipulationLanguage,数据操作语言):用于检索或者修改数据;DD

17、L (DataDefinitionLanguage,数据定义语言):用于定义数据的结构,比如创建、修改或者删除数据库对象;DCL (DataControlLanguage,数据控制语言):用于定义数据库用户的权限。DML 组可以细分为以下的几个语句:SELECT:用于检索数据;INSERT:用于增加数据到数据库;UPDATE:用于从数据库中修改现存的数据;DELETE :用于从数据库中删除数据。DDL 语句可以用于创建用户和重建数据库对象。下面是DDL 命令:CREATETABLE ,ALTERTABLE ,DROPTABLE , CREATEINDEX ,DROPINDEX下面是一个简单 S

18、QL 语句的例子:我们使用 SQL 语句来从 Students中检索 stu_ID 为 15 的学生姓名:SELECTNameFROMStudentsWHEREstu_ID=15数据定义语言 DDL :它是用来创建和修改数据库结构的一种语句,包括Create、Alter 和 Drop 语句。数据操作语言 DML :包括数据查询与数据更新。数据查询主要是由Select语句完成,这一点不再赘述。 而数据更新所造成的风险大大超过数据查询。 数据库管理系统必须在更改期内保护所存储的数据的一致性, 确保有效的数据进入数据库,数据库必须保持一致性, DBMS 还必须协调多用户的并行更新,以确保用户和它们的

19、更改不至于影响其它用户的作业。用于修改数据库内容的SQL 语句主要有以下三个:(1)Insert,向一个表中加入新的数据行(2)Delete,从一个表中删除数据行(3)Update,更改数据库中已经存在的数据3ASP 数据库编程3.1ASP 简介MicrosoftActiveServerPages 即我们所称的 ASP,其实是一套微软开发的服务器端脚本环境, ASP 内含于 IIS3.0 和 4.0 之中 ,通过 ASP我们可以结合HTML 网页、 ASP 指令和 ActiveX 元件建立动态、交互且高效的WEB 服务器应用程序。有了 ASP 你就不必担心客户的浏览器是否能运行你所编写的代码,

20、因为所有的程序都将在服务器端执行, 包括所有嵌在普通 HTML 中的脚本程序。当程序执行完毕后, 服务器仅将执行的结果返回给客户浏览器, 这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。以下罗列了 ActiveServerPages所独具的一些特点:1.使用 VBScript 、Jscript 等简单易懂的脚本语言,结合 HTML 代码,即可快速地完成网站的应用程序。2.无须 compile 编译,容易编写,可在服务器端直接执行。3.使用普通的文本编辑器,如Windows 的记事本,即可进行编辑设计。4.与浏览器无关 (BrowserIndependence),用户端只要使用可执行HT

21、ML 码的浏览器,即可浏览ActiveServerPages所设计的网页内容。ActiveServerPages所使用的脚本语言 (VBScript 、Jscript)均在 WEB 服务器端执行,用户端的浏览器不需要能够执行这些脚本语言。5.ActiveServerPages能与任何 ActiveXscripting 语言相容。除了可使用VBScript 或 Jscript 语言来设计外,还通过plug-in 的方式,使用由第三方所提供的其他脚本语言,譬如REXX 、Perl、Tcl 等。脚本引擎是处理脚本程序的COM(ComponentObjectModel)物件。6.ActiveServe

22、rPages的源程序,不会被传到客户浏览器, 因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。7.可使用服务器端的脚本来产生客户端的脚本。8.物件导向( Object-oriented)。9.ActiveXServerComponents(ActiveX 服务器元件 )具有无限可扩充性。可以使用 VisualBasic、Java、VisualC+、COBOL 等编程语言来编写你所需要的 ActiveXServerComponent。3.2ASP 内置组件介绍什么叫组件 (ActiveServerCompontents)组件是基于 Activex 技术的代码片断,通过指定接口提供指定的

23、一组服务,组件供给客户端( Clients)在运行时候请求的对象。你可以理解成组件是一种程序,通过调用这种程序,你可以实现你在 ASP 程序中无法实现或者很难实现的功能,组件是一种很好的代码重用方法。我们可以运用 ActiveServerPages设计制作动态、交互的Web 页面,但是一旦你开始着手工作, 参与一些实际工作的时候, 你会发现 asp 在某些方面功能不强,甚至不借助服务器端组件就很难实现某些功能,例如:数据库操作(我们通常使用 ADO ,ADO 就是一个组件),邮件功能,文件系统操作,图形功能 .但是幸运的是我们可以找到很多组件来提高ASP 编程应用能力,下面对ASP内置组件作简

24、单的介绍。·ADROTATOR 组件广告轮显组件属性 :Border,Clickable,TargetFarms方法 :GetAdvertisement·FILEACCESS 组件文件操作组件FileSystemObject 对象方法 :CreateTextFile,OpenTestFile,CopyFile,DeleteFile, FileExists,GetExtensionName,GetFile,GetFileName,MoveFile, CopyFolder,GetParentFolderName,GetSpecialFolder,GetTempName, Get

25、Drive,GetDriveName,DriveExists,Drives, GetAbsolutePathName,GetBaseName. ·CONTENTLINKING 组件此组件主要用于管理网页网址间的超文本链接方法 :GetListCount,GetNextURL,GetPreviousDescription, GetListIndex,GetNthDescription,GetPreviousURL, GetNextDescription,GetNthURL. ·BROWERCAPABILITIES 组件浏览器性能组件属性 :browser,version,ma

26、jorver,minorver,beta,Platform,ActiveXControls,backgroundsounds,Cookies,Frames, Javaapplets,Tables,Vbscript,Javascript,cdf.建立方法SetBrowerType=Server.CreateObject("MSWC.BrowserType")3.3SQL 语言在 ASP 中的应用数据库查询语言( SQL)是使用于关系数据库的标准语言,被很多类型的数据库所支持。 下面简单介绍我们平时使用最频繁, 也是本系统所使用的主要语句: SELECT 的语法以及使用。语句的

27、语法如下:SELECTall|*|distinctcolumn1,column2FROMtable1,table2WHEREcondition1|expression1ANDcondition2|rxpression2在上面的语法中, 外的语句是必须的, 而 内的是可选的, 对于以 |分割的操作符,则表明语法中必须从|分割的操作符中选择一个。下面的语法描述同上。在 SELECT.FROM.WHERE 语句中其中 SELECT 指定需要检索的字段,FROM 指定要查询的表, WHERE 指定选择纪录的条件,另外还可以包含ORDERBY 语句来制定排序纪录。语法如下:ORDERBYcolumn1|

28、IntegerASC|DESC其中column1 制定排序的字段,也可以使用Integer 指定的字段索引来排序, ASC为升序、DESC 为降序。在 SELECT 语句的 WHERE 中,我们可以使用操作符号 >来比较大小以及使用 LIKE 进行匹配。在 WHERE 语句中,可以使用的操作符有以下几类:1、比较操作符包含 =、<>、>、<、>=、<=等若干类2、逻辑操作符包含以下若干类:LIKE 、IN 、BETWEEN 、UNIQUE 、ISNULL 、EXISTS、ALL 和ANYLIKE 操作符通过使用通配符将一个值同其它值比较,在ASP 的

29、SQL 查询中,可以使用的通配符是 * 和其中 *代表任意的若干个字符,而代表一个字符,例如上面语句中的 LIKE '*Beginner* 代表查找所有包含字符串 Beginner 的值。不过要注意的是使用 * 和作为通配符是 VB 的专利。真正的 SQL 语言的通配符是 %和_,其中 %代表任意多个字符, _代表一个字符。另外 MicrosoftJetEngine对于 LIKE 操作符还提供了其它一些的过滤选项。IN 操作符用于比较某一个值是否等于几个值中的一个值,例如下面的语句:"SELECTstu_name,YearFROMstudentWHEREYearIN(2001

30、,2002,2003)"将从表 Titles 中选择所有在 2001,2002,2003年入学的学生名单。BETWEEN 操作符勇于在两个值之间搜索,例如WHEREYearBETWEEN2000AND2003 指定入学年份必须在 1989 年和 1991 年之间。对于逻辑操作符,可以结合NOT 操作符实现改变查询条件的方向。例如WHEREYearNOTIN(2001,2002,2003)3、连接符WHERE 中的连接符包括 AND 和 OR,使用 AND 时,所有查询都必须是 True 时,条件才成立,而使用 OR 时,只要连接的一个查询为 True,条件就成立。在使用比较操作符时要

31、注意, 在 ASP 操作数据库引擎时对于查找的字符串,要使用单引号或者双引号将字符串括起来,例如 WHEREName='LiGang' 。而对于日期类型的数据,要使用 #号将日期括起来,例如WHEREBirthDay>#1980-10-01# 而在使用通配符和LIKE 操作符时,需要使用引号而不是 #号,例如 WHEREBirthDayLIKE"1990-01-*"。引号告诉数据库引擎将日期当字符串处理,而#号告诉数据库引擎将日期当数字处理。4 成教管理信息系统设计4.1 成教管理系统数据库设计在概念设计阶段中,应该从用户的角度看待数据及处理要求和约束

32、,产生一个反映用户观点的概念模式。然后再把概念模式转换成逻辑模式。将概念设计从设计过程中独立开来,使各阶段的任务相对单一化,设计复杂程度大大降低,不受特定 DBMS 的限制。利用 ER 方法进行数据库的概念设计,可分成三步进行:首先设计局部ER模式,然后把各局部 ER 模式综合成一个全局模式,最后对全局 ER 模式进行优化,得到最终的模式,即概念模式。(1)设计局部 ER模式 ( 如图 4.1)实体和属性的定义:学生id(自动编号 )、stu_name(姓名 )、stu_pw(密码 )、stu_sex(性别 )、stu_card(身份证号 )、stu_id(准考证号 )、 spe_name(专

33、业 )、 stu_style(学习形式 )、stu_mz(民族 )、stu_jg(籍贯 )、stu_xh(学号 )、stu_zz(政治面貌 )、stu_jk(健康状况 )、stu_hf(婚否 )、stu_cjgz(参加工作时间 )、stu_xl(入学前最高学历 )、stu_rxsj(入学时间 )、stu_now_name(现在工作单位名称 )、stu_now_address(详细地址 )、stu_now_tel(联系电话 )、stu_now_post(邮政编码 )、stu_home(家庭地址 )、stu_resume(简历 )、stu_shgx(社会关系 )、stu_jysj( 结业时间 )、

34、 stu_byzh(毕业证编号 )、stu_xjbd(学籍变动情况 )、stu_date(注册日期 )管理员表(超级管理员、 班主任)id( 自动编号 )、admin_name(管理员名 )、admin_pw(管理员密码 )、 check(检查是否为超级管理员)spe_name(专业名 )学生成绩表 stu_xh(学生学号)、 cou_id(课程编号 )、stu_cj_1(学生第一次成绩 )stu_cj_2(学生补考成绩 )、 stu_cj_3(学生最终成绩)毕业设计表 stu_xh(学生学号)、 gra_title(毕业论文题目 )、gra_teacher(指导老师 )、gra_db(答辩负

35、责人)、 gra_cj(答辩成绩)奖惩情况表 stu_xh(学生学号)、 stu_award(奖惩情况 )课程表 cou_id(课程编号 )、 cou_name(课程名 )、cou_teacher(开课教师 )、cou_term(开课学期 )专业表 spe_name(专业名 )spe_teacher(班主任 )结业其时间它学号毕业证编号姓名图 4.1 局部 ER 图的设计示例 (部分属性未列出 )MN学生成绩课程1图 4.2 联系定义N专业拥有学生ER 模型的 “联系 ”用于刻画实体之间的关联。 一种完整的方式是对局部结构中任意两个实体类型, 依据需求分析的结果, 考察局部结构中任意两个实体类

36、型MN1:1 等。还要拥有课程之间是否存在联系。专若业有联系,进一步确定是1:N,M:N ,还是考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系,等等。联系定义如图4.2 所示。解释如下:一个学生可以选择多门课程学习,而一门课程有多个学生学习;一个专业可以拥有多名学生,而一名学生只能选择一个专业;一个专业可以拥有多门课程,而一门课程也可在不同的专业讲授。(2)设计全局 ER模式所有局部 ER 模式都设计好了后,接下来就是把它们综合成单一的全局概念结构。全局概念结构不仅要支持所有局部ER 模式,而且必须合理地表示一个完整、一致的数据库概念结构。班主任1

37、专业专业名拥有N1学生学生学号M课程编号拥有成绩第一次成绩N最终成绩N课程课程编号图 4.3 “成教管理系统 ”的全局 ER 模式课程名(1)确定公共实体类型开课教师开课学期为了给多个局部 ER 模式的合并提供开始合并的基础, 首先要确定各局部结构中的公共实体类型。 在这一步中我们仅根据实体类型名和键来认定公共实体类型。一般把同名实体类型作为公共实体类型的一类候选,把具有相同键的实体类型作为公共实体类型的另一类候选。(2)局部 ER 模式的合并合并的原则是: 首先进行两两合并; 先和合并那些现实世界中有联系的局部结构;合并从公共实体类型开始,最后再加入独立的局部结构。(3)消除冲突冲突分为三类

38、:属性冲突、结构冲突、命名冲突。设计全局 ER 模式的目的不在于把若干局部ER 模式形式上合并为一个ER模式,而在于消除冲突, 使之成为能够被所有用户共同理解和接受的同一的概念模型。(4)全局 ER 模式的优化在得到全局 ER 模式后,为了提高数据库系统的效率, 还应进一步依据处理需求对 ER 模式进行优化。 一个好的全局 ER 模式,除能准确、 全面地反映用户功能需求外, 还应满足下列条件: 实体类型的个数要尽可能的少; 实体类型所含属性个数尽可能少;实体类型间联系无冗余。综上所述, “成教管理系统 ”的全局 ER 模式图 4.3 所示。本系统选用了 SQL2000 数据库来进行数据库的逻辑

39、设计。 首先创建一个数据库:huoyan4.1-表 4.7所示。、然后建立七个基本数据库表如表表 4.1 学生基本信息表的结构字段名数据类型长度是否关键必填说明字Stu_idint4是是自动编号stu_namenvarchar50否是学生姓名stu_pwnvarchar50否是密码stu_sexnvarchar50否是性别stu_cardnumeric9否是身份证号stu_idnumeric9否否准考证号spe_namenvarchar50stu_stylenvarchar50stu_mznvarchar50stu_jgnvarchar50stu_xhnumeric9stu_zznvarcha

40、r50stu_jknvarchar50stu_hfnvarchar50stu_cjgzdatetime8stu_xlnvarchar50stu_rxsj datetime 8 stu_now_name nvarchar 50 stu_now_address nvarchar 50stu_now_telnumeric9stu_now_postnumeric9stu_homenvarchar50stu_resumentext16stu_shgxntext16stu_jysjdatetime8stu_byzhnumeric9stu_datedatetime8stu_xjbdnvarchar50否是专

41、业否是学习形式否是民族否是籍贯是否学号否是政治面貌否是健康状况否是婚否否否参加工作时间否是放学前最高学历否是入学时间否否现在工作单位否是详细地址否是联系电话否是邮政编码否是家庭地址否是简历否是社会关系否否结业时间否否毕业证编号否是注册日期否否学籍变动情况表 4.2 学生成绩表的结构字段名数据类型长度是否关键字必填说明idint4是是自动编号stu_xhnumeric9是是学生学号cou_idnumeric9stu_cj_1numeric9是是课程编号否是学生第一次成绩stu_cj_2numeric9stu_cj_3numeric9否否学生补考成绩否是学生最终成绩表 4.3 课程表的结构字段名数

42、据类型长度是否关键字必填说明idint4是是自动编号Cou_idnumeric9是是课程编号Spe_namenvarchar9否是所属专业名cou_namenvarchar50否是课程名cou_teachernvarchar50否是开课教师cou_termnvarchar50否是开课学期表 4.4 专业表的结构字段名数据类型长度是否关键字必填说明idint4是是自动编号spe_namenvarchar50是是专业名teacher_pwnvarchar50否是班主任密码spe_teachernvarchar50否是班主任表 4.5 毕业设计表的结构字段名数据类型长度是否关键字必填说明idint4

43、是是自动编号stu_xhnumeric15是是学生学号gra_titlenvarchar30否是毕业论文题目gra_teachernvarchar15否是指导老师gra_dbnvarchar15否是答辩负责人gra_cjnumeric10否是答辩成绩表 4.6 管理员表的结构字段名数据类型长度是否关键字必填说明idint4是是自动编号Admin_checknvarchar50否否是否为超级管理员Spe_namenvarchar50admin_namenvarchar50admin_pwnvarchar50否是专业名否是管理员名否是管理员密码表 4.7 新闻表的结构字段名数据类型长度是否关键字必

44、填说明idnumeric15是是自动编号News_datedatetime50否是添加 /修改日期News_titlenvarchar50News_contentntext16否是新闻名否是新闻内容4.2 学籍管理模块的实现学籍管理模块分成学生前台注册,管理员后员添加、 修改、删除两个板块。学生前台注册不包括学号、 毕业证号等学生无权填写的项目。 stu_reg.asp 文件包含 script 脚本语言对输入数据进行检查, 若不允许为空的字段未输入数据,则提示错误。对于学号等数字类型字段,由 stu_reg_save.asp进行验证,若这些字段为非数字类型,则定义 SESSION("

45、ERROR")="YES" ,并response.Redirect("stu_reg.asp")跳转到 stu_reg.asp文件,由 if 语句判断并输出出错信息 “sorry!身份证号、准考证号、学号、电话、邮编、毕业证编号必须为数字! ”。若所有输入都正确,则连接数据库huoyan,查询并打开 student表 ,用 addnew方法将发出请求的数据录入数据库,并跳转到成功页面ok.htm。程序流程图见图 4.4Stu_reg.asp报错否IF 判断是Stu_reg_save.asp判断输入图 4.4 程序流程图是否完整stu_reg.a

46、sp-否学生注册页面 (部分代码 )IF 判断<!-#includefile="./include/conn.asp"->-/ 头文件包含数据库连接文件<!-#includefile="./include/pass.asp"是->-/ 头文件包含密码验证文件<script>录入判断学号等字functionerror()段输入是否正Student表Stu_edit.as修删Stu_del.aspalert(" 请输入姓名 !");returnfalse;搜索elsereturntrue;</sc

47、ript>-/<%Stu_search.asp检查输入是否完整正确ifSESSION("ERROR")="YES"then%><tablewidth="59%"border="0"align="center"cellpadding="0"cellspacing="0"><tr><tdheight="13"><divalign="center"><

48、spanclass="font1style2">sorry!身份证 号、准考证号、学号、电话、邮编、毕业证编号必须为数字!</span></div></td></tr></table><%endifSESSION("ERROR")=""%>-/ 用 SESSION 方法检查输入错误,并显示信息<formname="form1"method="post"action="stu_reg_save.asp&q

49、uot;onSubmit= "returnerror()">-<selectname="spe_id"size="1"id="spe_id"><%DIMRSSETRS=SERVER.CreateObject("ADODB.RECORDSET")SQL="SELECT*FROMspecialitywherespe_name='"&SESSION("SPE_NAME")&"'"RS.O

50、PENSQL,CONN,1,1DIMSPE_NAME:SPE_NAME=RS("spe_name")DIMID:ID=RS("id")%><optionselectedvalue="<%=ID%>"><%=SPE_NAME%></option> <%rs.closesetrs=Nothing%></select>-/用 speciality 中查询并列出专业表供学生注册时选择-</form>用户界面如图 4.5 所示图 4.5用户前台登陆查看档案

51、界面stu_reg_save.asp学生学籍信息存入数据库 (部分代码 )<%DIMstu_card:stu_card=REQUEST("stu_card") If not(isnumeric(stu_card) Ornot(isnumeric(REQUEST("stu_id") ornot(isnumeric(REQUEST("stu_xh") Ornot(isnumeric(REQUEST("stu_now_post") ornot(isnumeric(REQUEST("stu_byzh")then SESSION("ERROR")="YES" response.Redirect("stu_reg.asp") ENDIF%>-/检查学号等属性是否为数字,如果不是数字类型,只跳转到注册页面,并定义 session 方法<%DIMRSSETRS=SERVER.CreateObject("ADODB.RECORDSET")SQL="SELECT*FROMstudent

温馨提示

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

评论

0/150

提交评论