数据库管理系统.docx
- 文档编号:7986203
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:20
- 大小:353.59KB
数据库管理系统.docx
《数据库管理系统.docx》由会员分享,可在线阅读,更多相关《数据库管理系统.docx(20页珍藏版)》请在冰豆网上搜索。
数据库管理系统
《数据库原理》课程设计报告
专业:
信息管理与信息系统
班级:
信息08本
(一)
学号:
80916006、80916014、80916017、80916016
姓名:
黄礼斌、罗微、范海滨、罗文
题目名称:
学生成绩管理系统
完成日期:
2010年12月10日
学生成绩管理系统设计
一、系统定义
随着学校规模的不断扩大,学生数量的急剧增加,有关学生的各种信息量也在不断成倍增长。
而面对庞大的信息量,早先的人工处理已不可能满足当今信息化时代的需要,这就需要一个新的系统来处理。
本系统就是针对学生海量信息的管理。
学生成绩管理系统可以提高学生管理工作的效率,通过这样的系统,我们可以做到信息的规范管理和快速查询,从而减少了管理方面的工作量。
而且数据库服务器可配置在独立的服务器上,也可配置在一台运行本系统的计算机上。
根据总体任务的要求进行需求分析得出,学生成绩管理信息系统需要完成的功能主要如下:
Ø学生基本信息的输入,其中包括学生学号、姓名、性别、所属学院,所属系别,所属班级、出生年月、籍贯、宿舍、联系方式等。
Ø学校基本课程信息的输入,包括课程编号、课程名称、课程属性、课程描述以及完成该课程所得的学分。
Ø教师基本信息的输入,其中包括教师编号,教师姓名,教师职称,所教课程,所教班级等情况
Ø学生信息,教师信息,课程信息,学生考试成绩的插入,删除,修改、查询和统计。
Ø识别每个用户的身份和密码,从而保证信息的安全性,防止信息的外泄和盗用。
还有,涉及到信息的增,删,改的,主要都是面向教务管理员,教师只能录入成绩,查询成绩,修改成绩,和查询个人信息,而学生只能登录查看自己的信息,查询成绩等。
本例中的用户角色有:
教务处(管理员),教师,学生。
系统涉及的实体有学生,老师,课程,成绩,班级,专业,学院。
二、需求分析
2.1系统综合需求
作为一个学生成绩管理系统,应该给用户提供方便、友好而简洁的界面进行应用,并对学校的运作过程中学生以及老师的流动详细记录归档,并将这些数据进行逻辑上的融合,以便于用户查看、分析及管理。
1、管理员能够实现对整个学生信息的录入、修改、删除、查询等操作,对教师用户的添加、删除、修改等操作。
2、教师能够在一定的权限内对所有学生成绩进行查询,可以对的自己的登录密码进行修改。
系统具体需要实现以下功能:
1.系统管理:
对用户管理和系统进行初始化设置。
2.成绩管理:
提供学生考试成绩的基本录入、修改、查询、打印等基本管理功能,以及学生单科和总成绩的相关统计功能。
3.学生名单管理:
提供对学生名单的基本管理功能,主要是学生名单的录入、修改、删除和浏览/查询等基本功能。
4.基础数据管理:
提供对学校基本数据和考试相关基础数据的管理功能,包括:
专业设置、班级设置、考试类型设置、考试科目设置和考试学期设置等。
5.数据库管理:
对现有的数据进行管理,包括数据备份和恢复,以方便用户对数据库进行管理和维护工作,提高系统的数据安全性。
2.2系统逻辑模型
2.2.1数据流图
2.2.2数据字典
项目
组成
类型
来源
去向
存储者
使用频度
变动频度
教师(管理员)
教师编号,教师姓名,教师性别(男、女)
数据存储
教师(管理员
教师(管理员
教师(管理员
频繁
有时
学生管理
学生
课程管理
成绩管理
学生信息查询系统
学号,学生姓名,登录密码,学生性别(男、女)班级号,电话号码,家庭住址
数据流
学生
教师(管理员
-
频繁
增加频繁,基本无更改
个人信息查询系统
管理学生信息
学生信息
数据存储
-
-
学生
课程信息
课程号,课程名称,学时
数据存储
教师(管理员
学生
教师(管理员
有时
增加不频繁,基本无更改
课程查询系统
数据流
教师(管理员)
教师
教师(管理员)
频繁
增加频繁,更改频繁
课程信息查询系统
收银员
管理人员
-
班级信息
班级编号,班级名称
数据存储
教师(管理员)
教师
教师(管理员)
成绩信息
课程编号,学号,成绩
教师(管理员)
学生
教师(管理员)
管理成绩信息
数据流
教师(管理员)
成绩信息查询系统
-
-
-
个人信息查询系统
频繁
增加不频繁,更改不频繁
个人成绩信息
课程编号,学号,成绩
数据存储
教师(管理员)
学生
教师(管理员)
频繁
增加频繁,更改不频繁
三、系统设计
3.1系统功能描述
3.2各子模块E-R图
3.2.1学生模块的功能E-R图
3.2.2教师查询更新系统的分E-R图
3.3逻辑结构设计
3.3.1数据表
教师信息表
字段名
类型
NULL
其他
备注
Teacherid
varchar(10)
PK
教师编号
Teachername
varchar(10)
Index
教师姓名
Teacherpwd
varchar(100)
教师性别
Teacherxy
Varchar(10)
所在学院
学生信息表
字段名
类型
NULL
其他
备注
Studentid
varchar(10)
PK
学号
Studentname
varchar(10)
Index
学生姓名
Studentpwd
Varchar(10)
登录密码
Studentsex
varchar(100)
Y
学生性别
Classid
Varchar(50)
班级号
Studenttel
bit
(1)
电话号码
Studentaddress
Char(max)
家庭住址
班级信息表
字段名
类型
NULL
其他
备注
Classid
varchar(10)
PK
班级编号
Classname
varchar(10)
Index
班级名称
课程信息表
字段名
类型
NULL
其他
备注
Courseid
varchar(10)
PK
课程号
Coursename
varchar(10)
Index
课程名称
Termid
varchar(100)
Y
学时
成绩信息表
字段名
类型
NULL
其他
备注
Courseid
varchar(10)
PK
课程编号
Studentid
varchar(10)
PK
学号
Score
varchar(100)
Y
成绩
学期信息表
字段名
类型
NULL
其他
备注
Termid
varchar(10)
PK
学期编号
Termname
varchar(10)
Index
学期名称
教学信息表
字段名
类型
NULL
其他
备注
Courseid
varchar(10)
PK
课程编号
Teacherid
varchar(10)
PK
教师编号
Classid
varchar(100)
班级编号
3.3.2表关系图
3.4自模块划分及功能概述
3.4.1添加新学生:
填写学生的信息,将学生写入到班级;
3.4.2添加新课程:
把课程信息写入数据库;
3.4.3学生查询课程信息:
学生可以根据自己所在的班级查询自己的课程信息;
3.4.4学生查询自己的成绩:
学生可以根据自己所学的课程情况查询自己的课程成绩;如果满足条件,将得到查询结果;
3.4.5教师根据要求查询学生成绩信息;
3.4.6其他附加功能
1.修改密码,重新登陆
2.配置数据源连接,将数据源连接信息写入配置文件,避免硬编码数据源名,用户名和密码带来的弊端。
3.帮助文档:
解释如何配置服务器及一些常见问题。
4.备份(增量备份和完全备份),恢复数据库。
四、详细设计
4.1开发平台及工具
●开发工具EasyEclipseforPHP、Wampserver
●DBMS:
MYSQL
●建模工具:
MicrosoftVisio
说明:
考虑到这个系统的特点,我们选择了PHP+MYSQL来开发,PHP语言具有很多的优点,首先要说的就是他的移植性,我们在windows下工作,但PHP代码可以运行在Solaris、Linux和许多其他的操作系统中。
其次PHP与MySQL的组合既简单又精彩。
PHP有许多管理和维护MySQL的工具,对MySQk的支持是最全面的。
许多有用的函数如mysql_insert_id和MySQL_affected_rows等,其他的数据库则没有。
所以,对于开发我们这个系统PHP+MYSQL是完美的组合。
4.2详细代码及界面设计
4.2.1添加学生界面
4.2.2查询课程信息
4.2.3成绩录入
4.2.4查询成绩
1、查询特定学号的成绩:
2、显示出查找出的成绩:
4.3主要功能代码
4.3.1添加新学生
0"enctype="multipart/form-data"> phpecho$row['XH'];? >"> phpecho$row['XH'];? >">
value="
phpecho$row['XM'];?
>">
php
if($row['XB']===0)
{?
>
php
}
else
{?
>
php
}
?
>
value="
phpif($time)echo$time;?
>">
value="
phpecho$row['ZY'];?
>">
value="
phpecho$row['ZXF'];?
>"readonly>
phpecho$row['BZ'];?
>
php
if($row['ZP'])
/*调用showpicture.php页面用于显示照片,
time()函数用于产生一个时间戳,防止服务器读取缓存中的内容*/
echo" time=".time()."'>"; else echo" ? >
4.3.2查询课程信息
php
require"fun.php";
session_start();//开启session
$number=@$_POST['StuNum'];//获取ShowStuKC.php页面的学号值
$_SESSION['number']=$number;//将学号传到其他页面
$sql1="selectCou_id,Cou_Name,Ter_IdfromCou_InfowhereStu_Id='$number'";
$sql2="selectStu_NamefromStu_InfowhereStu_Id='$number'";
$result1=mysql_query($sql1);
$result2=mysql_query($sql2);
echo"
echo"
echo"
echo"
echo"
echo"
echo"
if(!
$result1)//如果没有结果则输出一张空表
{
for($i=0;$i<12;$i++)
{
echo"
}
}
else
{
$count=0;//设置计数器
while($row1=mysql_fetch_array($result1))
{
list($KCH,$KCM,$CJ)=$row1;//取得结果值
echo"$KCH ";//将结果输出到表格中
echo"
echo"
$count++;//获得结果的行数
}
for($i=0;$i<12-$count;$i++)//将剩余的结果表格的空行代替
{
echo"
}
}
echo"";
$row2=mysql_fetch_array($result2);
list($XM,$ZXF,$ZP)=$row2;
if($number&&(!
$XM))
echo"";
else
{
//将姓名等信息输出到另外一个表格中
echo"
echo"
echo"
echo"
echo"
echo"
echo"
if($ZP)
echo" time=".time()."'>";//显示照片 else echo"
echo"
echo" value=退出onclick=\"window.location='main.html'\">
echo"";
}
echo"";
?
>
其它代码省略。
代码文件缩略图:
五、参考文献
【1】《PHP&MySQLWeb数据库应用开发指南(第二版)》O’Reilly2006
【2】《数据库系统概论(第三版)》萨师煊等高等教育出版社、
【3】
六、课程设计总结
这次课程设计我们花了将近一个月的时间来完成,前期做了一些准备工作,了解了有关学生成绩管理方面的背景知识,然后再权衡了时间和人力,做了适量简化,并完成了初步的需求分析。
稍作细化后,便开始设计数据库。
而后做了界面设计,完成了程序大部分的主要界面。
而在编码方面,我们从系统的功能、规模和实用方面考虑,并没有去学习和采用过多花哨的新技术,如.net、分布式等企业级应用。
我们采用了一种面向对象的语言PHP来编写,并应用AJAX的局部刷新技术,在数据库方面,我们选择了较小型的MYSQL数据库来实现,在建模方面,我们运用了MicrosoftofficeVisio进行建模。
构建我们熟悉的模型。
我们在规划前,花了几个星期的时间来重新熟悉数据库的知识和SQLServer中触发器和存储过程的知识和编写方法。
而且在以后的编码过程中,也在不断的学习并解决遇到的问题。
在数据库设计时,由于时间比较仓促,数据库设计的比较简单,功能编写也较简单。
虽然比较简单,但是我们所要求的功能都能实现,这一点是值得鼓励的。
在工程接近完成的时候,我们对部分代码做了优化,将一些重复工作加以封装调节;将批处理操作改为以事务方式处理;并将费时的连表查询写成了存储过程。
这次课程设计,我们更加深入的了解到软件工程的复杂性,以及前期规划分析的重要性。
以及一些开发工具的结合使用,可以带来意外的效果,在这次项目中我们采用的就是
PHP与MySQL的组合,结果相当的可观,而且在这里编写的程序能够在Solaris、Linux和许多其他的操作系统中正常运行,这是我们这次得到最大的收获。
不过我们在编写代码方面还是缺乏一些创新的知识,因此在以后的学习中应该学习一些先进的思想,并多加实践,从写程序和软件架构两个方面都增强自己的能力。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 管理 系统