基于Web的网络考试系统数据库设计 基于Web的网络考试系统数据库设计 1系统概况 在网络普及的信息化时代,传统的考试方式已不适应现代教学的需要,利用內络改进传 统的考试方式,开发出新的內络考试系统,以适应现代教育的特点,吏好的为教育和培训服 务,是系统要解决的主要问题。本系统采用BS三层模式结构,系统提供考试后台管理和考 试过程管理,其中考试过程管理提供在线考试和离线考试两种考试方式。考试后台管理提供 题库管理、成绩管理、监考管理、考生管理和系统管理等功能。恻络考试系统的功能结构见 冈络考试系统 服务端考试管理 客户端考生考试 监 统管理 管 管 理 考生登陆 数 科目管理 考试设置 试 监 录 试题管理 理 析 理 离线考试 试 图1网络考试系统功能结构 2数据需求分析 本系统主要面向的对象有两个,考生和管理员。对于考生来说,他们参加考试,考试结 束后会得岀该门课的成绩。而对于管理员来说,他们可以对课程进行管理,对考试的科目进 行增、删、改:对考生的信息进行增、删、改:对题库的内容进行增、删、改:进行考试设 置,确定考试的科目、时间、题量、分值等:监掉考试,记录考生的考号、IP、开考时间、 交卷时间等 根据系统功能需求,设计如下所示的数据项和薮据结构。 管理员信息,包括数据项:用户名,密码 考生信息,包括数据项:考号、考生姓名、性别、所在单位等 ●课程信息,包括数据项:科目编号、科目名称。 考生成绩信息,包括数据项:考号、科目编号、成绩等
基于Web的网络考试系统数据库设计 判断题题库,包括数据项:科目编号、试题内容、正确答案等。 选择题题库,包括数据项:科目编号、试题內容、备选答案、正确答案等 考试设置信息,包括数据项:科目编号、题量、分值、考试时间等。 考试监控记录,包括数据项:考号、科目编号、IP、开考时间、交卷时间等。 3数据库概念设计 根据以上分析所得的数据项和数据结构,我们可以设计出能够满足用户需求的各种实 体,以及它们之间的关系。本系统中的实体以及实体之间关系的E-R图如下所示 管理员 Id 用户名 密码 图2管理员信息实体E-R图 考生 考号 考生姓名 性别)(学历 所在单位 备注 图3考生信息实体ER图 考试科目 科目编号 科目名称 图4考试科目信息实体ER图
基于Web的网络考试系统数据库设计 考试成绩 考号 科目编号 科目编号 成绩 备注 图5考试成绩实体ER图 选择题题库 id 正确答案 科目编号 备选答案4 试题内容 备选答案3 各选答案1 选答案2 图6选择题题库实体E-R图 判断题题库 Id 科目编号 试题内容 答案 图7判断题题库实体E-R图 考试设置 考试备注 选择题分值 科目编号 判断题分值 考试用时 考试状态 选择题题量 判断题题量 图8考试设置实体ER图
基于Web的网络考试系统数裾库设计 考试监控记录 考号 备注 科目编号 IP 当前状态 开考时间 交卷时间 图9考试监控记录实体E-R图 提取 判断题题阵 考试设置 考试科目 提取 选择题题忤 设置 管理 管理员 考试监控记录 管理 考生 考试成绩 图10实体之间关系E-R图 4数据库逻辑设计 本系统采用关系数据库,根据上面概念设计的结果,把ER模型描述的概述结构转换为 一组反映逻辑结构的关系模式,见下 管理员信息(ID,用户名,密码) 考试科目(科目编号,科目名称) 考生信息(考号,考生姓名,性别,学历,所在单位,备注) 考试成绩(ID考号,科目编号,考试时间,成绩,备注) 选择题库(I,科目编号,试题内容,备选答案1,备选答案2,备选答案3,备选答 案4,正确答案 判断题题库(ID,科目编号,试题内容谷,答案)
基于Web的网络考试系统裾库设 考试设置(ID,科目编号,考试用时,考试状态,考试备注,选择题考题量,判断题考 题量,选择题钶题分值,判断题每题分值 考试监考记录(ID,考号,科目编号,IP,开考时间,交卷时间,当前状态,备注) 5数据库物理结构 通过将以上的数据厍概念结构转换成sα Server数据厍所支持的实际数据模型,我们 可得到以下几张数据表 1).管理员信息表 admin 表1管理员信息表 字段中文名 英文字段名 (长度) 说明 主键 用户名 USername ArcHa 密码 Pwd Varchar 2).考试科目表 SUbject 表2考试科目表 字段中文名 英文字段名 类型 (长度 说明 科目编号 VarChar 主键 科目名称 SName ).考生信息表 Examinee 表3考生信息表 字段中文名 英文字段名 考号 VarChar 主键 EName 性别 Sex 学历 StdLong VarChar 所在单位 archar 注 4).考试成绩表 SCore 表4考试成绩表 字段中文名 英文字段名 类型 (长度) 说明 主键 ENO 外键 科目编号 Varchar 外键 考试时间 Testate Datetime 成绩
基于Web的网络考试系统敏据库设计 Memo VarChar 5)选择题题库表 Choose 表5选择题题库表 字段中文名 英文字段名 类型 (长度) 科目编号 Varchar 外键 试题内容 TestQuestion VarChar 备选答案1 备选答案2 VarChar 备选答案3 备选答案4 VarChar 400 正确答案 VarChar 6).判断题题库表 Judge 表6判断题题库表 字段中文名 英文字段名 类型 说明 D Aute 主键 科目 外键 试题内容 testQuestion VarChar 400 答案 Varchar 7)考试设置表 Setexam 表7考试设置表 字段中文名 买文字段名 (长度) 科目编号 SNO Archa 外键 考试用时 考试状态 Estate Archa 考试备注 Memo VarChar 选择题考题量 判断题考趣量 Choose 选择题每题分值 Float 判断题每题分值 Choosevalue Float 8).考试监控记录表EICR
基于Web的网络考试系统裾库设计 表8考试监控记录表 字段中文名 英文字段名 类型 (长度) 说明 考号 ENO Varchar 科目编号 SNO Varchar Varchar 开考时间 Datetime 交卷时间 ETimer Datetime 当前状态 Cstate Varchar 备注 Memo VarChar 6数据库完整性设计 数据完整性是指数据的正确性和完备性,分为三种类型:实体亢整性、域完整性以及引 用完整性。实体完整性是将行定义为特定表的惟一实体。域完整性是指给定列的输入有效性 而在输入或删除记录时,引用完整性保持表之间已定义的关系。在 SQL Server2000中,引 用完整性基于外键与主键之间或外键与惟一键之间的关系。引用完整性确保键值在:所有表中 的一致。这样的一致性要求不能引用不存在的值,如果键值史改了,那么在整个数据库中, 对该键的所有引用要进行一致的史改。 在使用 INSERT、 DELETE、 UPDATE语伺修改数据厍内容时,数据的完整性可能会遭到破 坏。这样就需要强制数据厍的数据完整性。实施数据完整性主要是通过对数据表和列的约束 来实现,这些约束我们可以使用 SQL Server的技术来实现自动化处理,不需要进行手工维 首先,在企业管理器中,通过“新建关系图”菜单,创建本系统数据厍关系图。关系图 的使用可以让表间的关系一日了然,而且通过关系图来管理关系和键将|分便捷。然后创建 惟一约束和外键约束 本系统中涉及到的实体,如考试科目、管理员信息等,每条信息都通过主键列来惟一标 识。同时我们要求它们在指定的列上没有两行相同的值,如管理员信息表中的用户名、考试 科目中的科目名称等,若已经输入了 username值为“ admin”的管理员,那么数据库不应允 许其他管理员使用同一用户名。对此我们可以利用“索引/键”菜单,在相应的列上创建惟 约束来实现这个功能。 在本系统中,一个实体往往涉及到对另一个实体的引用,比如:选择题题库、判断题题 厍会引用考试科目信息,考试成绩会引用考生信息和考试科目信息等。如果用户能任意删除 某考生信息,那么当浏览该考生下的考试成绩时,将会出现某些成绩所属考生的考号和考生 姓名为空,为避免这种情况出现,要在删除考生信息的时候,同时也把该考生下的所有考试 成绩删除,即实现引用完整性,对此,我们可以利用“关系”菜单创建外键约束來实现这些 功能 通过以上操作,我们可以强制约束业务规则,维护数据的完整性和一致性,确侏数据库 中的数据质量