数据库课程设计数据库类在线学习系统数据库设计
班级:
姓名:
数据库类课程在线学习系统的开发
一、系统功能需求分析
随着计算机技术和互联网的快速发展,人类已经进入了信息时代,也有人称为数字划时代。在数字化的网络环境下,学生希望得到个性化的满足,根据自己的情况进行自主学习,同时在遇到疑难问题时也希望能够得到教师和其他同学的指导;教师也希望有效地改进现有的考试模式,提高考试效率。在线自主学习系统是为了向学习者提供学习、交流和测试的平台,所以在线学习系统应该具备基本的在线学习、在线交流和在线测试的功能。
基于以上的需求分析,本系统功能应分为在线学习功能、在线交流功能、在线测试功能和后台管理功能四大组成部分。详细功能分析如下:
在线学习功能:是为学习者提供一个可以随时随地自主学习数据库类课程的平台,它包含各种类型的教程。学习者可以查找自身需要的教程,进行自主学习。
在线交流功能:是为了在学习者遇到问题时可以及时互动式的交流而开发的一个在线交流平台,这个交流平台实现了学习者与教师、学习者与学习者之间的实时和异步的交流,真正实现了自主性和能动性的学习氛围。
在线测试功能:是为了在学习者进行自主学习后检测学习效果而开发的。在线测试的开发与应用,避免了以往学校里传统考试中产生的考试纸张、铅笔文具等各种资源的浪费,同时此环节中后台管理是管理员单一的管理,确保了程序的安全性。
后台的管理功能即教师负责整个系统的管理:其管理任务,分别为:
对学习者信息的管理,包括对学习者的用户名、密码、学习课程、学习时间统计等信息的添加、删除、修改与查询功能。
对教程资源的管理,包括对各种教程的添加、删除、修改与查询功能。
对留言信息的管理,包括对学习者发布各种帖子的修改、查询和维护功能。
对测试题目的管理,包括试题的添加、组卷、评分和查询功能。
根据在线学习系统的特点,可以将其分为在线学习平台、在线交流平台、在线测试平台和后台管理四部分进行设计
在线学习平台中提供了学习者自主学习的教程,对于教程学习者不仅可以在线学习、检索查找同时还可以下载保存。如图1.1所示。
在线学习平台
查询教程
学习教程
下载教程
图1.1在线学习平台结构功能图
在线交流平台中,不仅可以提供学习者与教师之间的交流,也可以引申为学习者与学习者之问交流心得体会的平台。如图1.2所示。
在线交流平台
发表新帖
回复帖子
发表疑难问题发表学习心得发表讨论问题讨论学习问题
回复疑难问题
图1.2在线交流平台结构功能图
在线测试平台中,考生必须通过考生证号才可以登陆,这样有效的保证了考试的安全性和权威性。如图1.3所示。
在线考试平台
考生登录
在线考试
退出系统
查询成绩
考试规则
组卷
开始考试
考试结束
图1.3在线测试平台结构功能图
在线学习后台系统中提供的是管理者即教师的相关功能,教师可以进行用户信息、教程信息、帖子信息、试题信息、成绩信息的管理。如图1.4所示。
在线学习后台系统
用
户信息管理
退
出
管
理
帖
子
信
息
管
理
教
程
信
息
管
理
试
题
信
息
管
理
学习者信
息管理
添加
教程
查询
教程
删除
教程
修改帖子
查询帖子
删除帖子
添加
试题
修改
试题
组卷
试题
删除
试题
图1.4在线学习系统后台管理结构功能图
二、数据库设计
(一)概念结构设计
对系统处理的数据进行分析,可以得出本系统一共有七个实体,它们分别是教师、学生、公告、教程、试题、成绩、帖子。根据功能模块划分的结果,具体分析了本系统具有的实体,对实体之间的依赖关系进行了整合,整体E-R图如图2.1所示。
教师
学生
成绩
教程
公告
试题
帖子
管理
管理参与
管理
有
测试
参与
管理
1n
m
n
1n
n
n
1
m
11
n
n
属于n
n
图2.1 整体E-R 图
帖子
帖子编号帖子主题
帖子内容
创建时间
浏览人数
试题
试题编号
试题名称
所属课程
单选题
添加时间
多选题
教师
教师编号电话
姓名
密码
地址
学生
学生证号专业
姓名
性别
密码
成绩
成绩编号
单选成绩
多选成绩总成绩
成绩提
交时间
图2.2单个实体属性图
(二)逻辑结构设计
逻辑结构设计是概念结构设计的下一阶段,设计根据概念阶段的E-R图转化成系统支持的数据模型,本选课系统采用关系模型。根据以上原则将数据库类在线学习系统中的E-R图转换为关系模型如下:
●教师(教师编号,姓名,电话,地址,密码)
●公告(公告编号,公告标题,公告内容,发布日期,教师编号)
●教程(教程编号,教程简介,教程名称,教程类型,点击率,发布日期,教师编号)
●帖子(帖子编号,帖子主题,帖子内容,创建时间,浏览人数,教师编号)
●试题(试题编号,套题名称,所属教材,添加时间,单选题,多选题,教师编号)
●学生(学生证号,姓名,密码,性别,专业,教师编号)
●成绩(成绩编号,单选成绩,多选成绩,总成绩,成绩提交时间,学生证号,试题编号,)
●参与(学生证号,帖子编号)
●测试(学生证号,试题编号)
(三)数据表设计
根据数据库概念设计中给出的数据库实体E.R图:数据库根据需要分为tb_teacher表,用于存储教师相关信息,内容如表2.3.1所示。tb_bulletin表,用于存储公告信息的相关内容,内容如表2.3.2所示。tb_course表,用于存储视频教程的相关内容,内容如表2.3.3所示。tb_tiezi表,用于存储发贴的相关信息,内容如表2.3.4所示。tb_reply表,用于存储回复帖子的相关信息,如表2.3.5所示。tb_exam表,用于存储考试试题的相关信息,内容如表2.3.6所示。tb_student表,