3.3数据库设计
3.3.1需求分析
数据库设计的好坏直接影响到系统的执行功效和日后的文护[12],《C++面向对象程序设计》课程考试系统主要用于实现学生的在线考试功能和管理员的后台管理功能,设计的数据库应该包括学生信息、管理员信息、题库信息、章节信息、学生成绩信息。
3.3.2概念结构设计
E-R模型的组成元素:实体、属性、联系。E-R模型用E-R图表示,其中实体是用户工作环境中所涉及的事物,用矩形表示;属性是对实体特征的描述,用椭圆图形表示;联系表明实体与实体之间的相互关系,用菱形表示。
根据系统需求,实体及实体间的关系E-R图,如图2所示。
 
图2 系统E-R图
管理员实体对课程实体、题库实体、学生实体和成绩实体都是一对多的关系,即一个管理员可以同时实现对多个章节、题库、学生实体和成绩实体的管理;学生实体和成绩实体是一对多的关系,与题库实体是多对多的关系,即一个学生实体可以测试多个章节的试卷、查看多个章节的测试成绩,每个章节的试题可以由多个学生进行测试,而成绩信息只允许测试学生进行查看。
3.3.3逻辑结构设计
数据库逻辑结构设计就是将E-R图转换为关系模型的过程,即将所有实体和关系转换成一系列的关系模式,具体描述如下。
(1)管理员(编号,姓名,密码,性别)。
(2)学生(编号,姓名,密码,性别,管理员编号)。
(3)章节(编号,章节名,加入时间,管理员编号)。
(4)成绩(学生编号,测试章节编号,学生姓名,学生成绩,管理员编号)。
(5)题库(编号,所在章节编号,类型,问题,分值,答案,管理员编号)。
(6)测试(题库编号,所在章节编号,学生编号)。
3.3.4物理结构设计
数据库是信息管理的后台,存储着所有的数据信息。基于以上的需求分析、概念结构设计和逻辑结构设计,C++在线考试系统的实现需要创建数据库db_Examination,主要数据表的设计如下所示。
(1)用户信息表,存储用户基本信息,如表1所示。
表1 用户信息表
字段名    数据类型    是否允许为空    描述
userNum    varchar(50)    否    用户编号
userName    varchar(10)    是    用户姓名
userPwd    varchar(10)    是    用户密码
userSex    nchar(1)    是    用户性别
(2)章节信息表,存储C++在线考试系统的测试章节信息,如表2所示。
表2 章节信息表
字段名    数据类型    是否允许为空    描述
ID    int    否    编号
lesson_Name    varchar(50)    否    章节名
joinTime    datatime    是    加入时间
(3)题库信息中的选择题信息表,存储选择题基本信息,如表3所示。
表3 选择题信息表
字段名    数据类型    是否允许为空    描述
ID    int    否    题目编号
which_Lesson    varchar (50)    否    所在章节编号
que_Type    varchar (50)    是    题目类型
optionA    varchar (50)    是    选项A
optionB    varchar (50)    是    选项B
上一篇:ASP.net散文文学网站的设计与实现
下一篇:Flash益智教育游戏开发

VC++在线学习平台的设计

《管理信息系统》微课程设计与实现

C++《控制工程基础》课程试题数据库设计

jsp+mysql《电力电子技术》...

Asp.net《网页设计与制作》在线学习系统设计

JSP《数字图像处理》实验教学系统设计与实现

2D游戏《保卫萝卜》的设计+源代码

公寓空调设计任务书

国内外图像分割技术研究现状

神经外科重症监护病房患...

AT89C52单片机的超声波测距...

承德市事业单位档案管理...

中国学术生态细节考察《...

C#学校科研管理系统的设计

志愿者活动的调查问卷表

医院财务风险因素分析及管理措施【2367字】

10万元能开儿童乐园吗,我...