论文部分内容阅读
摘要:本文以学生的典型数据分析与设计案例为依据,说明学生在数据库设计过程中出现的种种问题,分析出问题出现的主要原因,并给出解决方法。
关键词:数据库设计;数据实体;关联实体;级联实体;设计过程
作者简介:李春芳(1975-),女,湖南祁阳人,长沙理工大学计算机与通信工程学院,讲师,工学硕士,主要研究方向:计算机学科教育、工作流;罗可(1961-),男,湖南长沙人,长沙理工大学计算机与通信工程学院,教授,工学博士,主要研究方向:数据库、人工智能。(湖南 长沙 431000)
基金项目:本文系长沙理工大学“‘数据库原理与技术’课程教学改革的研究与实践”(项目编号:JG072224)、长沙理工大学“‘数据库原理与技术’质量工程精品课程建设”(项目编号:KC0806)的研究成果。
随着社会的不断进步、计算机处理能力的不断提升以及计算机网络的广泛应用,越来越多的社会信息处理与传递都需要通过计算机来完成,这不仅可以大大提高业务处理效率和质量,也可以大大减少在信息传递中的成本损耗以及错误,信息共享程度以及共享速度也在大大提高。信息在计算机处理过程中可能面对和积累大量数据,这些数据必须被有效管理,才能为信息管理系统的建设与运行提供良好的支撑。信息管理系统所需的数据库实现已经成为信息管理系统开发的重要基础环节。数据库设计为数据库实现提供良好的分析与可视模型,可以快速反映数据内核以及数据库定义质量。因此学生的数据库设计又成为学生信息管理系统开发的一个必要环节。
传统的“数据库原理与技术”课程教学往往容易忽视学生对面向特定应用的数据库分析与设计,也没有提供比较有效的方法来帮助学生完成数据库分析与设计,更加缺乏有效的方法来自行检测个人数据库分析与设计结果,因此在实际的学生数据库设计实践过程中往往会出现这样那样的问题。本文以学生的网上考试系统数据库分析与设计实践结果作为分析对象,找出学生在数据库分析与设计过程中出现种种问题的原因及参考解决方法。
一、学生在数据库设计过程中出现的主要问题
网上考试系统的出现是为了解决传统纸质考试过程中纸张浪费严重、监考麻烦、阅卷效率与质量低下、教考不分离等问题,它是随着计算机网络的广泛应用以及服务器端编程技术日益成熟而逐渐出现并发展起来的。网上考试系统不仅可以更公平和严格地测试出考试对象的学习水平和学习能力,还可以将其推广为学习测试系统,从而在平日的学习过程中进行自我检测,以便及早发现学习方法的问题,明确学习目标,从而更好地提高学生的学习能力与兴趣。本次实践任务的目的就是要求学生针对网上考试系统展开相应的数据分析与设计,建立满足应用需要的数据概念模型与逻辑模型。根据学生的实践结果发现主要存在以下12个方面的问题。
(1)学生的数据分析与设计缺乏明确的思路和条理,因此容易导致学生所设计出来的数据实体出现遗漏和错误。如大多数学生都能定义出网上考试系统中的考生、教师、管理员、科目、题目的实体,却有很多学生不能准确甚至忽视试卷、组卷规则的定义。
(2)学生比较容易得出静态实体的内容与字段定义,却比较难把握系统中的动态信息内容与字段定义。网上考试系统中的试卷信息会针对每个学生进行独立的题库抽取,由于组卷规则的定义是抽象的,所产生的随机函数是无法预计和不确定的,因此每个学生获取的试卷信息是不相同的,如何准确把握学生所考试卷信息以及所填写的试卷答案成为很多学生在网上考试系统设计中的难点。
(3)学生对于独立信息实体的认识往往都比较好,但是对于实体之间的关联分析与定义往往都不够全面。如网上考试系统中大部分学生都能注意到试卷信息与题目信息之间的关系,但是很多学生都忽视了每份试卷与每位考生之间的关联,而这个关联作为考生考试和成绩评定的基础是不容忽视的。
(4)学生对级联信息的认知与处理不够好。在很多应用系统中,都会存在大量的级联信息,如组织机构信息、分类信息,这些信息整体识别特征比较一致,如网上考试系统中考生院系及专业信息的定义与标识,往往不能准确表达考生与专业、专业与院系之间的关联。
(5)学生缺乏在建立数据模型中的数据模拟,因此很难细致地分析到一些实体内部在具体信息定义上的内涵差异性。如网上考试系统中的题库建设,每个科目的题库都需要由包含多种题型的题目来支撑,由此从各种不同角度衡量学生的学习能力与知识点。而每种题型在具体的信息标识上就存在比较大的差异,如单选题与判断题、填空题等,因此采用一个数据模型来管理所有类型的题目是非常不合理的,但是很多学生都不能注意这一点。与此相类似的就是网上医院门诊信息管理系统中的病人化验信息,由于病人化验类项不同,因此化验结果列项也大大不同,所以仅用一个统一的化验表是无法表示诸多化验项结果信息的。
(6)学生对用户权限的管理大多是非常粗糙不合理的。以网上考试系统为例,不同的教师对不同的题库建设、试卷评阅具有不同的权限和处理能力。然而在很多学生的网上考试系统中都未能准确标识教师的权限,而只以简单的用户、密码认证作为衡量的标杆,这非常不切合实际应用系统的开发与应用,也是非常危险的。学生在网上书店、网上医院门诊系统等设计中对管理员的认证也都存在以上问题。
(7)学生往往很难区分与定义在一个字段项内容中包含多个具体内容项的内容。如网上考试系统中每位考生抽取到的试卷包含多个题型,每个题型由多道题目组成,如何准确描述与定义这些抽取到的题目以及考生的答案成了很多学生的难点。事实上,网上医院门诊信息也有同样问题,医生针对不同病患开出了不同的化验单和处方,而对于同一病患来说面对的是多个化验单和处方,如何准确记录这些化验信息以及处方信息也成为很多学生无法突破的难题。
(8)对于数据实体的内涵定义,很多学生很难做到合理适中。如网上考试系统中学生的成绩信息居然没有考生与科目信息标识,而包含的是各题型分数以及总分的字段定义;题目信息中不包含出题者信息,更不用说包含审批者信息等等。
(9)学生对于同一信息在不同应用背景下的特征或者说信息侧重认识普遍都不够好。如网上考试系统中的教师信息定义要侧重于其对题库的建设与管理方面,因此其包含的具体内容当然应该有别于教师信息管理系统或选课系统中的教师信息。
(10)数据库对系统功能的支持普遍都不够灵活。学生往往对完成信息添加、删除、更新、查询的基本功能支持所需数据分析比较到位,但是对一些额外灵活的如排行、评论、推荐、收藏、打折的支持不到位。
(11)学生对于临时性存储数据与永久性存储数据的认识与处理不够准确。如网上书店中购物车信息可以作为临时性存储数据,也可以作为永久性存储数据,它们的定义与存储方式有很大区别。
(12)实体定义考虑不全面。很多学生往往只能把握相应实体的一些基本信息,但是不能全面把握相应实体。然而对于应用系统来说,只有提供完备的数据支持,才能完成相应功能的处理。如单选题库往往只考虑到科目信息、选项信息,没有考虑到出题者、出题时间、审批者、审批时间、所涉章节、所涉知识点、题目难度,使系统不能对题目的质量进行更好的管理以及在题目抽取时尽量合理地控制所抽取试卷的难易程度和所涉及知识点内容。
以上是学生在实践网上考试系统、网上医院门诊信息管理系统、网上书店数据分析与定义时发现的比较典型的问题。这些问题急需解决,以便学生能完整适中地完成应用系统所需数据支持的分析与定义,否则相应系统只能是空中楼阁。
二、存在问题的根源及解决方法
根据对大量的学生数据库分析与设计前期、中期和后期的实践过程跟踪与调查发现,学生在应用系统所需数据分析与定义中出现的种种问题根源大致包含以下四个方面。
(1)缺乏对数据分析与定义的正确认知,往往只是简单地认为其是系统功能的一个附属内容,而将系统分析、设计与实现核心集中在业务逻辑的编写上,忽视了系统所需数据支持也需要认真地分析、整理与设计。
(2)将应用系统的数据分析与定义和系统功能分析与定义人为地隔绝开来,从而使很多数据库设计脱离实际、不能满足需要。
(3)数据实体分析与内涵定义缺乏逻辑和耐心,因此使很多数据实体定义缺东少西,特别是缺少一些关键性标识性内容。
(4)在对系统所需数据的分析与定义上一律同等对待,没有区分重点和难点问题,另外也没有将一些重点与难点数据定义问题的解决作为其他数据分析与定义的参考。
针对以上学生在数据分析与定义上出现的根本问题,笔者提出以下三个可供参考的解决方法与途径。
(1)首先必须重视数据的分析与定义过程,并深刻理解其在系统开发中的重要性。将数据分析与定义和业务流程、系统模块的划分以及系统功能的分析与定义紧密地衔接起来。争取做到以系统功能为核心进行所需数据支持的分析与定义,这样就避免了遗漏和不切实际,并会根据功能所需对同一数据实体进行信息补充。
(2)重视一些关键性、典型性数据实体的分析与定义,如权限划分、级联信息处理、组合信息处理、不同具体内涵的信息处理,以便在其他系统的数据分析与支持中可以得到推广与应用。
(3)对于数据实体内涵的具体分析与定义,注意用一句话描述信息特征,并基于此进行数据字段分析与定义。如网上考试系统的考生考卷信息可以用“某个考生在考试某个科目时在某种题型上看到了某个题,并提交了某答案”的基本思路进行定义,这样就可以分析出考生考卷信息的基本定义可包含考生编号、考试科目编号、考试科目名称、题类型、题编号、题答案;其中题类型由教师定义组卷规则确定,而题目编号根据组卷规则中的题量以及抽取规则获取,题目答案则是对应相应抽取题学生填写的内容。
网上考试系统的E-R实体模型定义如图1所示。
三、小结
总而言之,学生需要充分认识数据分析与设计的重要性,并严格对系统流程及功能进行准确定义,从而围绕它进行合理的数据分析与定义。学生可以自行或者学生之间通过耐心细致的提问来检测个人数据实体定义中的问题,避免因数据定义产生的问题导致后期系统开发的大量资源浪费。学生需要通过对典型案例的学习与实践掌握一些核心和主要的数据分析与设计技巧,真正把好数据库设计关。
参考文献:
[1]王珊,萨师煊.数据库系统概论(第四版)[M].北京:高等教育出版社,2006.
[2]杨昱昺,王红艳.基于题库自适应在线考试系统的分析与设计[J].武汉理工大学学报,2008,(4):45-50.
[3]李光明,李红强.基于Caché的医院信息化系统的设计[J].微计算机信息,2007,(36):87-90.
[4]西尔伯沙茨,等.数据库系统概念(第5版)[M].杨冬青,等,译.北京:机械工业出版社,2006.
[5]埃尔姆斯里,内瓦西.数据库系统基础:高级篇(第5版)[M].邵佩英,等,译.北京:人民邮电出版社,2008.
(责任编辑:麻剑飞)
关键词:数据库设计;数据实体;关联实体;级联实体;设计过程
作者简介:李春芳(1975-),女,湖南祁阳人,长沙理工大学计算机与通信工程学院,讲师,工学硕士,主要研究方向:计算机学科教育、工作流;罗可(1961-),男,湖南长沙人,长沙理工大学计算机与通信工程学院,教授,工学博士,主要研究方向:数据库、人工智能。(湖南 长沙 431000)
基金项目:本文系长沙理工大学“‘数据库原理与技术’课程教学改革的研究与实践”(项目编号:JG072224)、长沙理工大学“‘数据库原理与技术’质量工程精品课程建设”(项目编号:KC0806)的研究成果。
随着社会的不断进步、计算机处理能力的不断提升以及计算机网络的广泛应用,越来越多的社会信息处理与传递都需要通过计算机来完成,这不仅可以大大提高业务处理效率和质量,也可以大大减少在信息传递中的成本损耗以及错误,信息共享程度以及共享速度也在大大提高。信息在计算机处理过程中可能面对和积累大量数据,这些数据必须被有效管理,才能为信息管理系统的建设与运行提供良好的支撑。信息管理系统所需的数据库实现已经成为信息管理系统开发的重要基础环节。数据库设计为数据库实现提供良好的分析与可视模型,可以快速反映数据内核以及数据库定义质量。因此学生的数据库设计又成为学生信息管理系统开发的一个必要环节。
传统的“数据库原理与技术”课程教学往往容易忽视学生对面向特定应用的数据库分析与设计,也没有提供比较有效的方法来帮助学生完成数据库分析与设计,更加缺乏有效的方法来自行检测个人数据库分析与设计结果,因此在实际的学生数据库设计实践过程中往往会出现这样那样的问题。本文以学生的网上考试系统数据库分析与设计实践结果作为分析对象,找出学生在数据库分析与设计过程中出现种种问题的原因及参考解决方法。
一、学生在数据库设计过程中出现的主要问题
网上考试系统的出现是为了解决传统纸质考试过程中纸张浪费严重、监考麻烦、阅卷效率与质量低下、教考不分离等问题,它是随着计算机网络的广泛应用以及服务器端编程技术日益成熟而逐渐出现并发展起来的。网上考试系统不仅可以更公平和严格地测试出考试对象的学习水平和学习能力,还可以将其推广为学习测试系统,从而在平日的学习过程中进行自我检测,以便及早发现学习方法的问题,明确学习目标,从而更好地提高学生的学习能力与兴趣。本次实践任务的目的就是要求学生针对网上考试系统展开相应的数据分析与设计,建立满足应用需要的数据概念模型与逻辑模型。根据学生的实践结果发现主要存在以下12个方面的问题。
(1)学生的数据分析与设计缺乏明确的思路和条理,因此容易导致学生所设计出来的数据实体出现遗漏和错误。如大多数学生都能定义出网上考试系统中的考生、教师、管理员、科目、题目的实体,却有很多学生不能准确甚至忽视试卷、组卷规则的定义。
(2)学生比较容易得出静态实体的内容与字段定义,却比较难把握系统中的动态信息内容与字段定义。网上考试系统中的试卷信息会针对每个学生进行独立的题库抽取,由于组卷规则的定义是抽象的,所产生的随机函数是无法预计和不确定的,因此每个学生获取的试卷信息是不相同的,如何准确把握学生所考试卷信息以及所填写的试卷答案成为很多学生在网上考试系统设计中的难点。
(3)学生对于独立信息实体的认识往往都比较好,但是对于实体之间的关联分析与定义往往都不够全面。如网上考试系统中大部分学生都能注意到试卷信息与题目信息之间的关系,但是很多学生都忽视了每份试卷与每位考生之间的关联,而这个关联作为考生考试和成绩评定的基础是不容忽视的。
(4)学生对级联信息的认知与处理不够好。在很多应用系统中,都会存在大量的级联信息,如组织机构信息、分类信息,这些信息整体识别特征比较一致,如网上考试系统中考生院系及专业信息的定义与标识,往往不能准确表达考生与专业、专业与院系之间的关联。
(5)学生缺乏在建立数据模型中的数据模拟,因此很难细致地分析到一些实体内部在具体信息定义上的内涵差异性。如网上考试系统中的题库建设,每个科目的题库都需要由包含多种题型的题目来支撑,由此从各种不同角度衡量学生的学习能力与知识点。而每种题型在具体的信息标识上就存在比较大的差异,如单选题与判断题、填空题等,因此采用一个数据模型来管理所有类型的题目是非常不合理的,但是很多学生都不能注意这一点。与此相类似的就是网上医院门诊信息管理系统中的病人化验信息,由于病人化验类项不同,因此化验结果列项也大大不同,所以仅用一个统一的化验表是无法表示诸多化验项结果信息的。
(6)学生对用户权限的管理大多是非常粗糙不合理的。以网上考试系统为例,不同的教师对不同的题库建设、试卷评阅具有不同的权限和处理能力。然而在很多学生的网上考试系统中都未能准确标识教师的权限,而只以简单的用户、密码认证作为衡量的标杆,这非常不切合实际应用系统的开发与应用,也是非常危险的。学生在网上书店、网上医院门诊系统等设计中对管理员的认证也都存在以上问题。
(7)学生往往很难区分与定义在一个字段项内容中包含多个具体内容项的内容。如网上考试系统中每位考生抽取到的试卷包含多个题型,每个题型由多道题目组成,如何准确描述与定义这些抽取到的题目以及考生的答案成了很多学生的难点。事实上,网上医院门诊信息也有同样问题,医生针对不同病患开出了不同的化验单和处方,而对于同一病患来说面对的是多个化验单和处方,如何准确记录这些化验信息以及处方信息也成为很多学生无法突破的难题。
(8)对于数据实体的内涵定义,很多学生很难做到合理适中。如网上考试系统中学生的成绩信息居然没有考生与科目信息标识,而包含的是各题型分数以及总分的字段定义;题目信息中不包含出题者信息,更不用说包含审批者信息等等。
(9)学生对于同一信息在不同应用背景下的特征或者说信息侧重认识普遍都不够好。如网上考试系统中的教师信息定义要侧重于其对题库的建设与管理方面,因此其包含的具体内容当然应该有别于教师信息管理系统或选课系统中的教师信息。
(10)数据库对系统功能的支持普遍都不够灵活。学生往往对完成信息添加、删除、更新、查询的基本功能支持所需数据分析比较到位,但是对一些额外灵活的如排行、评论、推荐、收藏、打折的支持不到位。
(11)学生对于临时性存储数据与永久性存储数据的认识与处理不够准确。如网上书店中购物车信息可以作为临时性存储数据,也可以作为永久性存储数据,它们的定义与存储方式有很大区别。
(12)实体定义考虑不全面。很多学生往往只能把握相应实体的一些基本信息,但是不能全面把握相应实体。然而对于应用系统来说,只有提供完备的数据支持,才能完成相应功能的处理。如单选题库往往只考虑到科目信息、选项信息,没有考虑到出题者、出题时间、审批者、审批时间、所涉章节、所涉知识点、题目难度,使系统不能对题目的质量进行更好的管理以及在题目抽取时尽量合理地控制所抽取试卷的难易程度和所涉及知识点内容。
以上是学生在实践网上考试系统、网上医院门诊信息管理系统、网上书店数据分析与定义时发现的比较典型的问题。这些问题急需解决,以便学生能完整适中地完成应用系统所需数据支持的分析与定义,否则相应系统只能是空中楼阁。
二、存在问题的根源及解决方法
根据对大量的学生数据库分析与设计前期、中期和后期的实践过程跟踪与调查发现,学生在应用系统所需数据分析与定义中出现的种种问题根源大致包含以下四个方面。
(1)缺乏对数据分析与定义的正确认知,往往只是简单地认为其是系统功能的一个附属内容,而将系统分析、设计与实现核心集中在业务逻辑的编写上,忽视了系统所需数据支持也需要认真地分析、整理与设计。
(2)将应用系统的数据分析与定义和系统功能分析与定义人为地隔绝开来,从而使很多数据库设计脱离实际、不能满足需要。
(3)数据实体分析与内涵定义缺乏逻辑和耐心,因此使很多数据实体定义缺东少西,特别是缺少一些关键性标识性内容。
(4)在对系统所需数据的分析与定义上一律同等对待,没有区分重点和难点问题,另外也没有将一些重点与难点数据定义问题的解决作为其他数据分析与定义的参考。
针对以上学生在数据分析与定义上出现的根本问题,笔者提出以下三个可供参考的解决方法与途径。
(1)首先必须重视数据的分析与定义过程,并深刻理解其在系统开发中的重要性。将数据分析与定义和业务流程、系统模块的划分以及系统功能的分析与定义紧密地衔接起来。争取做到以系统功能为核心进行所需数据支持的分析与定义,这样就避免了遗漏和不切实际,并会根据功能所需对同一数据实体进行信息补充。
(2)重视一些关键性、典型性数据实体的分析与定义,如权限划分、级联信息处理、组合信息处理、不同具体内涵的信息处理,以便在其他系统的数据分析与支持中可以得到推广与应用。
(3)对于数据实体内涵的具体分析与定义,注意用一句话描述信息特征,并基于此进行数据字段分析与定义。如网上考试系统的考生考卷信息可以用“某个考生在考试某个科目时在某种题型上看到了某个题,并提交了某答案”的基本思路进行定义,这样就可以分析出考生考卷信息的基本定义可包含考生编号、考试科目编号、考试科目名称、题类型、题编号、题答案;其中题类型由教师定义组卷规则确定,而题目编号根据组卷规则中的题量以及抽取规则获取,题目答案则是对应相应抽取题学生填写的内容。
网上考试系统的E-R实体模型定义如图1所示。
三、小结
总而言之,学生需要充分认识数据分析与设计的重要性,并严格对系统流程及功能进行准确定义,从而围绕它进行合理的数据分析与定义。学生可以自行或者学生之间通过耐心细致的提问来检测个人数据实体定义中的问题,避免因数据定义产生的问题导致后期系统开发的大量资源浪费。学生需要通过对典型案例的学习与实践掌握一些核心和主要的数据分析与设计技巧,真正把好数据库设计关。
参考文献:
[1]王珊,萨师煊.数据库系统概论(第四版)[M].北京:高等教育出版社,2006.
[2]杨昱昺,王红艳.基于题库自适应在线考试系统的分析与设计[J].武汉理工大学学报,2008,(4):45-50.
[3]李光明,李红强.基于Caché的医院信息化系统的设计[J].微计算机信息,2007,(36):87-90.
[4]西尔伯沙茨,等.数据库系统概念(第5版)[M].杨冬青,等,译.北京:机械工业出版社,2006.
[5]埃尔姆斯里,内瓦西.数据库系统基础:高级篇(第5版)[M].邵佩英,等,译.北京:人民邮电出版社,2008.
(责任编辑:麻剑飞)