学生考试系统数据库
第一节第一节 数据库设计数据库设计一、数据库总体设计一、数据库总体设计本系统采用关系型数据库模式,因此数据库由若干个二维表(即数据文件)构成。本系统的数据文件全为数据数据。数据的保存方法有很多种,最长用的方式是使用 DBMS(数据库管理系统)。市场上流行的 DBMS 主要有 Oracle、SYBASE、MS SQL Server、DB2、Informix 等,而 MS SQL Server 可作为中小型数据管理系统的首选。根据以上分析,本系统后台数据库决定采用 MS SQL Server 为后台数据库。本系统的数据表主要由两个部分组成:系统表和功能表。系统表是该系统中存储基本数据信息表,例如:考生信息表(tb_Student)、管理员信息表(tb_manager)。功能表是系统为了完成一定的功能,要求把一定的数据信息存储在数据库中,这就需要专门新建表来存储相应信息。例如:、课程信息表(tb_Lesson)、试题信息表(tb_Questions)、考生成绩表(tb_StuResult)、套题表(tb_TaoTi)等。二、二、数据库概念设计数据库概念设计根据对系统所做的需求分析和总体设计,可以规划出要使用的数据库实体分别为考生信息实体、管理员信息实体、课程信息实体、套题实体、考试题目实体和考生成绩实体。1、考生信息实体:考生信息实体包括编号、姓名、密码、性别、注册时间、提示问题、问题答案、专业和身份证属性。2、套题实体:套题实体包括编号、名称、所属课程和添加时间等属性。3、考试题目实体:考试题目实体包括编号、问题类型、所属课程、所属套题、选项 A、选项B、选项 C、选项 D、添加时间、正确答案和备注等属性。三、数据库逻辑设计三、数据库逻辑设计根据概念设计,可以创建与实体对应的数据表和关系。本系统共包含 6 张数据表:表 3.1 数据库设计所需的表表名表名注释注释tb_Lesson课程表tb_manager管理员表tb_Questions试题表tb_Student考生表tb_StuResult考试成绩表tb_TaoTi套题表各数据表的结构:1名称:管理员信息表标识:tb_manager 数据来源:前台页面取得。表 3.2 管理员信息表字段名数据类型及长度说明备注IDBigint(8)准考证号码主键NameVarchar(30)姓名不允许为空PWDVarchar(30)密码不允许为空图 3.4 管理员信息表2名称:考生信息表标识:tb_Student数据来源:前台页面取得。JSP 在线考试系统-9 2009 年 12 月 17 日 星期四 13:53表 3.3 考生信息表字段名数据类型及长度说明备注IDVarchar(16)准考证号主关键字NameVarchar(20)姓名不允许为空PwdVarchar(20)密码不允许为空SexVarchar(2)性别不允许为空JointimeDatetime(8)注册时间不允许为空QuestionVarchar(50)密码提示问题不允许为空AnswerVarchar(50)密码回答答案不允许为空ProfessionVarchar(30)专业允许为空cardNoVarchar(18)身份证号码不允许为空图 3.5 考生信息表3考生成绩表标识:tb_StuResult数据来源:前台页面取得。表 3.4 考生成绩表字段名数据类型及长度说明备注IDBigint(8)管理员账号主关键字StuidVarchar(16)准考证号不允许为空WhichlessonVarchar(60)所属课程不允许为空RessingleVarchar(4)单选题成绩不允许为空ResmoreDatetime(4)多选题成绩不允许为空RestotalVarchar(4)总成绩允许为空JointimeVarchar(8)注册时间不允许为空图 3.6 考生成绩表4考试科目信息表标识:tb_Lesson数据来源:前台页面取得。表 3.5 考试科目信息表字段名数据类型及长度说明备注IDBigint(8)管理员账号主键NameVarchar(60)科目名称不允许为空Jointimedatetime(8)加入时间不允许为空图 3.7 考试科目信息表5套题表标识:tb_TaoTi数据来源:前台页面取得。表 3.6 套题表字段名数据类型及长度说明备注IDBigint(8)套题标识主键NameVarchar(50)套题名称不允许为空LessonIDBigint(8)课程编号不允许为空JointimeDatetime(8)加入时间不允许为空图 3.8 考试套题表6试题信息表标识:tb_Questions数据来源:前台页面取得。表 3.7 试题信息表字段名数据类型及长度说明备注IDBigint(8)管理员账号主关键字SubjectVarchar(50)所属课程不允许为空Typechar(6)题目类型不允许为空JointimeDatetime(8)加入时间不允许为空LessonIDInt(4)课程编号不允许为空taoTiIDBigint(8)套题编号不允许为空optionAVarchar(50)选项 A不允许为空OptionBVarchar(50)选项 B不允许为空OptionCVarchar(50)选项 C不允许为空OptionDVarchar(50)选项 D不允许为空AnswerVarchar(10)答案不允许为空NoteVarchar(50)备注允许为空数据表之间的关系设计:图 3.10 各数据表之间的关系 待续待续