逻辑数据模型 (LogicDataModel,LDM)是一种图形化的展现方式,一般采用
面向对象的设计方法,有效组织来源多样的各种业务数据,使用统一的逻辑语言描述业务。
借助相对抽象、逻辑统一且结构稳健的结构,实现
数据仓库系统所要求的
数据存储目标,支持大量的分析应用,是实现业务智能的重要基础,同时也是
数据管理分析的工具和交流的有效手段。
对于企业,逻辑数据模型(简称LDM)就是企业
基础数据的一部分,它是企业
数据资产的全面的、准确的描述,是
数据整合的核心或目的。数据整合就是将不同来源的数据整合到一个统一定义、统一形式的LDM中。
层次模型(Hierarchical Model)是最早出现的
数据模型,它是采用
层次数据结构来组织数据的数据模型。层次模型可以简单、直观地表示
信息世界中实体、实体的属性以及实体之间的
一对多联系。它使用
记录类型来描述实体;使用字段来描述属性;使用结点之间的连线表示实体之间的联系。
(a)只有一个结点没有双亲结点(双亲结点也称
父结点),该结点称为
根结点。(b)根结点以外的其他结点有且只有一个双亲结点。
层次模型可以很自然地表示家族结构、
行政组织结构等。(2)层次模型的三要素(a)
数据结构:使用记录类型表示实体,使用结点之间的连线表示一对多的联系。(b)
数据操作:包括结点的查询和结点的更新(如插入、删除和修改)操作。(c)
完整性约束:一个模型只有一个根结点;其他结点只能有一个双亲结点;结点之间是一对多的联系。(3)层次模型的优缺点层次模型的优点是结构简单、清晰,容易理解,结点之间联系简单,查询效率高。缺点主要有以下几点:(a)不能表示一个结点有多个双亲的情况。(b)不能直接表示
多对多的联系,需要将多对多联系分解成多个一对多的联系。常用的
分解方法是冗余结点法和虚拟结点法。(c)插入、删除限制多。比如,删除
父结点则相应的
子结点也被同时删除等。具体内容可参考“数据结构”课程中树的相关操作。(d)必须要经过父结点,才能查询子结点。因为在
层次模型中,没有一个子结点的记录值能够脱离父结点的记录值而独立存在。
网状模型(Network Model)采用
网状结构,能够直接描述一个结点有多个父结点以及结点之间为多对多联系的情形。(1)网状模型的概念网状模型是满足以下两个条件的基本层次联系的集合:(a)允许有一个以上的结点无双亲结点。(b)一个结点可以有多于一个的双亲结点。 实际上,
层次模型是网状模型的一个特例。网状模型去掉了层次模型中的限制,允许多个结点没有双亲结点,允许结点有多个双亲结点,还允许结点之间存在多对多的联系。使用网状模型可以表示多对多联系。例如,通过引入一个成绩的联结记录来表示学生和课程之间多对多的联系。网状模型中子结点与双亲结点的联系可以不唯一,但需要为每个联系进行命名,成绩结点有两个双亲结点:课程和学生。将课程与成绩的联系命名为“课程-成绩”,将学生与成绩的联系命名为“学生-成绩”。(2)
网状模型的三要素(a)数据结构:使用记录类型表示实体,使用字段来描述实体的属性,每个记录类型可包含若干个字段,使用结点之间的连线表示一对多的联系。(b)数据操作:包括结点的查询和结点的更新操作。(c)完整性约束:支持码的概念,用于唯一标识记录的
数据项的集合;保证一个联系中双亲结点与子结点之间是一对多联系;支持双亲记录和子女记录之间的某些
约束条件,如只删除双亲结点等。(3)网状模型的优缺点 网状模型具有良好的性能,存取效率较高。相比
层次模型,
网状模型中结点之间的联系具有灵活性,能表示事物之间的复杂联系,更适合描述
客观世界。网状模型虽然有效克服了层次模型不方便表达多对多联系的缺点,但因为结构复杂,实现网状数据库管理系统比较困难。并且其所提供的
DDL语言复杂,不容易学习和掌握。此外,由于实体间的联系本质上是通过
存取路径来表现,因而,
应用程序在访问数据时还需要指定存取路径。
层次模型和
网状模型的共同缺点是通过存取路径实现记录之间的联系,应用程序在访问数据时必须选择适当的存取路径,用户必须了解
系统结构的细节,这样加重了编写应用程序的负担。另外,不支持集合处理,即没有提供一次处理多个记录的功能。
关系模型(Relational Model)在1970年由
IBM公司的E.F.Codd首次提出。关系模型可以描述一对一、一对多和多对多的联系,并向用户隐藏存取路径,大大提高了数据的独立性以及程序员的
工作效率。此外,关系模型建立在严格的
数学概念和数学理论基础之上,支持
集合运算。关系模型由
关系数据结构、
关系操作和完整性约束三部分组成。在关系模型中,实体和实体之间的联系均由关系来表示。(1)关系的定义:
关系模型是一种简单的
二维表格结构,每个
二维表称做一个关系,一个二维表的
表头,即所有列的标题称为一个
元组,每一列数据称为一个属性,列标题称属性名。同一个关系中不允许出现重复元组和相同属性名的属性。(2)数据库体系结构①
外模式:或子模式、应用模式、局部模式等,它是对数据库在某个方面局部应用所涉及数据的
逻辑结构和特征的描述,它是
终端用户和应用程序员所见到的数据库。②模式:或
概念模式、逻辑模式、全局模式等。它是对整个数据库逻辑结构和特征的描述,用户以DBMS支持的逻辑数据模型为基础。③
内模式:或存储模式、物理模式等。它是对整个数据库的
存储结构和特征的描述。(3)DBMS的主要功能①、
数据定义和操纵②、 数据库
管理控制③、 数据库辅助服务④、 提供使用数据库工具⑤、 建立和维护
数据字典(4)
关系运算①关系数据结构域:域是具有相同特性的
数据集合。
笛卡儿积:
笛卡儿积是定义在一组域上的集合,假定一组域用D1、D2、……Dn表示,则它们的笛卡儿积表示为:D1*D2*……*Dn。关系:关系到笛卡儿积的一个子集,若笛卡儿积具有n个域,则该笛卡儿积上的关系被称为
n元关系。码:码又称为键、关键字等。
候选码:关系
中能惟一标识每个
元组的最少属性或属性组被称为该关系的候选码。
主码:从候选码中选择一个作为该关系的主码,
数据库系统将按主码标识和排序每个元组。②关系完整性l
实体完整性实体完整性规则:关系的主码不能取
空值,或者说任何关系中每个元组的主码不能为空。l
参照完整性参照完整性规则:在两个参照和被
参照关系中,参照关系中每个元组的
外码或者为空,或者等于被参照关系中某个元组的主码。③
关系运算(5)传统的
集合运算包括:并、交、差和笛卡儿积等四种运算。
面向对象模型是一种新兴的数据模型,也是最重要的模型思路。它采用
面向对象的方法来设计数据库。面向对象的数据库存储对象是以对象为单位,每个对象包含对象的属性和方法,具有类和继承等特点。
在
面向对象数据库属性值,一个消息用来读取属性值,另一个消息则用来更新这个值。
继承性允许不同类的对象共享它们公共部分的结构和特性。继承性可以用
超类继承性面向对象对象标识符OID与对象的物理存储位置无关,也与数据的描述方式和值无关。OID是惟一的。在对象创建的瞬间,由系统赋给对象,它在系统内是惟一的,在对象的生存期间,标识是不能改变的。如果要将数据转移到另外一个不同的
数据库系统中,则
标识符必须进行转化。