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





