论文部分内容阅读
摘要:本文通过对数据模型中概念模型、逻辑模型的描述原理的介绍说明数据模型理论的学习与实践对关系数据库设计与实现的重要意义。通过阐述概念模型建立方法的质量保证以及概念模型到逻辑模型平滑转换的重要意义与方法,说明基于特定DBMS的具体数据库定义方法。
关键词:数据模型;概念模型;逻辑模型;DBMS;数据字典;数据流程
作者简介:李春芳(1975-),女,湖南祁阳人,长沙理工大学计算机与通信工程学院,讲师,工学硕士,主要研究方向:计算机学科教育、工作流;肖晓丽(1965-),女,湖南长沙人,长沙理工大学计算机与通信工程学院,教授,工学硕士,主要研究方向:数据库、软件工程。(湖南 长沙 431000)
基金项目:本文系长沙理工大学“‘数据库原理与技术’课程教学改革的研究与实践”项目(项目编号:JG072224)、长沙理工大学“‘数据库原理与技术’质量工程精品课程建设”项目(项目编号:KC0806)的研究成果。
一、数据模型部分在“数据库原理与技术”课程中的重要性
所谓数据模型实际上就是对现实世界中数据内容的抽象建模。现实世界中的数据对象是多种多样的,并且在面向不同应用需求时其表现特征与关注点也在不断发生变化,这使得对现实世界中的数据对象的发现、捕获与抽象存在一定的主观性,并使这种过程变得很难控制与把握,往往只能由数据库分析人员凭借自己以往的经验以及对相应应用的认知程度完成。这是面向应用的数据模型建立的第一阶段,使得现实世界中的数据对象被转换定义为信息世界的数据模型。这也是数据模型建立非常重要的阶段,它的定义与描述反映了相应人员对相应数据内容的认知能力与程度,是决定相应数据模型质量的重要因素。我们将这一阶段产生的数据模型称之为概念模型。
然而外部世界中的数据模型不能直接被计算机所识别、处理与执行,因此还需要由相应人员(一般为数据库设计人员)将其从概念模型自然平滑地转换为计算机世界的数据逻辑模型。由于数据逻辑模型的建立以信息世界的概念模型为基础,因此这一部分相对于概念模型的建立更有规律可循,因此可以更加客观与准确。
基于特定数据逻辑模型的DBMS系统将会对数据库设计人员定义的数据逻辑模型提供理解与支持,并对其采用具体的存储方式和存储方法进行处理,将数据逻辑模型内容转换为特定物理模型内容。由于这一部分的转换过程与内容由DBMS决定,因此一般数据库开发人员只需要对其进行一定的理解即可,因此物理模型的建立不是数据模型关注的主要内容。
由以上对数据模型基本概念的总结与说明就可以知道,数据模型的定义实际上是数据库高效合理开发的基础。随意肤浅的概念模型定义或者直接数据逻辑模型的定义都会导致数据库定义的偏差,最终影响信息系统设计与实现的质量;如果不能从根本上认识和定义相应应用的数据模型,其维护仍然是高昂和无效的。由此,数据模型的合理定义也顺理成章地成为了“数据库原理与技术”的关键和基础。然而由于相应部分的讲解具有很高的抽象逻辑性,而且很多人没有认识到数据模型建立的重要性,因此很多教材与教学部分往往并没有详细介绍数据模型的基本概念以及数据模型合理定义的方法,通常都是一笔带过,或是直接进入逻辑数据模型(特别是关系模型)的设计,这都是导致学生对数据库相应理论理解模糊不清、数据库设计不合理不高效的重要原因。基于此,本文详细说明了概念模型建立的重要性以及一些可循方法,特别是强调了概念模型到逻辑模型之间的转换,从而使得对现实世界信息的正确捕捉能够被顺利转换为计算机世界的成果。
二、概念模型建立的重要性以及一些可循方法介绍
概念模型是人们对现实世界数据对象的初步建模,也是人们观察与反映数据世界的结果。与逻辑世界不同,人们对现实世界数据的认知与理解往往存在很大的差异性。因此对于同样的应用内容,往往有很多千差万别的概念模型定义结果。这种认知结果往往是由相应人员的工作经验、工作过程以及个人理解力决定的,其模型建立质量和效率往往难以得到有效保证,其认知结果也缺乏一个切实可行的方法进行统一衡量,因此相应模型结果的认知准确性往往在数据模型建立的应用阶段才能被人检验与确定。而此时发现模型与实际应用的偏差,则需要耗费大量的时间与精力进行弥补,甚至丝毫产生不了有效改进,这对于系统开发的效率和质量将产生巨大影响。因此需要在数据开发早期就对概念模型的建立过程与建立结果有一套具体的质量保证方法和行为,从而尽可能地减少概念模型认知的偏差。我们将软件工程的一些方法应用到对现实世界中数据的认识方面,可得到以下具体可行的方法。
1.加强与数据所属应用客户方的广泛交流
交流内容可包括客户对数据应用场景的说明是否清晰准确、客户对应用中数据对象的确立是否一致、客户对应用中具体数据对象的认知与理解是否一致、客户对数据对象的可操作内容认知是否一致、客户对数据对象的触发事件认知是否一致、客户对数据对象之间的联系认知是否一致等。这些调查的结果将成为概念模型定义的基本依据。数据库开发人员需要从众多受访者的理解与分析中进行总结,剔除错误的数据定义、摒弃多余重复的数据定义、明确数据对象的具体含义以及数据之间的关联触发事件和内容。数据字典是描述客户方数据对象的一个非常具体全面的手段;而数据流程是描述业务方数据传递过程以及触发事件和条件的一种非常好的方法。
2.确立严格的概念模型质量保证体系
对于概念模型的正确认知是后期数据库建设以及信息系统开发的基础,因此相应内容质量保证体系的确立以及有效实施是保障概念模型高效建立的重要保证。概念模型质量保证体系人员可由用户方、数据库设计方以及数据库开发方组成,他们需要参与到概念模型的发掘、捕捉、描述、审核、维护的各个环节中,并且使用不断的应用-描述-审核-维护-应用的方法来保证认知的统一和高效。这里需要注意的是由于概念模型是对现实的模拟,也最接近现实世界真相,因此相应模型的建立一定要通俗易懂,易于被用户方理解与接受。任何概念模型的定义与修改都需要得到用户方、数据库设计与开发方的确认,从而保证对相应概念的理解与认知一致。
3.采用简单、直观、清晰的概念模型表达
只有采用清晰、准确、不易产生歧义的模型表达,才能更容易使开发人员与用户方达成一致,及早发现认知中的错误与偏差。根据信息世界人员与计算机世界人员长期实践的结果,基于现实世界中数据对象以及数据对象之间的实体-联系方法被公认为是概念模型描述的最好方法之一。这种基于实体-联系的概念模型描述方法自提出以来就得到广泛认同和广泛印证。E-R图就是基于这种方法的具体描述方法之一。
总而言之,加强与用户方的交流以及数据库开发人员之间的协调和明确清晰的概念模型定义是准确建立概念模型的关键。
三、逻辑模型的比较与概念模型到逻辑模型的转换
如果说概念模型的确立更具有个性特征,那么逻辑模型的建立则应该更合理和更客观。因为逻辑模型是计算机世界对数据定义、分析的重要表达,它需要能被计算机正确理解、识别与处理,因此逻辑模型不仅关注的是数据实体与联系的定义,而且还关注计算机世界对这些实体与联系信息访问的定义与支持。因此逻辑模型有比概念模型更多和更实际的内容。
随着社会的发展与进步以及人们对计算机世界可操作数据的认知,实际的数据逻辑模型有多种。学生需要准确把握多种逻辑数据模型的数据描述与数据操作特征,通过多种逻辑数据模型实现方法的比较,最终理解目前流行的关系逻辑数据模型的数据组织与操作原理,从而定义正确的可被计算机处理的关系模型内容。
在对逻辑模型的理解与建立过程中,如果脱离相应的概念模型,则相应的逻辑模型对实际应用系统可能是完全无用或者有很大偏差的。逻辑模型建立的质量与效率会直接影响到DBMS系统数据定义与管理的效率和质量,因此数据的概念模型到逻辑模型的准确转换成为信息世界数据模型到计算机世界数据模型转换的关键。
目前可行的逻辑数据模型包括层次模型、网状模型、关系模型、面向对象模型、对象关系模型等。层次模型与网状模型属于数据模型发展的过去某种阶段的认识结果,关系模型是目前的主流逻辑模型,面向对象模型与对象关系模型是未来逻辑模型可能的发展方向。目前大多数DBMS都支持关系数据模型,实现对数据模型的关系定义、存储与操作。通过概念模型到各种逻辑模型的转换,可以帮助学生正确理解目前人们对于关系模型的选择以及计算机世界是如何支持对基于不同描述方法的数据的定义与操作的。概念模型中的实体往往很容易用各种逻辑模型直接表示,而如何正确表示概念模型中的联系内容将会直接影响到实体具体信息添加、更新与查找效率,因此概念模型中联系的表达成为各逻辑模型关注的重点。本文将以一个简单成绩系统中的概念模型(如图1所示)作为转换基础进行说明。
1.概念模型到层次模型的转换
层次模型主要反映的是数据实体之间的父子关系或上下级关系,概念模型中的所有联系都需要被转换为层次模型中的父子节点关系。而实际上,由于层次模型中节点构造以及节点之间关联的特点,层次数据的访问必须从根节点开始,因此数据信息的添加、查找与更新都需要严格按照相应访问顺序完成。这种访问方法使得数据信息的访问非常低效、不灵活。另外,层次模型主要表达的是概念模型中的一对多联系,而将现实世界中普遍存在的多对多关系通过“剪枝”等方法强行表达为一对多关系。这种极不自然的转换使得同样的概念模型为了满足同一应用中的不同需求而需要建立不同的层次模型,造成相应DBMS系统中的大量数据信息冗余。图1转换所得的层次模型如图2所示。
2.概念模型到网状模型的转换
网状模型由于其主体反映的是数据实体之间的互相联系,因此从理论上可以比较好地描述概念模型中的多对多联系。而实际上,网状DBMS系统对于底层数据存储和管理的支持主要是通过数据之间的互相链接来描述,而链接本身是具有方向性的,这使得实体之间的互相关联需要通过双向链接来获得。这使数据的查找与访问存在大量循环,从而使数据的更新和查找缺乏目标性。另外,这种数据存储与访问方式将会使数据的存储异常复杂,数据的更新与查找效率和时间难以控制,需要定义额外的复杂算法来进行维护与控制。因此网状模型也不是非常适合于数据的存储与操作。图1转换所得的网状模型如图3所示。
3.概念模型到关系模型的转换
虽然层次模型与网状模型的描述方法与工作原理不同,但是它们有一个共同点,就是普遍认为实体与实体之间的联系是很难等同的。它们将其区别对待,从而造成存储与访问工作异常复杂。关系模型的数据描述特点与关键之一就是将实体与实体之间的联系等同定义为关系,实体与实体之间的联系通过关系内部定义的外键信息进行隐性描述,在需要的时候由上层应用系统通过访问控制语句临时表达,使数据定义、存储与维护可以统一化和高效,从而使统一的数据操作控制语言成为可能。而且由于数据的非有序性存储,因此可以通过建立索引、视图等多种方式,使数据信息的访问更高效。另外,还可以对数据的约束、安全、一致、完整性进行更好的维护,从而为信息系统所需的数据提供了高效合适的表达,这也是关系模型成为目前主流逻辑数据模型的原因。图1转换所得的关系模型如图4所示。
虽然目前也提出了一些新型的数据逻辑模型,如面向对象模型和对象关系模型等,但由于数据模型主要描述的是实体以及实体之间的联系内容,而对象主要反映的是实体的特征与可操作内容;数据模型的建立本身是静态的,目的是提供动态应用;对象的建立本身强调的是可操作内容,具有很强的动态应用特征,这两者既有共同点又有本质上的区别,由此可以认为数据模型是不能直接对象化的,它可以通过某种方式转换为对象从而更适合编程对不同DBMS数据进行统一访问。
四、学生在数据模型建立中出现的主要问题
目前学生在“数据库原理与技术”的学习与应用过程中,主要存在以下几个问题。
1.概念模型建立不合理
由于没有认真对应用系统所需数据对象进行严格的数据调查、跟踪与记录,从而使很多概念模型结果定义狭隘化、不切实际甚至错误,往往只考虑一些需要的核心数据信息,而不考虑数据与数据对象的关联。如学生成绩系统模型只包括成绩信息而缺少学生与课程信息。
2.过于夸大实体-联系方法建模的作用,甚至在很多地方将其替代了逻辑模型的建立
实际上实体-联系方法建模只是信息世界对数据的一种表达,计算机可理解、解释与执行的只能是基于特定逻辑模型的表达。
3.直接定义关系模型,或概念模型与逻辑模型分离
导致正确的数据分析却得到不正确或有严重偏差的DBMS数据定义。如很多学生定义的成绩关系如图5所示。由于课程信息在不同专业、不同年级可能有很大变化,导致可以使用同一关系表达的数据信息需要多个关系表达,造成存储空间的浪费以及数据访问的复杂。
究其原因,就是缺乏对数据模型的正确认知与理解,不能正确有效建立相应数据对象的概念模型以及概念模型到逻辑模型的平滑转换。
五、小结
“数据库原理与技术”数据模型部分的内容具有很强的抽象性,然而其又对数据库的正确设计与实现起着非常关键的作用,所以相应部分的学习是非常重要的。因此强烈建议相应教材与教学课程中对数据模型的基本概念、发展简史、建立方法与质量保证等内容进行着重说明和讲解。
参考文献:
[1]王珊,萨师煊.数据库系统概论(第四版)[M].北京:高等教育出版社,2006.
[2]陈志泊.数据库原理及应用教程(第二版)(21世纪高等学校计算机规划教材)[M].北京:人民邮电出版社,2008.
[3]Kroenke,D.M,Auer,D.J..数据库原理(第3版)(国外经典教材)[M].姜玲玲,冯飞,译.北京:清华大学出版社,2008.
[4]罗摩克里希纳,格尔基.数据库管理系统原理与设计(第3版)(世界著名计算机教材精选)[M].周立柱,等,译.北京:清华大学出版社,2004.
(责任编辑:麻剑飞)
关键词:数据模型;概念模型;逻辑模型;DBMS;数据字典;数据流程
作者简介:李春芳(1975-),女,湖南祁阳人,长沙理工大学计算机与通信工程学院,讲师,工学硕士,主要研究方向:计算机学科教育、工作流;肖晓丽(1965-),女,湖南长沙人,长沙理工大学计算机与通信工程学院,教授,工学硕士,主要研究方向:数据库、软件工程。(湖南 长沙 431000)
基金项目:本文系长沙理工大学“‘数据库原理与技术’课程教学改革的研究与实践”项目(项目编号:JG072224)、长沙理工大学“‘数据库原理与技术’质量工程精品课程建设”项目(项目编号:KC0806)的研究成果。
一、数据模型部分在“数据库原理与技术”课程中的重要性
所谓数据模型实际上就是对现实世界中数据内容的抽象建模。现实世界中的数据对象是多种多样的,并且在面向不同应用需求时其表现特征与关注点也在不断发生变化,这使得对现实世界中的数据对象的发现、捕获与抽象存在一定的主观性,并使这种过程变得很难控制与把握,往往只能由数据库分析人员凭借自己以往的经验以及对相应应用的认知程度完成。这是面向应用的数据模型建立的第一阶段,使得现实世界中的数据对象被转换定义为信息世界的数据模型。这也是数据模型建立非常重要的阶段,它的定义与描述反映了相应人员对相应数据内容的认知能力与程度,是决定相应数据模型质量的重要因素。我们将这一阶段产生的数据模型称之为概念模型。
然而外部世界中的数据模型不能直接被计算机所识别、处理与执行,因此还需要由相应人员(一般为数据库设计人员)将其从概念模型自然平滑地转换为计算机世界的数据逻辑模型。由于数据逻辑模型的建立以信息世界的概念模型为基础,因此这一部分相对于概念模型的建立更有规律可循,因此可以更加客观与准确。
基于特定数据逻辑模型的DBMS系统将会对数据库设计人员定义的数据逻辑模型提供理解与支持,并对其采用具体的存储方式和存储方法进行处理,将数据逻辑模型内容转换为特定物理模型内容。由于这一部分的转换过程与内容由DBMS决定,因此一般数据库开发人员只需要对其进行一定的理解即可,因此物理模型的建立不是数据模型关注的主要内容。
由以上对数据模型基本概念的总结与说明就可以知道,数据模型的定义实际上是数据库高效合理开发的基础。随意肤浅的概念模型定义或者直接数据逻辑模型的定义都会导致数据库定义的偏差,最终影响信息系统设计与实现的质量;如果不能从根本上认识和定义相应应用的数据模型,其维护仍然是高昂和无效的。由此,数据模型的合理定义也顺理成章地成为了“数据库原理与技术”的关键和基础。然而由于相应部分的讲解具有很高的抽象逻辑性,而且很多人没有认识到数据模型建立的重要性,因此很多教材与教学部分往往并没有详细介绍数据模型的基本概念以及数据模型合理定义的方法,通常都是一笔带过,或是直接进入逻辑数据模型(特别是关系模型)的设计,这都是导致学生对数据库相应理论理解模糊不清、数据库设计不合理不高效的重要原因。基于此,本文详细说明了概念模型建立的重要性以及一些可循方法,特别是强调了概念模型到逻辑模型之间的转换,从而使得对现实世界信息的正确捕捉能够被顺利转换为计算机世界的成果。
二、概念模型建立的重要性以及一些可循方法介绍
概念模型是人们对现实世界数据对象的初步建模,也是人们观察与反映数据世界的结果。与逻辑世界不同,人们对现实世界数据的认知与理解往往存在很大的差异性。因此对于同样的应用内容,往往有很多千差万别的概念模型定义结果。这种认知结果往往是由相应人员的工作经验、工作过程以及个人理解力决定的,其模型建立质量和效率往往难以得到有效保证,其认知结果也缺乏一个切实可行的方法进行统一衡量,因此相应模型结果的认知准确性往往在数据模型建立的应用阶段才能被人检验与确定。而此时发现模型与实际应用的偏差,则需要耗费大量的时间与精力进行弥补,甚至丝毫产生不了有效改进,这对于系统开发的效率和质量将产生巨大影响。因此需要在数据开发早期就对概念模型的建立过程与建立结果有一套具体的质量保证方法和行为,从而尽可能地减少概念模型认知的偏差。我们将软件工程的一些方法应用到对现实世界中数据的认识方面,可得到以下具体可行的方法。
1.加强与数据所属应用客户方的广泛交流
交流内容可包括客户对数据应用场景的说明是否清晰准确、客户对应用中数据对象的确立是否一致、客户对应用中具体数据对象的认知与理解是否一致、客户对数据对象的可操作内容认知是否一致、客户对数据对象的触发事件认知是否一致、客户对数据对象之间的联系认知是否一致等。这些调查的结果将成为概念模型定义的基本依据。数据库开发人员需要从众多受访者的理解与分析中进行总结,剔除错误的数据定义、摒弃多余重复的数据定义、明确数据对象的具体含义以及数据之间的关联触发事件和内容。数据字典是描述客户方数据对象的一个非常具体全面的手段;而数据流程是描述业务方数据传递过程以及触发事件和条件的一种非常好的方法。
2.确立严格的概念模型质量保证体系
对于概念模型的正确认知是后期数据库建设以及信息系统开发的基础,因此相应内容质量保证体系的确立以及有效实施是保障概念模型高效建立的重要保证。概念模型质量保证体系人员可由用户方、数据库设计方以及数据库开发方组成,他们需要参与到概念模型的发掘、捕捉、描述、审核、维护的各个环节中,并且使用不断的应用-描述-审核-维护-应用的方法来保证认知的统一和高效。这里需要注意的是由于概念模型是对现实的模拟,也最接近现实世界真相,因此相应模型的建立一定要通俗易懂,易于被用户方理解与接受。任何概念模型的定义与修改都需要得到用户方、数据库设计与开发方的确认,从而保证对相应概念的理解与认知一致。
3.采用简单、直观、清晰的概念模型表达
只有采用清晰、准确、不易产生歧义的模型表达,才能更容易使开发人员与用户方达成一致,及早发现认知中的错误与偏差。根据信息世界人员与计算机世界人员长期实践的结果,基于现实世界中数据对象以及数据对象之间的实体-联系方法被公认为是概念模型描述的最好方法之一。这种基于实体-联系的概念模型描述方法自提出以来就得到广泛认同和广泛印证。E-R图就是基于这种方法的具体描述方法之一。
总而言之,加强与用户方的交流以及数据库开发人员之间的协调和明确清晰的概念模型定义是准确建立概念模型的关键。
三、逻辑模型的比较与概念模型到逻辑模型的转换
如果说概念模型的确立更具有个性特征,那么逻辑模型的建立则应该更合理和更客观。因为逻辑模型是计算机世界对数据定义、分析的重要表达,它需要能被计算机正确理解、识别与处理,因此逻辑模型不仅关注的是数据实体与联系的定义,而且还关注计算机世界对这些实体与联系信息访问的定义与支持。因此逻辑模型有比概念模型更多和更实际的内容。
随着社会的发展与进步以及人们对计算机世界可操作数据的认知,实际的数据逻辑模型有多种。学生需要准确把握多种逻辑数据模型的数据描述与数据操作特征,通过多种逻辑数据模型实现方法的比较,最终理解目前流行的关系逻辑数据模型的数据组织与操作原理,从而定义正确的可被计算机处理的关系模型内容。
在对逻辑模型的理解与建立过程中,如果脱离相应的概念模型,则相应的逻辑模型对实际应用系统可能是完全无用或者有很大偏差的。逻辑模型建立的质量与效率会直接影响到DBMS系统数据定义与管理的效率和质量,因此数据的概念模型到逻辑模型的准确转换成为信息世界数据模型到计算机世界数据模型转换的关键。
目前可行的逻辑数据模型包括层次模型、网状模型、关系模型、面向对象模型、对象关系模型等。层次模型与网状模型属于数据模型发展的过去某种阶段的认识结果,关系模型是目前的主流逻辑模型,面向对象模型与对象关系模型是未来逻辑模型可能的发展方向。目前大多数DBMS都支持关系数据模型,实现对数据模型的关系定义、存储与操作。通过概念模型到各种逻辑模型的转换,可以帮助学生正确理解目前人们对于关系模型的选择以及计算机世界是如何支持对基于不同描述方法的数据的定义与操作的。概念模型中的实体往往很容易用各种逻辑模型直接表示,而如何正确表示概念模型中的联系内容将会直接影响到实体具体信息添加、更新与查找效率,因此概念模型中联系的表达成为各逻辑模型关注的重点。本文将以一个简单成绩系统中的概念模型(如图1所示)作为转换基础进行说明。
1.概念模型到层次模型的转换
层次模型主要反映的是数据实体之间的父子关系或上下级关系,概念模型中的所有联系都需要被转换为层次模型中的父子节点关系。而实际上,由于层次模型中节点构造以及节点之间关联的特点,层次数据的访问必须从根节点开始,因此数据信息的添加、查找与更新都需要严格按照相应访问顺序完成。这种访问方法使得数据信息的访问非常低效、不灵活。另外,层次模型主要表达的是概念模型中的一对多联系,而将现实世界中普遍存在的多对多关系通过“剪枝”等方法强行表达为一对多关系。这种极不自然的转换使得同样的概念模型为了满足同一应用中的不同需求而需要建立不同的层次模型,造成相应DBMS系统中的大量数据信息冗余。图1转换所得的层次模型如图2所示。
2.概念模型到网状模型的转换
网状模型由于其主体反映的是数据实体之间的互相联系,因此从理论上可以比较好地描述概念模型中的多对多联系。而实际上,网状DBMS系统对于底层数据存储和管理的支持主要是通过数据之间的互相链接来描述,而链接本身是具有方向性的,这使得实体之间的互相关联需要通过双向链接来获得。这使数据的查找与访问存在大量循环,从而使数据的更新和查找缺乏目标性。另外,这种数据存储与访问方式将会使数据的存储异常复杂,数据的更新与查找效率和时间难以控制,需要定义额外的复杂算法来进行维护与控制。因此网状模型也不是非常适合于数据的存储与操作。图1转换所得的网状模型如图3所示。
3.概念模型到关系模型的转换
虽然层次模型与网状模型的描述方法与工作原理不同,但是它们有一个共同点,就是普遍认为实体与实体之间的联系是很难等同的。它们将其区别对待,从而造成存储与访问工作异常复杂。关系模型的数据描述特点与关键之一就是将实体与实体之间的联系等同定义为关系,实体与实体之间的联系通过关系内部定义的外键信息进行隐性描述,在需要的时候由上层应用系统通过访问控制语句临时表达,使数据定义、存储与维护可以统一化和高效,从而使统一的数据操作控制语言成为可能。而且由于数据的非有序性存储,因此可以通过建立索引、视图等多种方式,使数据信息的访问更高效。另外,还可以对数据的约束、安全、一致、完整性进行更好的维护,从而为信息系统所需的数据提供了高效合适的表达,这也是关系模型成为目前主流逻辑数据模型的原因。图1转换所得的关系模型如图4所示。
虽然目前也提出了一些新型的数据逻辑模型,如面向对象模型和对象关系模型等,但由于数据模型主要描述的是实体以及实体之间的联系内容,而对象主要反映的是实体的特征与可操作内容;数据模型的建立本身是静态的,目的是提供动态应用;对象的建立本身强调的是可操作内容,具有很强的动态应用特征,这两者既有共同点又有本质上的区别,由此可以认为数据模型是不能直接对象化的,它可以通过某种方式转换为对象从而更适合编程对不同DBMS数据进行统一访问。
四、学生在数据模型建立中出现的主要问题
目前学生在“数据库原理与技术”的学习与应用过程中,主要存在以下几个问题。
1.概念模型建立不合理
由于没有认真对应用系统所需数据对象进行严格的数据调查、跟踪与记录,从而使很多概念模型结果定义狭隘化、不切实际甚至错误,往往只考虑一些需要的核心数据信息,而不考虑数据与数据对象的关联。如学生成绩系统模型只包括成绩信息而缺少学生与课程信息。
2.过于夸大实体-联系方法建模的作用,甚至在很多地方将其替代了逻辑模型的建立
实际上实体-联系方法建模只是信息世界对数据的一种表达,计算机可理解、解释与执行的只能是基于特定逻辑模型的表达。
3.直接定义关系模型,或概念模型与逻辑模型分离
导致正确的数据分析却得到不正确或有严重偏差的DBMS数据定义。如很多学生定义的成绩关系如图5所示。由于课程信息在不同专业、不同年级可能有很大变化,导致可以使用同一关系表达的数据信息需要多个关系表达,造成存储空间的浪费以及数据访问的复杂。
究其原因,就是缺乏对数据模型的正确认知与理解,不能正确有效建立相应数据对象的概念模型以及概念模型到逻辑模型的平滑转换。
五、小结
“数据库原理与技术”数据模型部分的内容具有很强的抽象性,然而其又对数据库的正确设计与实现起着非常关键的作用,所以相应部分的学习是非常重要的。因此强烈建议相应教材与教学课程中对数据模型的基本概念、发展简史、建立方法与质量保证等内容进行着重说明和讲解。
参考文献:
[1]王珊,萨师煊.数据库系统概论(第四版)[M].北京:高等教育出版社,2006.
[2]陈志泊.数据库原理及应用教程(第二版)(21世纪高等学校计算机规划教材)[M].北京:人民邮电出版社,2008.
[3]Kroenke,D.M,Auer,D.J..数据库原理(第3版)(国外经典教材)[M].姜玲玲,冯飞,译.北京:清华大学出版社,2008.
[4]罗摩克里希纳,格尔基.数据库管理系统原理与设计(第3版)(世界著名计算机教材精选)[M].周立柱,等,译.北京:清华大学出版社,2004.
(责任编辑:麻剑飞)