1、目录1 引言 .11.1 项目研究背景 11.2 项目研究意义 22 可行性分析 .43 系统需求分析 .63.1 总体功能需求分析 63.2 系统具体功能模块需求分析 63.2.1 用户管理功能 63.2.2 学生信息管理功能 63.2.3 数据库维护功能 73.2.4 学生信息查询功能 73.2.5 学生相片上传功能 73.3 数据库概要结构设计 73.3.1 实体 E-R 图 73.3.2 系统 E-R 图 83.3 数据流程图 .113.2 数据字典 .134 系统概要设计 .154.1 系统简介 154.2 系统总体结构设计 154.3 数据库设计 164.3.1 数据库表设计 .1
2、64.3.2 物理结构设计 .194.4 安全保密设计 204.4.1 系统安全设计 .204.4.2 防 SQL 注入 .214.4.3 登录验证码设计 .225 系统详细设计 .235.1 系统结构图 235.2 系统公共模块设计 235.3 人机界面设计 235.3.1 登录界面设计 .235.3.2 教师用户功能与界面设计 .255.3.3 公共查询平台功能与界面设计 .315.4 系统后台管理设计 325.4.1 系统后台功能结构设计 .325.4.2 系统后台功能与界面设计 .326 系统实现及测试 .386.1 系统开发环境 386.1.1 系统开发工具 .386.1.2 系统开
3、发平台 .386.2 部份源代码的实现 386.2.1 数据库接口代码实现 .386.2.2 防止 SQL 注入代码实现 .396.2.3 登录验证码实现 .406.3 测试计划 416.3.1 测试方案 .416.3.2 测试项目 .416.4 测试用例 426.4.1 输入数据测试 .426.4.2 输入键测试 .426.4.3 功能测试 .427 总结与展望 .437.1 系统设计总结 437.2 展 望 .43致谢 .45参考文献 .46学生信息管理系统的设计与实现摘要:从 1999 年,中国高校开始扩招到 2005 年,高校年招生人数已达到 530 万人。随着我国高等教育的迅速发展,
4、高校规模的不断扩大,高校信息管理的网络化、信息化、智能化成为发展的趋势。如果靠传统的管理办法和落后的手工记录办法来开展学生信息工作是难以适应现代化教学工作需要的。本文主要讨论了基于 WEB 架构,以 ASP 技术和 Microsoft Access 2003数据库为基础,使用 VBScript 和 JavaScript 为脚本语言开发的学生信息管理系统的设计与实现。系统主要包括管理用户管理、教师用户管理、普通查询管理、学生信息管理、数据恢复与备份等主要模块和后台数据库、系统登录、用户管理设计与具体实现。该系统设计的界面友好,易于操作,方便使用。 关键词:管理信息系统;WEB 架构;学生信息管理
5、;ASP 技术;Microsoft Office Access 2003The Design and Implementation of Student Information Management System Abstract:Hight School in China started to expand to recruit students form 1999, and till the year 2005, the number of the students that had been taken in was up to 5,300,000 already. Along with
6、 the fast development of our higher education and high school scaled itself up continuously, there is a development trend towards networking, information-based and intelligentize of the high school information management. That is, use traditional methods and outdated manual record to manage a studen
7、ts information work is very tough to meet the needs of the modern teaching nowadays. This text mainly discussed the design and implementation of student information management system according to the WEB structure, together with the ASP technique and the Microsoft Access 2003 database used as the fo
8、undation while using VBScript and JavaScript as script language. The system (SIMS) mainly includes admin user management, teacher management, general search management, students information management, data recovery and backup, background database, system logining, user management design and impleme
9、ntation. The system is of friendly man-machine interface and simple operation.Key words: MIS; WEB structure; student information management; ASP technology; Microsoft Office Access 200311 引言高校学生档案是学生在校期间各方面表现及重要社会实践活动的真实记录,是反映学生德、智、体、美等综合素质以及学生家庭社会关系、经济状况的主要原始材料。它既是学校考察录用、培养教育学生的第一手材料,又是国家选拔、任用人才的重要
10、依据,更是每个学生由学校走向社会的重要人事档案形成的基础。因此,学生档案在管理、就业等各个环节中的体现尤为重要。近年来,随着高校改革的进一步深入,办学形式灵活多样,学生的层次多样,给高校学生档案管理工作也提出了新的要求,高校的学生档案管理工作不容忽视。 11999 年,中国高校开始扩招,当年扩招比例高达 47%,到了 2005 年,高校招生人数已达到 530 万人。从 1998 年2005 年的 7 年里招生人数增加了 4 倍,年均增加 22%,大大超过人口、经济、基础教育等的增长速度。 2可见近年来,我国高等职业教育迎来了蓬勃发展的新局面,各高等院校的招生规模不断扩大,学生规模日趋庞大,导致
11、了学校的教学管理负担越来越重。在科学技术日新月异的 21 世纪,如果靠传统的管理办法和落后的手工记录办法来开展学生信息工作是难以适应现代化工作需要的,这就需要提高信息管理的现代化水平,进而使信息工作上一个新台阶。21 世纪的今天,科学技术突飞猛进,经济知识和信息产业初见端倪,特别是信息技术和网络技术的讯速发展和广泛应用,对社会的政治,经济,军事,文化等领域产生越来越深刻的影响,也正改变着改变人们的工作,生活学习,交流方式。网络为加强和改进高校学生管理工作带来了新机遇,但如何开辟学生管理的新领域,拓展管理的渠道和手段,这是必须研究的一个新问题。 3本文主要论述了基于 B/S 架构,采用 ASP
12、技术设计与开发学生信息管理系统的实现方案,阐述了本系统的各个模块的功能,和后台数据库、系统登录、用户管理、学生信息管理、成绩管理的具体设计与实现。其主要目的在于解决日渐庞大的高校学生信息管理工作,改变目前学生信息管理严重滞后、利用率太低和发挥作用太小的局面,使其实现网络化、信息化、智能化,保证信息数据完整、真实、准确,进而使高校学生信息管理工作上一个新台阶。1.1 项目研究背景无可置疑,21 世纪是飞速发展的信息时代,进行大量的信息管理工作是各行各2业不可避免的问题,因此,如何高效、安全、简易的进行信息管理成为新时代人们所关注的问题。C/S 模式的学生管理信息系统尽管尽管有许多优点,但不利于信
13、息的共享,导致一个个信息孤岛的产生,基于 WEB 的 MIS 较之传统的 C/S 模式的MIS 更利于信息共享和系统维护与升级。 4基于 WEB 的 MIS 的最大好处在于使用它进行信息控制,不仅能提高了工作效率,而且还能大大的提高了其安全性和简易性。近年来随着高校不断扩招,在校学生人数急剧上升,大大增加了各校学生管理工作人员的工作量,传统的手工管理模式已无法适应当前工作需要 5,继续采用手工管理模式进行高校学生信息管理明显是不符合教育现代化的。教育信息化是一个关系到整个教育改革和教育现代化的系统工程。学校管理信息化是教育信息化的重要组成部分。 6学生管理是高校管理的基础,由于学生人数众多,学
14、生信息管理的工作量是非常大的,在成绩和学籍管理的过程中要填写大量的表格,还需要对这些数据进行统计分析,迫切需要引进计算机技术加以改造。近年来,随着因特网以及校园网的日益普遍,通过网络和 Web 方式可以实现网上管理,方便学生使用,也可以大大提高工作效率。 7所以,现在的技术环境背景已经具备开发基于 WEB 的学生信息管理系统的条件,并且,从当今高校学生信息管理的情况和面临的挑战来讲,也急需一个适应教育现代化的先进、高效、简易的现代化信息管理系统来进行工作,而基于 WEB 的学生信息管理系统无疑是一个绝佳选择。1.2 项目研究意义当前我国高校学生信息管理工作主要存在以下两个问题:(1)学生信息管
15、理基本上还采用传统的、原始的、手工操作的管理模式。 近年来,随着招生人数的扩大,落后的手工管理方式已越来越不适应现代化的高等教育的快速发展,目前这种状况严重制约着学生信息管理工作科学化、规范化、现代化的进程。(2)信息材料质量不高,不规范,这是由于部分学生对自己信息填写不仔细,不认真,不仔细或者信息管理输入人员的疏忽造成的。采用传统的学生信息管理模式如直接手工管理或者开放性程度不高的管理系统不可避免的浪费大量的人力、物力和财力。如何提高学生信息管理的水平,建立适合自己院校的学生信息管理系统,已成为高校信息化建设过程中重特解决的重要问题,因此,必须采用现代化手段管理学生信息。采用现代化的手段管理
16、学生信息,3就是学生在校时,根据他们的特点,把每个学生可以规范化的信息材料录入到计算机中,在建好基本信息的基础上,随时录入学生的最新信息,及时对录入的信息进行维护与更新,确保信息数据完整、真实、准确。 8而采用 WEB 架构的高校学生信息管理系统可以有效解决当今高校信息管理工作中存在的诸多问题,如:提高工作效率和管理水平,提高信息资料质量和规范性等等。高校档案部门应紧跟时代步伐,积极研究计算机技术、网络技术在高校档案管理中的广泛应用,实现高校档案网络化管理。 942 可行性分析近年来,科学技术水平日新月异,尤其是信息全球化的发展更是一日千里,Internet 无疑是信息全球化的典型代表产物。随
17、着 Internet 在中国的普及,其在电子商务,电子政务,远程教学中的作用也越来越明显了,这也为基于 WEB 的 B/S 架构的管理系统的推广使用打下前提基础。高校学生信息的网络化管理在高校中是具有可行性的:(1)高校具有丰富的资源优势,高等院校一般都有设备齐全的计算机中心、网络中心,甚至各个二级学院都具有信息处理室,为学生信息实现网络化管理提供了充足的硬件资源。(2)高校具有丰富的人才优势,这些年来计算机在我国得到普及,尤其是在高等院校,计算机已经成为日常的办公与学习工具,从教师到学生掌握计算机的人员不在少数,能够熟练掌握计算机操作和日常开发,并且具备较好的计算机理论功底。在实现高等教育信
18、息化的过程中,学校管理信息化是教育信息化的重要组成部分。目前广东电信湛江分公司与我校校园网的任务已顺利完成,新校园网运行基本稳定,给学校的行政、教学工作等提供了一个良好的基础,随着规模不断扩大和性能逐步完善,使得建设基于校园网结构的学生管理系统,满足校内外对学生信息的共享利用,并可为学校各级领导的决策提供快捷有限的辅助信息成为可能。Web 数据库访问技术大致可以分为两大类:公共网管接口技术 CGI(Common Gateway Interface)和服务器端脚本编程技术。 10本系统采用的是目前比较流行的ASP 技术。Active Server Pages (ASP,动态网页)是微软公司推出的
19、一种用以取代CGI(通用网关接口,Common Gateway Interface)的技术。ASP 是位于服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的交互式 Web 服务器应用程序,如交互式的动态网页,包括使用 HTML 表单收集和处理信息,上传与下载等等,就像用户在使用自己的 CGI 程序一样。但是他比 CGI 简单。使用 ASP 还有个好处,就在于 ASP 可利用 ADO(Active Data Object,微软的一种新的数据访问模型,类似于 DAO)方便地访问数据库,从而使得开发基于 WWW 的应用系统成为可能。11ASP(Microsoft Active Serve
20、r Pages )技术是目前比较流行的开发动态 WEB页的技术之一。ASP 以其独特的易学、易用、易维护等特点,为大多数中小型企业5级管理信息系统所选用,所以本系统主要是采用 ASP 开发具有可行性。Access 是一个优秀的工作组级的数据库管理系统,它已不是仅仅能存储和管理数据表的软件,它是一个集数据管理和信息提取,开发数据库应用,办公应用程序为一体的优秀数据库平台。它已经具备了许多大型数据库管理系统才具备的特征,而且具有完全的网络数据管理能力,而且 Access 与 Office 有着紧密的集成,使得用Access 开发的信息管理系统与企业现有的桌面办公平台可实现无逢对接。 12由此可见,
21、采用 ASP + Access 开发本系统是确实可行的。操作系统方面,则采用 Windows server 2003,因为它不仅运行环境比较稳定,而且其内核相对于 Windows XP 来讲是优化过的,是比较不错的入门级服务器,作为 ASP+Access 的开发平台,它界面友好,程序调试方便简单,是目前比较实用的Windows 开发平台。作为信管系电子商务专业的学生,经过近 4 年的学习,对于以上开发工具还是比较熟悉的,所以不必花费过多的时间去学习和研究如何使用这些开发工具,从而赢得大量时间投入到系统的各个功能模块实现的规划与实现后的优化中去。所以,开发这个学生信息管理系统,在技术上、经济上、
22、时间上都是完全可行的。63 系统需求分析3.1 总体功能需求分析针对我国高等学校办学规模日趋庞大,学生信息管理工作工作量庞大,各国高等院校的学生信息管理水平普遍都不是很高,有的还停留在全用纸介质基础上,这种管理方式已不能适应时代的发展,社会的需求,因为它浪费了大量的人力物力,也存在着许多不足的因素。在今天信息时代这种传统的管理方法必然会被计算机为基础的信息管理系统所代替。开发的本系统主要是对学生信息进行管理,实现电子化管理学生信息,以减轻学生信息管理人员的工作负担,提高工作效率。学生信息管理系统实质就是一个方便管理的网上的信息查阅平台,主要提供成绩和信息的查询 ,学生可以通过该平台凭借姓名和身
23、份证号码查阅与自己相关信息。管理信息的教师可以通过该管理平台查阅学生的相关信息,添加,删除,修改学生信息。系统管理员可以实现以上的所有功能,还有对学生信息的添加,删除,修改,教师的添加,删除,修改,数据库的备份,数据库的还原等相关操作。3.2 系统具体功能模块需求分析3.2.1 用户管理功能本系统是基于 B/S 架构开发的,是建立在开放式 Internet 上的,因此用户的合法性和权限验证极其重要。用户管理功能包括前台用户管理和后台用户管理。前台用户管理功能模块主要应由一般查询用户(学生)角色或授权教师(信息管理员)角色组成,一般查询用户(学生)角色可以通过该平台凭借姓名和身份证号码查阅与自己
24、相关信息。授权教师(信息管理员)可以通过该管理平台查阅学生的相关信息,添加,删除,修改学生信息。后台用户管理主要是由系统管理员组成,系统管理员可以实现以上的所有功能,还有对学生信息信息的添加,删除,修改,教师的添加,删除,修改,数据库的备份,数据库的还原等相关操作。3.2.2 学生信息管理功能包括学生的信息的添加、修改和删除等功能。能够翔实、真实地记录学生的信息,包括学生姓名、性别、出生日期、政治面貌、民族、籍贯、身份证号码、照片、家庭住址、邮编、手机、电子邮箱以及添加学习成绩、奖惩情况、家庭主要成员、学习经历等反映学生德、智、体、美等综合素质以及学生家庭社会关系、经济状况7的主要原始材料。3
25、.2.3 数据库维护功能主要包括数据库备份和恢复功能。数据库就是一个系统的核心和心脏,其重要性不言而喻。计算机硬件故障、软件缺陷、人员误操作、破坏性病毒、自然灾害、人为偷窃和恶意攻击等都会造成数据灾难,信息数据库备份,其最大的作用是帮助数据库恢复,完善的数据库备份是数据灾难发生后起死回生的关键。本功能模块可以轻松实现数据库的备份和恢复,给系统上一层保障。3.2.4 学生信息查询功能本功能模块针对一般查询用户(学生)角色设计,具备查询功能,从而实现查看学生的信息。此类用户不需要登录系统,也没有登录模块,其查询功能靠学生姓名和身份证号码作为验证手段,从而从一定程度上限制了恶意查询。另外教务员(档案
26、管理员)和系统管理员也可实现学生信息查询功能,此功能要在其登录验证身份后方可实现,其查询方式也不同,可以按姓名、身份证号码、系别等分别进行查询,更加简单。3.2.5 学生相片上传功能学生信息中,学生本人相片是不可或缺的一个部分。本模块的功能是为了学生实现相片的上传功能,可以上传多张相片,相片大小为 90*120 像素,格式为 jpg 或者gif 格式的。3.3 数据库概要结构设计数据库概要设计的任务是根据用户需求设计数据的概念数据模型,简称概念模型。概念模型是按用户的观点对数据和信息进行建模,是从用户的角度看到的数据库,它可以用 E-R 模型来表示。3.3.1 实体 E-R 图属性和关系的方法
27、,用来描述现实世界的概念模型。构成 E-R 图的基本要素是实体型、属性和关系,其表示方法为:实体型:用矩形表示,矩形框内写明实体名;属性:用椭圆形表示,并用无向边将其与相应的实体连接起来;关系:用菱形表示,菱形框内写明关系名,并用无向边分别将有关实体连接起来,同时在无向边旁标上联系的类型。83.3.2 系统 E-R 图该子系统的各个实体 E-R 图如图 3-13-10 所示。用户用户名 密码 系别图 3-1 用户实体 E-R 图用户是一个超类,包括两个子类:授权教师、系统管理员(教务员) ,其表示如图 3-2 所示,并且其中的管理关系说明如下:教师具有查阅学生的相关信息,添加,删除,修改学生信
28、息等权限。教务员也具有查阅,添加,删除,修改学生信息等权限。用户授权教师 教务员图 3-2 带有子类的用户实体9学生信息姓名性别民族手机 系别籍贯现住址身份证号政治面目家庭住址身份证号在校与否学生学号爱好特长联系电话家庭邮编图 3-3 学生信息实体 E-R 图学生成绩考试成绩考试单位考试时间考试类别考试名称学生姓名备注图 3-4 学生成绩实体 E-R 图奖惩情况奖惩类别奖惩时间奖惩部门学生姓名说明图 3-5 奖惩情况实体 E-R 图10家庭成员与学生关系姓名家庭地址学生姓名备注图 3-6 家庭成员实体 E-R 图教育经历起止年月日证明人何校学习学生姓名鉴定图 3-7 教育经历实体 E-R 图授
29、权教师部门负责人部门地址管理员密码管理员登录名部门电话部门名称图 3-8 授权教师实体 E-R 图11系统设置系统状态学校名称 系统开关图 3-9 系统设置实体 E-R 图各实体之间的关系如图 3-9 所示:用户学生基本信息奖惩记录家庭成员 学习成绩教育经历授权教师系统设置管理 管理 管理管理管理 管理 管理图 3-10 实体之间关系 E-R 图3.3 数据流程图数据流程图是用规定的基本图形直观描述数据的流动及其处理,存储的图示。数据流程图用到的基本符号:外部实体,数据处理,数据流和数据存储。1) 外部实体是指系统以外又与系统有联系的人或事物。我们用一个正方形,并在其左上角外边另一个直角来表示
30、外部实体,在正方形内写上这个外部实体的名称。2) 数据处理是指对数据的逻辑处理,也就是数据的变换。用带圆角的长方形表示,长方形分为三个部分,上面的表示标识部分,中间的表示功能描述部分,下面的12表示功能执行部分。3) 数据流表示数据从线段的尾端流向箭头所指的目标。用带有箭头的线段表示。在线段旁边写上数据流的名称。用右边开口的长方条表示。4) 数据存储用于存储数据或数据转换。框的左部为文件标识,右部为文件名称。外部实体 数据处理数据存储数据流图 3-11 数据流程图用到的基本符号学生信息管理系统教务处学生资料学生学籍表D1校内用户用人单位学生信息表学生信息表图 3-12 学生信息管理系统顶层 D
31、FD13学籍管理P1成绩管理P2奖惩管理P3教务处学生资料 校内用户用人单位学生信息表学生信息表教师系教师学生学籍表D1成绩单奖惩报告 奖惩结论成绩学生注册图 3-13 学生信息管理系统的第一层 DFD3.2 数据字典数据流程图描述了系统的分解,即描述了系统由哪部分组成,各部分之间或联系等等,但还没有说明系统中各个成分的含义。数据字典的作用解释数据流程图中的各种成分,数据字典通常包括数据项,数据流,数据存储,处理逻辑。数据字典中有关系统的详细信息是以后系统设计,系统实施与维护的重要依据 15。在这里仅列出几个数据卡片来说明。数据元素条目名称:学号别名:sno说明:唯一标识的学号数据值类型:(连
32、续/离散)离散类型:(字符/数字)数字类型:字符型长度:10有关数据结构:学生成绩表,学生信息表14数据结构条目名称:学生信息表别名:student说明:学生基本资料结构:姓名性别生日政治面目籍贯民族身份证号码家庭住址现在住址邮编手机号码联系电话在校与否兴趣爱好学号电子邮箱系别有关的数据流,数据存储:学籍表数据流条目名称:成绩表别名:sno说明:每学期末,由任课教师填写成绩单数据流来源:教师数据流去向:P2包含的数据结构:科目名称考试,考查考试时间考试成绩考试单位说明外部实体条目名称:学生说明:无输入数据流:学生姓名,身份证号码输出数据流: 相应学生信息图 3-14 数据字典卡片154 系统概
33、要设计4.1 系统简介本学生信息管理系统的主要任务是实现高校学生信息管理的网络化、信息化、智能化。本系统开发的基本要求与功能是实现用户信息数据的管理与操作处理,基于 ASP + Microsoft Access 2003 数据库系统的设计使该网站界面更具互动性、数据管理更具高效性和安全性。系统设计实现了能够灵活地处理各个不同权限角色之间的相关信息,并且能方便地为各个角色进行使用;同时,也可以对学生信息进行有效的修改、管理:一般查询用户(学生)角色可以通过该平台凭借姓名和身份证号码查阅与自己相关信息。授权教师可以通过该管理平台查阅学生的相关信息,添加,删除,修改学生信息。后台用户管理(教务员)主
34、要是由系统管理员组成,系统管理员可以实现以上的所有功能,还有对学生信息的添加,删除,修改,教师的添加,删除,修改,数据库的备份,数据库的还原等相关操作。4.2 系统总体结构设计根据系统需求分析阶段得到的数据概念模型,采用软件工程方面相关的概念和原理,由此得到学生信息管理系统的层次方框图如图 4-1 所示。学生档案管理系统一般用户管理教师用户管理系统用户管理信息查询信息查询信息查询信息维护信息维护用户管理数据库管理部门管理图 4-1 系统层次方框图164.3 数据库设计4.3.1 数据库表设计在需求分析阶段,已经完成了本系统的数据分析,并且建立起了数据概念模型。现在,根据数据概念模型建立数据库。
35、在选择数据库方面,采用使用广泛、稳定、方便配置和可移植性好的 Microsoft Access 2003 数据库系统平台来创建学生信息管理信息系统的数据库。系统主要有 8 个表,由数据概念模型得到本系统的主要数据表见 4-14-9。表4-1 系统管理员表(AdminTable)字段名 数据类型 可否为空 说明ID Int(4) Not null 自动编号(主键)Adminname Varchar(20) Null 管理员名称AdminPWD Varchar(20) Null 管理员密码LastLoginTime Datetime(8) Null 最后登录时间LastLoginIP Varcha
36、r(20) Null 最后登录IP地址表4-2 奖惩情况表(AwardPunishment Table)字段名 数据类型 可否为空 说明id Int(4) Not null 自动编号(主键)aptime Datetime(8) Null 奖惩时间apadress Varchar(20) Null 奖惩部门apreason Varchar(20) Null 奖惩内容S_sid Varchar(20) Null 学生编号cate Varchar(20) Null 奖或惩表4-3 系统设置表(Config Table)字段名 数据类型 可否为空 说明id Int(4) Not null 自动编号(主
37、键)cityname Varchar(20) Null 学校名称sys Int(4) Not nul 系统开放与否(1为开放,2为不开放)17表4-4 考试成绩表(Exam Table)字段名 数据类型 可否为空 说明id Int(4) Not null 自动编号(主键)ename Varchar(10) Null 考试科目ecate Varchar(10) Null 考试类型etime Datetime(8) Null 考试时间eresult Varchar(10) Null 考试成绩eunit Varchar(20) Null 考试部门eother Varchar(50) Null 备注S
38、_sid Varchar(20) Null 学生编号表4-5 教育经历表(Experience Table)字段名 数据类型 可否为空 说明id Int(4) Not null 自动编号(主键)stime Datetime(8) Null 开始时间ptime Datetime(8) Null 结束时间info Varchar(50) Null 教育单位prove Varchar(10) Null 证明人ident Varchar(100) Null 鉴定S_sid Varchar(20) Null 学生编号表4-6 家庭成员表(Family Member Table)字段名 数据类型 可否为空
39、 说明id Int(4) Not null 自动编号(主键)S_sid Varchar(20) Null 学生编号Relation Datetime(10) Null 关系name Varchar(10) Null 姓名adress Varchar(50) Null 住址Remarks Varchar(50) Null 备注18表4-7 图片表(Photo Table)字段名 数据类型 可否为空 说明id Int(4) Not null 自动编号(主键)stuid Int(4) Null 学生标号path Varchar(50) Null 图片路径uploadtime Datetime(8)
40、Null 上传时间sm Varchar(100) Null 图片说明表4-8 部门信息表(School Table)字段名 数据类型 可否为空 说明id Int(4) Not null 自动编号(主键)schoolname Varchar(20) Null 部门名称schoolmaster Varchar(10) Null 部门主管schooladress Varchar(50) Null 部门地址schooltel Varchar(20) Null 部门电话schooladmin Varchar(10) Null 部门管理员名称schooladmin Varchar(10) Null 部门管
41、理员密码SchoolLastLoginTime Datetime(8) Null 最后登录时间SchoolLastLoginIP Varchar(10) Null 最后登录IP地址表4-9 学生信息表(StudentTable)字段名 数据类型 可否为空 说明id Int(4) Not null 自动编号(主键)stuname Varchar(10) Null 学生姓名stusex Varchar(4) Null 学生性别stubirthday Datetime(8) Null 出生日期stuPL Varchar(10) Null 政治面目stuOrigin Varchar(10) Null
42、籍贯stuNational Varchar(10) Null 民族sid Varchar(18) Null 身份证号码stuHomeaddress Varchar(50) Null 家庭住址stuhomeZip Varchar(6) Null 家庭邮编19stuNowaddress Varchar(50) Null 学生现住址stuNowZip Varchar(6) Null 学生现邮编stutel Varchar(15) Null 学生电话stumobile Varchar(15) Null 学生手机Stuin Varchar(10) Null 在校与否stuLoveFortes Varch
43、ar(50) Null 爱好特长StuNO Int(10) Null 学生学号stuemail Varchar(30) Null 电子邮箱now_sch Varchar(20) Null 所在系别表4-10 教师表(TeacherTable)字段名 数据类型 可否为空 说明id Int(4) Not null 自动编号(主键)TeaName Varchar(20) Null 教师名称TeaPWD Varchar(20) Null 教师密码TeaSch Varchar(20) Null 所在部门4.3.2 物理结构设计我们在现实的各种管理系统设计中,选择应用各种不同数据库的时候,往往会忽略数据库
44、的物理布局,除非在数据库性能遇到问题的时候,我们的这机人员才会被迫被动去考虑这个问题,但这是得不偿失的。一者这样一来不仅会导致与设计相关的问题出现,再者会影响数据库性能的调整效果,所以我们在选择创建数据库之前,进行必要的规划数据库的物理布局,这也符合俗话所说的“磨刀不误砍柴工”的道理。数据库物理设计阶段的任务主要是:为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法) ,根据 DBMS 特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式 。数据库的物理设计需要考虑两个原则:一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。因
45、此为了设计合理的数据库的物理结构,我们必须充分了解所用的内部特征;充分了解数据系统的实际应用环境,特别是数据应用处理的频率和响应时间的要求;充分了解外存储设备的特性。20物理结构设计阶段实现的是数据库系统的内模式,它的质量直接决定了整个系统的性能。因此在确定数据库的存储结构和存取方法之前,对数据库系统所支持的事务要进行仔细分析,获得优化数据库物理设计的参数。确定数据库的存取方法,就是确定建立哪些存储路径以实现快速存取数据库中的数据。现行的 DBMS 一般都提供了多种存取方法,如索引法、HASH 法等。其中,最常用的是索引法。索引设计是数据库物理设计的基本问题。有效的索引选择将提高对数据库的存取
46、效率。索引建立在关系的属性上,用于常用的查询中。选择索引存取方法的一般规则:(1)如果一个(或一组) 属性经常在查询条件中出现,则考虑在这个(或这组)属性上建立索引( 或组合索引)(2)如果一个属性经常作为最大值和最小值等聚集函数的参数,则考虑在这个属性上建立索引(3)如果一个(或一组) 属性经常在连接操作的连接条件中出现,则考虑在这个(或这组 )属性上建立索引数据库的索引类似于书的目录。在书中,目录允许用户只要浏览书的目录就能迅速地找到所需要的位置。在数据库中,索引也允许应用程序迅速找到表中的数据,而不必扫描整个数据库。在书中,目录就是内容和相应页号的对应清单。在数据库中,索引就是表中数据和
47、相应存储位置的列表。使用索引可以大大减少数据的查询时间。数据库数据备份、日志文件备份等由于只在故障恢复时才使用,如果数据量很大,可以考虑存放在磁带上。如果计算机有多个磁盘,可以考虑将表和索引分别放在不同的磁盘上,在查询时,由于两个磁盘驱动器分别在工作,因而可以保证物理读写速度比较快。考虑到本系统比较小,所以不需要将表放置在不同的盘上,所以只把数据库表放在一个盘上只可。4.4 安全保密设计4.4.1 系统安全设计本系统采用的是文件型数据库 Access,如果有人利用非法手段下载得到这个文件,那么所有的资料都泄露无疑了,而且更加重要的是,如果一个不负责任的网管,不需要任何技术手段,就可以查看系统数
48、据库中的任何资料,如果用户信息在数据21库中没有加密,对于网管而言,查看这些信息是太简单了。所以,为了增加安全性,有必要对数据库中的资料进行加密,这样,即使有人得到了整个数据库,如果没有解密算法,也一样不能查看到数据库中的用户信息。但是,在考虑数据库是否安全之前,有必要对我们的数据是否真的那么重要进行考虑,以免对没有必要对这些数据进行加密而浪费系统资源、加重程序负担,如果这些数据具有一定的隐私性,当然就有必要进行加密。所以,在考虑加密以前,可以对需要加密的数据做适当的选择,以免浪费系统资源。本系统中,需要加密的是系统管理员的密码以及部门管理员的密码。在现阶段,一般有两种加密方式,单向加密和双向
49、加密。双向加密是加密算法中最常用的,它将可以直接理解的明文数据加密为不可直接理解的密文数据,然后,在需要的时候,可以使用一定的算法将这些加密以后的密文解密为原来可以理解的明文。单向加密刚好相反,只能对数据进行加密,也就是说,没有办法对加密以后的数据进行解密。本系统采用 MD5 对登录密码进行加密。MD5 就是采用单向加密的加密算法,对于 MD5 而言,有两个特性是很重要的,第一是任意两段明文数据,加密以后的密文不能是相同的;第二是任意一段明文数据,经过加密以后,其结果必须永远是不变的。前者的意思是不可能有任意两段明文加密以后得到相同的密文,后者的意思是如果加密特定的数据,得到的密文一定是相同的。4.4.2 防 SQL 注入随着 B/S 模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。基于 ASP 的 B/S 架构系统,一个重要的安全隐患就是来自 SQL注入攻击。要防止这些 SQL 注入还得编写一些代码来进行预防。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即 SQL 注入