数据库原理-几种数据模型

数据库应用系统中三种不同的数据模型

概念模型(E-R模型):为了实现用户的需求定义的模型,主要是初步表达用户需求

逻辑模型:按照用户观点对数据进行建模,主要用于数据库设计。

逻辑模型具体包括:层次模型、网状模型、关系模型、面向对象数据模型、对象关系数据模型、半结构化模型等。

物理模型:表示数据在系统内部的表示方法和存取方法,实现数据的物理存储。包括数据的存储位置,索引存放位置,存储文件位置和存储策略等存储细节问题。


数据模型的组成要素:数据结构、数据操作、数据完整性约束条件

  • 数据结构

数据结构指数据对象和对象之间联系的表达,是系统静态特征的描述,包括两个方面: 
(1)数据本身:类型、内容、性质。例如关系模型中的域、属性、关系等。

(2)数据之间的联系:数据之间是如何相互联系的,例如关系模型中的主码、外码等联系。

  • 数据操作

对数据库中对象(型)的实例(值)允许执行的操作集合,主要指检索和更新(插入、删除、修改)两类操作。数据模型必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言。数据操作是对系统动态特征的描述。

  • 完整性约束条件

数据完整性约束是一组完整性规则的集合,规定数据库状态及状态变化所应满足的条件,以保证数据的正确性、有效性和相容性。


数据库中主要的逻辑数据模型

  • 层次模型(格式化模型)

定义和限制条件:

  1. 有且仅有一个节点,无父节点,此节点为树的根;
  2. 其他节点有且仅有一个父节点;

优点:

  1. 数据结构简单清晰;
  2. 利用指针记录边向联系,查询效率高;
  3. 良好的完整新支持;

缺点:

  1. 只能表示1:N的联系。尽管有许多辅助手段实现M:N的联系,但比较复杂,不易掌握。
  2. 层次模型的树是有序树(层次顺序)。对任一结点的所有子树都规定了先后次序,这一限制隐含了对数据库存取路径的控制。
  3. 树中父子结点之间只存在一种联系,因此,对树中的任一结点,只有一条自根结点到达它的路径。
  • 网状模型(格式化模型)

网状模型的数据结构主要有以下两个特征:

  1. 允许一个以上的节点无双亲;
  2. 一个节点可以有多于一个的双亲;

优点:

  1. 可以更加清晰表达现实,符合现实中的数据关系;
  2. 可以很快存取操作;

缺点:

  1. 结构复杂;
  2. 不易掌握,网状模型的DDL,DDM复杂,并且并且要嵌入某一种高级语言(COBOL,c),用户不易掌握;
  3. 应用程序复杂,记录之间的联系通过存取路径实现的,应用程序在访问数据时必须选择合适的存取路径,因此用户必须了解系统结构的细节,加重编写应用程序的负担;
  • 关系模型

单一的数据结构——关系

现实世界的实体以及实体间的各种联系均用关系来表示,从用户角度看,关系模型中数据的逻辑结构是一张二维表。

优点:

  1. 数据结构单一,关系模型中,不管是实体还是实体之间的联系,都用关系来表示,而关系都对应一张二维数据表,数据结构简单、清晰。
  2. 关系规范化,并建立在严格的理论基础上,构成关系的基本规范要求关系中每个属性不可再分割,同时关系建立在具有坚实的理论基础的严格数学概念基础上。
  3. 概念简单,操作方便,关系模型最大的优点就是简单,用户容易理解和掌握,一个关系就是一张二维表格,用户只需用简单的查询语言就能对数据库进行操作。

缺点:

  1. 查询效率不如格式化数据模型;
  2. 为了提高性能,数据库管理系统需要优化用户查询,增加了数据库管理系统的开发难度;
  • 面向对象数据模型

面向对象数据模型把实体表示为类,一个类描述了对象属性和实体行为。

面向对象数据模型四种核心技术:

  • 分类

是把一组具有相同属性结构和操作方法的对象归纳或映射为一个公共类的过程。如城镇建筑可分为行政区、商业区、住宅区、文化区等若干个类。

  • 概括(继承)

将相同特征和操作的类再抽象为一个更高层次、更具一般性的超类的过程。子类是超类的一个特例。一个类可能是超类的子类,也可是几个子类的超类。所以,概括可能有任意多层次。概括技术避免了说明和存储上的大量冗余。这需要一种能自动地从超类的属性和操作中获取子类对象的属性和操作的机制,即继承机制。

  • 聚集(聚合)

聚集是把几个不同性质类的对象组合成一个更高级的复合对象的过程。

  • 联合(组合)

相似对象抽象组合为集合对象。其操作是成员对象的操作集合。

优点:

  1. 适合处理各种各样的数据类型:与传统的数据库(如层次、网状或关系)不同,面向对象数据库适合存储不同类型的数据,例如,图片、声音、视频,包括文本、数字等。
  2. 面向对象程序设计与数据库技术相结合:面向对象数据模型结合了面向对象程序设计与数据库技术,因而提供了一个集成应用开发系统。
  3. 提高开发效率:面向对象数据模型提供强大的特性,例如继承、多态和动态绑定,这样允许用户不用编写特定对象的代码就可以构成对象并提供解决方案。这些特性能有效地提高数据库应用程序开发人员的开发效率。
  4. 改善数据访问:面向对象数据模型明确地表示联系,支持导航式和关联式两种方式的信息访问。它比基于关系值的联系更能提高数据访问性能。

缺点:

  1. 没有准确的定义:不同产品和原型的对象是不一样的,所以不能对对象做出准确定义;
  2. 维护困难:随着组织信息需求的改变,对象的定义也要求改变并且需移植现有数据库,以完成新对象的定义。当改变对象的定义和移植数据库时,它可能面临真正的挑战。
  3. 不适合所有的应用:面向对象数据模型用于需要管理数据对象之间存在的复杂关系的应用,它们特别适合于特定的应用,例如工程、电子商务、医疗等,但并不适合所有应用。当用于普通应用时,其性能会降低并要求很高的处理能力。
  • 对象关系数据模型
那叫对象关系数据库映射。Hibernate的原理.核心部分.对象关系映射(ORM)提供了概念性的、易于理解的模型化数据的方法。ORM方法论基于三个核心原则:简单:以最基本的形式建模数据。传达性:数据库结构被任何人都能理解的语言文档化。 精确性:基于数据模型创建正确标准化了的结构。 典型地,建模者通过收集来自那些熟悉应用程序但不熟练的数据建模者的人的信息开发信息模型。建模者必须能够用非技术企业专家可以理解的术语在概念层次上与数据结构进行通讯。建模者也必须能以简单的单元分析信息,对样本数据进行处理。ORM专门被设计为改进这种联系。对象-关系数据库映射规则表达式,ORM把应用程序世界表示为具有角色(关系中的部分)的一组对象(实体或值)。优点:
  1. ORM还提供了灵活性。使用ORM创建的模型比使用其它方法创建的模型更有能力适应系统的变化。
  2. ORM允许非技术企业专家按样本数据谈论模型,因此他们可以使用真实世界的数据验证模型。因为ORM允许重用对象,数据模型能自动映射到正确标准化的数据库结构
  3. ORM模型的简单性简化了数据库查询过程。使用ORM查询工具,用户可以访问期望数据,而不必理解数据库的底层结构。
  • 半结构化模型

数据有些是完全无结构的数据,比如声音文件、图像文件等; 有些则具有严谨的结构,比如关系型数据库中的数据;还有一类是结构状态介于以上两种数据之间的数据,这种数据具 有一定的结构,但结构不规则、不完整,或者结构是隐含的, 比如HTML文档,我们把这类数据称为半结构化数据。 有关半结构化数据还没有一个统一的定义。

半结构化模型分为基于树的模型、基于图的模型、基于逻辑的模型、基于关系的模型、基于对象的模型;

半结构化模型的特征

  1. 半结构化数据模型是一种数据库模型,但与传统的关系模型或面向对象数据模型有所不同,在这个模型中,模式包含于数据中,而不像关系模型那样,模式与数据严格区分,并且在这种模型巾,模式来源于数据,是先有数据,后有模式,这与传统数据库模型正好相反。
  2. 半结构化数据模型的结构并非一成不变,其复杂程度取决于实际的应用,可以根据需要进行定制,其模式是非精确的,不对数据结构进行强制约束,只描述数据的结构信息,可能只描述数据的一部分结构,也可能根据数据处理不同阶段的视角不同而不同。
  3. 由于半结构化数据模型结构的动态可变性,基于它可以在不同结构的数据库问的数据交互提供灵活的数据格式。
  4. 半结构化数据模型可以帮助用户出于浏览的目的把半结构数据当做结构数据来看
  5. 不同结构的数据库问数据的传输格式可相互移植
  6. 由于半结构化数据模型结构的可变性,加大了数据处理的难度
时间: 2024-10-07 12:57:57

数据库原理-几种数据模型的相关文章

数据库原理及应用-数据模型之层次与网状模型

2018-01-22 20:55:42 一.层次模型 最先出现的数据模型,因为现实世界中的很多数据本身就存在层次关系,层次模型将客观世界描述成树状结构. 由IBM于1968年推出的IMS(Information Management System)数据库管理系统是第一个层次模型数据库管理系统,也是最典型的一个. 1.记录(record)和字段(field) 记录是用来描述某个事物或者事物间关系的可命名的数据单位.它包含若干字段,每个字段也是可命名的,字段只能是简单的数据类型,比如整形,字符串类型

数据库原理及应用-数据模型之关系数据模型

2018-02-04 23:03:28 一.关系数据模型 关系型数据模型的基本的数据结构只有一种:表(relation).在关系数据模型中将现实世界中的实体以及实体的联系都用表来表达,而层次数据模型中是用记录来表示实体,PCR表示关系,网状数据类型中是用记录来表示实体,系来表示关系,关系型数据模型将两者统一采用表来表达,这是一个很大的区别. 关系模型的特性: 基于集合论的知识,有更高的抽象级别 屏蔽掉底层的实现算法,容易理解 引入关系代数系统 引入结构化的查询语言 Soft link,软连接,通

《数据库原理与应用》复习试题归纳

  <数据库原理与应用>复习试题归纳 一.单项选择题(每小题1分,共20分) 1.数据库的三个模式中,真正存储数据的是( )A.内模式  B.模式  C.外模式  D.三者皆存储数据 2.在数据库的三个模式中(  ) A.内模式只有一个,而模式和外模式可以有多个 B.模式只有一个,而内模式和外模式可以有多个 C.模式和内模式只有一个,而外模式可以有多个 D.均只有一个 3.关于模式,下列说法中错误的是(   ) A.数据库的全局逻辑结构描述   B.数据库的框架 C.一组模式的集合      

数据库原理与应用技术,学习笔记

数据库原理与应用技术 苗雪兰,宋歌编著 学习者:何 ◆ 第1章 数据库系统概述 >> 数据库是数据管理的新手段和技术. >> 信息就是新的.有用的事实和知识. >> 数据(Data)是用于承载信息的物理符号. >> 数据不等于信息,数据只是信息表达方式中的一种 >> 数据处理是指对数据的收集.组织.整理.加工.存储和传播等工作. >> 数据管理是其他数据处理的核心和基础. >> 数据库(DataBase,DB)是一个按数据

数据库原理常见问答

常见问答 1.    试述数据库系统有哪些特点(特别是相对于文件系统)? ①数据共享,特别是实现数据字段的共享.②较高的数据独立性.③面向整体的数据结构话模型.④可控冗余度.⑤数据的统一管理和控制. 2.    简述关系的性质? ①任意两个元组不能全同.②元组是非排序的.③属性是非排序的.④属性必须有不同的名称,而不同属性可以来自一个域.⑤同一属性名处的诸属性值(同列)是同类型数据,且必须来自同一个域. 3.数据库设计过程包括哪几个主要阶段?哪些阶段独立于数据库管理系统? 哪些阶段依赖于数据库管

【数据库原理】第一章 绪论

数据库原理 第一章   绪论 1.1   数据库系统概述 1.1.1      数据库的4个基本概念 1.数据 (1)数据是数据库中存储的基本对象 (2)数据:描述事物的符号记录,可以是数字.文字.图像等 (3)数据的含义称为数据的语意,数据与其语意密不可分 2.数据库 (1)数据库:长期储存在计算机内,有组织的.可共享的大量数据集合 (2)特点 <1>按照一定的数据模型组织.描述和存储 <2>具有较小的冗余度 <3>较高的数据独立性和易扩展性 <4>可为各

《数据库原理》复习总结

<数据库原理>复习总结 数据库技术就是主要研究如何科学的组织和存储数据,高效的获取和处理数据,并可以满足用户各种不同的信息需求的技术,因为对数据库技术的需求非常大,所以学习这门课的知识和技术是非常必要的,应熟练弄清,掌握数据,数据管理,数据库,数据模型和概念模型的等专业术语的内涵. 第1章 绪论 1.掌握数据库.数据库管理系统.数据库系统(组成)的概念 2.了解数据库技术发展的三个阶段 3.掌握三级模式及二级映像的概念 4.理解数据库管理系统的主要功能 知识点: 数据:数据库系统研究和处理的对

数据库原理 知识点总结

名词积累: 数据库(Database):存放和提供数据的"库房" 数据(Data):数据库中存储的基本对象. 数据库管理系统(DBMS):位于用户与操作系统之间的一层数据管理软件. 数据库系统(Database System):包含数据库.DBMS.应用系统.数据库管理员(DBA) 主键(Primary Key):用于唯一的标识表中的某一条记录的属性或属性的集合. 外键(Foreign Key):用于与还有一张表关联,外键为还有一张表的主键 超键(Super Key):超键是能唯一区分

MySQL数据库原理

我们知道,数据是信息的载体——一种我们约定了如何解释的符号.在计算机系统中,最常见的应该是文本数据.我们用它记录配置信息,写日志,等等.而在应用程序中,按一定的数据结构来组织数据的方式叫做数据库管理系统(DBMS).数据库就是把数据按照一定的规则,有效的组织存放,以提供更高效.更便捷的数据访问和处理.要理解数据库原理,并使用数据库,需要理解三点内容:1>数据库的数据组织的方式:2>数据库的逻辑架构及物理实现:3>数据库客户端的操作方法.也许,对于使用数据库来说,只需要掌握最后一点,即操作