《数据库系统概论课程设计实验报告书.doc》由会员分享,可在线阅读,更多相关《数据库系统概论课程设计实验报告书.doc(25页珍藏版)》请在三一办公上搜索。
1、数据库系统概论课程设计实验报告书安徽工业大学计算机学院姓 名:专 业:计算机科学与技术班 级:计算机092班学 号:指导教师:分 数2011年 12 月 8 日摘 要摘要内容:数据库是一门研究数据管理的技术,数据库技术体现了当代先进的数据管理方法,使计算机的应用真正渗透到国民经济各个部门,在数据处理领域发挥着越来越大的作用。随着社会的发展和经济时代的到来,管理信息系统在各行各业都越来越重要,特别是教育事业。我国的民办教育行业的信息技术的应用程度还很低,只有在大城市中发展较早、规模较大的民办院校中才使用计算机进行大规模操作,从各方面提高工作效率,取得良好的社会和经济效益,而一些新兴的、规模较小的
2、民办机构还没有全部具备这种功能。因此可见,随着我国民办教育的迅速发展,信息技术在其上的应用会更加地广泛和深入。该课题就是建立在这种背景下,采用PHP语言与Mysql数据库结合,构建出一种适合国情的学生信息管理系统。关键词:3-5个。数据库、PHP、Mysql、成绩管理系统目录1 绪 论11.1 概述11.1.1 问题的提出11.1.2 本课题的意义11.2 开发环境与工具介绍11.2.1 PHP简介21.2.2 Mysql简介22 系统需求分析与设计32.1 用户需求分析32.1.1 用户需求32.1.2 系统功能需求32.1.3 系统性能需求32.1.4 数据分析32.2 功能模块图及分模块
3、功能描述32.2.1 系统的功能模块图42.2.2 系统功能模块简介42.3 数据库设计52.3.1 系统E-R图52.3.2 数据库逻辑结构设计53 系统实施63.1 建立数据库63.2 数据库连接83.3 主要模块实施93.3.1 登录模块的开发93.3.2 系统主页模块的开发103.3.3 学生管理模块的开发103.3.4 成绩管理模块的开发113.3.5 课程管理模块的开发123.4 系统测试133.4.1 软件测试的对象133.4.2 软件测试的结果134 系统说明144.1 开发环境144.2 系统安装、配置与发布应用程序的步骤14总 结15参考文献16附录:部分源代码171、co
4、nnect.php172、judgeLogin.php173、login.php174、selectLessons.php181 绪 论1.1 概述本文以学校管理信息系统建设中的教学管理子系统的开发为背景,以学校教务管理系统为原型,论述了管理信息系统的概念、结构及系统开发的基本原理和方法,全文共分为绪论、系统分析、系统设计、系统实施、开发总结、致谢、参考文献、附录等。1.1.1 问题的提出数据库是一门研究数据管理的技术,始于20世纪60年代,经过40多年的发展,现在已经形成了理论体系,成为计算机软件的一个重要分支。数据库技术体现了当代先进的数据管理方法,使计算机的应用真正渗透到国民经济各个部门
5、,在数据处理领域发挥着越来越大的作用。随着社会的发展和经济时代的到来,管理信息系统在各行各业都越来越重要,特别是教育事业。在经济发达的国家,许多教育机构(如公办、私立、培训机构等),都投入了大量的资金开发MIS系统,以求在将来激烈的竞争中立于不败之地。在我国,民办教育是新兴的一个行业,是随着改革开放和市场经济的发展根据中国特有的国情发展起来的,特别是中国民办教育促进法的出台,从一定的程度上规范和促进了中国民办教育的发展,这是一个很有发展前途的新兴产业,但是同发达国家相比,我国的民办教育行业的信息技术的应用程度还很低,只有在大城市中发展较早、规模较大的民办院校中才使用计算机进行大规模操作,从各方
6、面提高工作效率,取得良好的社会和经济效益,而一些新兴的、规模较小的民办机构还没有全部具备这种功能。因此可见,随着我国民办教育的迅速发展,信息技术在其上的应用会更加地广泛和深入。1.1.2 本课题的意义首先,方便学校对学生信息的管理。一所有很多学生的学校,如果还采用原始的手动管理,那么将会极大的影响学校的工作效率,采用一种专门的信息管理系统,那么将会解放人力资源,提高学校的工作效率。其次,方便学生对信息的查询,本系统采用B/S模式,不需要安装任何附加的软件,只需要一个浏览器,就可以完成学生对自己的信息的查询、修改,对成绩的查询。同时,还可以方便通知的下达,采用这个系统后,在下达通知时,只需要把通
7、知挂在网站上,让别人来访问就行了。1.2 开发环境与工具介绍开发环境:windowsXP、Dreamweaver、Mysql Command Line Client开发语言:PHP、JavaScript、Xhtml开发工具:PHP、Mysql1.2.1 PHP简介PHP是英文超级文本预处理语言Hypertext Preprocessor的缩写。PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛的运用。1.2.2 Mysql简介MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号
8、被Sun公司收购。而2009年,SUN又被Oracle收购。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL的SQL“结构化查询语言”。SQL是用于访问数据库的最常用标准化语言。MySQL软件采用了GPL(GNU通用公共许可证)。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。2 系统需求分析与设计2.1 用户需求分析2.1.1 用户需求通过对学校日常教学管理中的课程、选课、学生、教师、成绩等相关内容进行分析,完
9、成具有学生管理、成绩管理、课程管理等相关功能的小型数据库管理应用系统。2.1.2 系统功能需求(1) 完成学生、班级、课程表的维护(2) 完成成绩表的维护、浏览查找 (3) 按班级、按课程计算平均成绩、最高成绩、最低成绩、及格率(4) 统计某学生、某学期的所有课程的平均成绩。(5) 完成用户管理功能(6) 完成数据备份与恢复功能2.1.3 系统性能需求(1)使用方便、简约(2) 具备一定的安全性(3) 具有良好的用户体验2.1.4 数据分析系统中角色主要有:学生、班级、课程、教师(1) 学生:学号、姓名、性别、班级、成绩、登录密码等(2) 班级:班级号、班级名、所属学院等(2) 课程:课程号、
10、课程名、授课教师、上课地点、上课时间、课程分数等(4) 教师:教师号、教师名、所带课程、登录密码等2.2 功能模块图及分模块功能描述2.2.1 系统的功能模块图登录成绩管理系统首页学生管理成绩管理课程管理个人信息修改密码查看课表学生选课已选课程导出课表打印课表图2.2-1 系统功能模块图2.2.2 系统功能模块简介模块名实现功能源码位置登录用户登录系统Index.html、login.php成绩管理系统首页登录系统后的起始页码,有各个功能的快捷方式./home/*.*学生管理个人信息查看、修改学生的个人信息./student/index.php、./student/changeStudentI
11、nfo.php修改密码修改登录密码./student/changePSW.php、./student/changePswNow.php成绩管理查看学生成绩相关信息./score/*.*课程管理查看课表查看、导出、打印课表./lesson/index.php、./lesson/syllabusToExcel.php已选课程查看已选课程信息./lesson/haveLessons.php学生选课进行选课./lesson/choiceLesson.php、./lesson/selectLessons.php图2.2-2 系统功能模块简介2.3 数据库设计2.3.1 系统E-R图学生学号姓名性别年龄班
12、级密码属于n1班级班级号班级名年级学院n选课m成绩课程课程号课程名学分课时m教授n教师姓名密码教师号图2.2-3 系统数据E-R图2.3.2 数据库逻辑结构设计表名字段名学生(student)学号(sno)、姓名(sname)、性别(ssex)、年龄(sage)、班级(sclass)、密码(password)教师(teach)教师号(tno)、姓名(tname)、密码(password)课程(lesson)课程号(lno)、课程名(lname)、课时(lalltime)、学分(lscore)班级(class)班级号(cno)、班级名(cname)、年级(cgroup)、学院(CDEP)课程信息
13、(lessonInfo)课程号(lno)、教师号(tno)、上课地点(lplace)、上课时间(ltime)成绩(score)课程号(lno)、学号(sno)、教师号(tno)、成绩(score)图2.2-4 数据库逻辑设计3 系统实施3.1 建立数据库/*建立数据空间*/CREATE DATABASE studentmanage;/*选择数据空间*/Use studentmanage/*建立教师信息表*/CREATE TABLE teach(tno VARCHAR(10) PRIMARY KEY,tname VARCHAR(10),password VARCHAR(16);)engine=i
14、nnodb;/*建立课程表*/CREATE TABLE lesson(lno VARCHAR(10) PRIMARY KEY,lname varchar(50),lalltime int(3),lscore FLOAT(2)engine=innodb;/*建立课程信息表*/CREATE TABLE lessonInfo(lno VARCHAR(10),tno VARCHAR(10),lplace VARCHAR(10),ltime varchar(15)engine=innodb;/*建立学生表*/CREATE TABLE student(sno VARCHAR(10) PRIMARY KEY
15、,sname VARCHAR(10),sage INT(3),ssex ENUM(男,女),sclass int,password VARCHAR(16) NOT NULL;)engine=innodb;/*建立班级信息表*/CREATE TABLE class(cno VARCHAR(10),cname VARCHAR(50),cgroup VARCHAR(4),CDEP VARCHAR(10)engine=innodb;/*建立成绩表*/CREATE TABLE score(lno VARCHAR(10),tno VARCHAR(10),sno VARCHAR(10),score floa
16、t(2)engine=innodb;/*-添加索引-*/CREATE INDEX t_index ON teach(tno);CREATE INDEX l_inex ON lesson(lno);CREATE INDEX s_index ON student(sno);/*-添加主键-*/ALTER TABLE class ADD CONSTRAINT c_key PRIMARY KEY class(cno);ALTER TABLE department ADD CONSTRAINT d_key PRIMARY KEY department(dno);ALTER TABLE score ADD
17、 CONSTRAINT s_key PRIMARY KEY score(sno,lno,tno);ALTER TABLE lessoninfo ADD CONSTRAINT lf_key PRIMARY KEY lessoninfo(lno,tno);/*-添加外键-*/ALTER TABLE score ADD CONSTRAINT sc_foreign FOREIGN KEY(lno) REFERENCES lesson(lno);ALTER TABLE score ADD CONSTRAINT sc_foreign_sno FOREIGN KEY(sno) REFERENCES stud
18、ent(sno);ALTER TABLE lessoninfo ADD CONSTRAINT lf_foreign_lno FOREIGN KEY(lno) REFERENCES lesson(lno);ALTER TABLE lessoninfo ADD CONSTRAINT lf_foreign_tno FOREIGN KEY(tno) REFERENCES teach(tno);3.2 数据库连接数据库的链接为常用功能,所以单独写了个文件让其他文件来引用。该文件名为:connect.php,内容如下:(1)、链接调用PHP提供的:int mysql_connect(string host
19、name ,string username , string password);函数链接mysql数据库,其中hostname为数据库名,若用” localhost”则表示本地数据库,也可以是一个IP来链接远程数据库,username为用户名,password为密码。若链接成功则返回true否则返回false。上文源码中mysql_connect(localhost,root,123);为链接本地数据库,用户为root密码为123。(2)、选择数据空间调用PHP提供的:int mysql_select_db(string database_name,int link_identifier);
20、函数。database_name为要选取的数据空间名。上文源码中mysql_select_db(studentmanage);为选择名位studentmanage的数据空间。(3)、执行sql语句调用PHP提供的:int mysql_query(string query ,int link_identifier);函数。Query为要执行的sql语句。上文源码中mysql_query(set names gb2312);为执行set names gb2312语句,该语句是用来设置mysql的编码的。这条语句的意思就是设置mysql当前的编码方式为gb2312。3.3 主要模块实施3.3.1 登
21、录模块的开发 图3.3-1 系统登录模块截图如上图所示,系统的登录模块有三种登录方式,分别是:学生、教师、其他。从不同的登录方式登录后,会有不同的功能提供给用户。该登录模块采用的是Ajax技术,实现无刷新的登录验证,登录信息错误时将会弹出图3.3-2所示的提示框,信息正确则自动跳转到系统主界面。图3.3-2 登录错误提示3.3.2 系统主页模块的开发图3.3-3 系统主页系统主页主要是为登录后的用户提供方便的访问服务,有前往系统各个模块的快捷方式。3.3.3 学生管理模块的开发图3.3-4 学生管理个人信息图3.3-5 学生管理修改密码学生管理中有两个功能,分别是个人信息和修改密码。个人信息中
22、可以查看、修改学生自己的相关信息,修改密码可以修改学生的登录密码。3.3.4 成绩管理模块的开发图3.3-6 成绩管理图3.3-7 成绩管理查看课程成绩信息成绩管理只有一个功能,那就是查看成绩信息,如图3.3-6所示,进入这个模块后,展示出来的就是学生的个人成绩,单击某行成绩信息后将跳转到这门课成绩的详细信息(包括该门课程的班级平均成绩、班级最高成绩、课程平均成绩、课程最高成绩以及课程及格率)。3.3.5 课程管理模块的开发图3.3-8 课程管理查看课表图3.3-9 课程管理已选课程图3.3-10 课程管理学生选课这个模块有三种功能:查看课表、已选课程、学生选课。查看课表是查看已选课程对应的课
23、表,同时可以将课表导出到Excel里面和打印课表。已选课程就是查看已选课程的相关信息。学生选课就是让学生进行选课操作。3.4 系统测试3.4.1 软件测试的对象同寝室室友3.4.2 软件测试的结果 系统运行正常,各种功能使用方便,但是在浏览器兼容性方面有些问题,虽然在Chrome和FireFox下未出现问题,但是在IE下表现有些不尽人意。4 系统说明4.1 开发环境本系统的是在PHP平台下开发的,系统的后台数据库为Mysql数据库;因此在使用本系统前,应先安装PHP框架和Mysql数据库,否则该系统无法运行。4.2 系统安装、配置与发布应用程序的步骤系统的原文件直接复制到机器上后,在数据库管理
24、系统上建立一个名为studentmanage的数据库后,系统便可以运行。总 结首先对整个课程设计工作做简单小结,对自己工作的进展、水平作一个实事求是的评论。然后将自己在课程设计的课题开发工作中究的成果列举出来,已解决和尚未解决的问题以及进一步完善的设想与建议。接着重点写出收获和体会。最后表达对指导教师和其他有关教师和同学的感谢之意。参考文献1 江北. 场论. 北京: 科学技术出版社, 2000年2月.中外文的参考文献应按照规范列举在论文报告最后。编写参考文献要注意:(1)要严格按照规范编写,特别是外文文献,不要漏写、错写;(2)论文报告内容和参考文献要前后对应,正文中凡引用参考文献的地方应加注
25、;(3)列出的文献资料应与论文报告相关,无关的文献只会使读者感到你的研究目标很分散;(4)选择的参考文献应主要是近期的。附录:部分源代码1、connect.php文件名:connect.php作用:链接数据库源码:2、judgeLogin.php 文件名:judgeLogin.php作用:判断用户是否登录源码:?phpsession_start();$id = $_GETid;$username = strtok($id,_);if($_SESSION$username!=$id | empty($_SESSION$username) echo window.location = ./; el
26、se$loginStatus = true;?3、login.php文件名:login.php作用:验证用户的登录信息,实现用户登录源码:4、selectLessons.php文件名:selectLessons.php作用:接受选课页面(choiceLesson.php)的表单,将选课结果写入数据库源码:无标题文档.main_htmlborder:none;width:100%;height:100%;overflow:visible;bodybackground:#fff;font-family:Microsoft YaHei, Verdana, Geneva, sans-serif;font-size:14px;width:100%;height:100%;overflow:visible;window.onload = changePage;function changePage()setTimeout(function()window.location = ./choiceLesson.php?id=&choiceLesson=;,2000);