- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
三层架构数据库设计
摘要摘要:以河北省教育考试统计分析系统为例,结合系统面向考试种类多、同类考试考次多、单次考试数据量大、各类考试基础字典数据及统计分析需求存在差异等特点,介绍了一种三层架构的数据库设计方案,包括:顶层公共数据库、第二层考试类别公共数据库、第三层考次成绩数据库。对各层数据库的表对象(Table)构成进行分析,并提出了跨库建立视图(View)以及存储过程中使用动态SQL语句的多层数据库跨库访问方法。
关键词关键词:教育考试;考试数据;数据库;三层架构
DOIDOI:10.11907/rjdk.162228
中图分类号:TP392文献标识码:A文章编号文章编号2017)001014004
引言
三层架构数据库指将数据分布在不同层次的数据库上,分层依据如按类型、层次、粒度、用途、使用环境等。本文以河北省教育考试统计分析系统为例,介绍了一种三层架构数据库设计方案。该系统旨在对各类终结性教育考试和学生在校的过程性考试成绩进行统计分析,并针对不同的服务对象(学生、教师、学校、教研部门、教育行政部门)提供针对性的统计分析反馈报告[1]。系统具有面向考试种类多、同类考试考次多,单次考试数据量大、各类考试基础字典数据差异化以及统计分析需求存在差异等特点。因此,在数据库设计上需要基于这些特点采用针对性的解决方案。
1三层数据库架构
教育考试数据统计分析系统在数据库设计上具有单一数据库架构和多数据库架构两种解决方案。单一数据库架构指各类考试数据集中在一个数据库中,将同类数据存放在同一张数据表下,例如,各次考试的考生数据与各类考试的考试成绩数据各存放在一张数据库表中。多数据库架构则是将考试数据按一定规则分布在多个数据库中。
单一数据库架构的优点是针对数据库的编程逻辑相对简单,便于多次考试统计分析对比等,但缺点也显而易见。首先,数据库表记录行数庞大造成效率低下问题。由于系统需要管理多种类型的考试,每类考试又存在多次考试,单次考试数据量巨大,所以随着时间推移,数据库将存储累积海量数据。单表行数规模很容易达到千万级或亿级以上规模,使数据统计分析效率受到严重影响。另外,数据集中在单一数据库中也不利于解决不同类型考试在基础数据及统计分析需求方面的差异化问题。
综上,教育考试数据统计分析系统宜于采用多数据库架构。鉴于教育考试数据统计分析系统管理的考试有多种类别,每类考试既有共用数据,又有独有数据。同时每类考试又有多次考试,每次考试同样有该类考试的共用数据及独有数据,因此可采用三层数据库架构,把不同类型的考试数据分布在不同层次的数据库上。三层数据库架构由顶层TOP公共库、第二层类别公共库、第三层考次成绩数据库组成,如图1所示。
第一层,顶层公共库。用于存放各类型考试的公用数据,包括公用基础字典数据以及考次管理数据。顶层公共库可命名为:COMMOM_TOP。
第二层,类别公共库。例如高考公共库、高中过程性考试公共库、自学考试公共库、全国英语等级考试公共库、全国计算机等级考试公共库等,用于存放同一类型各次考试的公用数据,以及各次考试的统计汇总数据。类别数据库的命名方式为:COMMON_考试类别。例如,高考公共库命名为:COMMON_01,“01”为高考编码。
第三层,考次成绩数据库,用于存放某次考试的考生、试卷、成绩等数据。例如,2015年高考、2016年高考是高考的不同考次,考试成绩数据分别保存在不同的数据库中;石家庄高考模拟考试一、石家庄高考模拟考试二、石家庄高考模拟考试三是高中?^程性考试的三次不同的考次,考试数据也分别存放在不同数据库中。考次成绩数据库的命名方式为:KC_考试年度_考试类型_序号。例如,2016年高考的数据库命名为:KC_2016_01_01,名称中第一个“01”代表高考,第二个“01”代表考试序号。
2各层数据库构成设计
2.1顶层公共库
顶层公共数据库存放各类型考试的共用数据,这些数据包括公用基础字典数据以及考次管理数据。
基础字典数据包括:考试类型、学校类别、试卷类型、题型、性别、行政区划等,如表1所示。
考次成绩数据库位于第三层,用于存放某次考试的考生、试卷、成绩等数据[2]。以下仍以高考考次成绩数据库为例,高考考次成绩数据库的表对象主要由考生信息表、考生成绩表、试卷信息表三大类构成,其中考生成绩表又可分为总成绩表以及单科成绩表,试卷信息表可以分为试题信息表、试卷知识结构表、试卷能力结构表(见表7)。图2反映了高考考次成绩数据库中各表之间的关联关系。
表7高考考次库表对象(部分)表名称表内容考生信息(ksxx)存放每个考生的个人信息,字段如:考生号、姓名、性别、身份证号、报名点学校、班级、
文档评论(0)