数据库#1-2_数据模型

  • 数据模型也是一种模型,它是对现实世界数据特征的抽象
  • 把现实世界中具体的人、物、活动、概念用数据模型这个工具来抽象、表示和处理

1.2.1 两类数据模型

  • 数据模型应满足三方面要求:一是能比较真实地模拟现实世界,二是容易被人所理解,三是便于在计算机上实现

第一类是概念模型,也称信息模型,它是按用户的观点来对数据和信息建模,主要用域数据库设计
第二类是逻辑模型和物理模型,第二类中的逻辑模型主要包括层次模型、网状模型、关系模型、面向对象数据模型和对象关系数据模型、半结构化数据模型等。它是按计算机系统的观点对数据建模,主要用域数据库管理系统的实现。第二类中的物理模型是对数据最底层的抽象,它描述数据在系统内部的表现方式和存取方法,或在磁盘或磁带上的存储方式和存取方法

  • 首先把现实世界中的客观对象抽象为某一种信息结构,这种信息结构并不依赖于具体的计算机系统,不是某一个数据库管理系统支持的数据模型,而是概念级的模型;然后把概念模型转换为计算机上某一数据库管理系统支持的数据模型。

1.2.2 概念模型

一、信息世界中的基本概念
1.实体:客观存在并可相互区别的事物称为实体
2.属性:实体所具有的某一特性称为属性
3.域:属性的取值范围称为该属性的域
4.码:唯一表示实体的属性集称为码
5.实体型:用实体名(用矩形表示)及其属性名(用椭圆表示)集合来抽象和刻画同类实体,称为实体型
6.实体集
7.联系:联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系,实体之间的联系通常是指不同实体集之间的联系,有一对一、一对多、多对多等多种类型。

二、概念模型的一种表现方法:实体-联系方法
该方法用E-R图来描述现实世界的概念模型,E-R方法也称E-R模型


1.2.3 数据模型的组成元素

数据模型通常由数据结构、数据操作和数据的完整性约束条件三部分组成

1.数据结构

  • 数据结构描述数据库的组成对象以及对象之间的联系
  • 数据结构描述的内容有两类:一类是与对象的类型、内容、性质有关的,一类是与数据之间联系有关的对象
  • 是对系统静态特征的描述

2.数据操作

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

3.数据的完整性约束条件

  • 数据的完整性约束条件是一组完整性规则,完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定复合数据模型的数据库状态以及状态的变化,以曹正数据的正确、有效和相容。
  • 数据模型应该反映和规定其必须遵守的基本的和通用的完整性约束条件。例如,在关系模型中,任何关系必须满足实体完整性(主键)和参照完整性(外键)两个条件。
  • 此外,数据模型还有个提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。

1.2.4 常用的数据模型

数据库领域中主要的逻辑数据模型有:

  • 层次模型(非关系模型)
  • 网状模型(非关系模型)
  • 关系模型
  • 面向对象数据模型
  • 对象关系数据模型
  • 半结构化数据模型

1.2.5 层次模型(了解层次模型及其相关概念)

  • 层次模型是数据库系统中最早出现的数据模型
  • 层次数据库系统的典型代表是IBM公司的IMS
  • 层次模型用树形结构来表示各类实体以及实体间的联系

1.层次模型的数据结构

  • 在数据库中定义满足下面两个条件的基本层次联系的集合为层次模型:
    i.有且只有一个结点没有双亲结点,这个结点称为根节点
    ii.根以外的其他结点有且只有一个双亲结点
  • 层次数据库系统只能处理一对多的实体联系
  • 每个记录类型可以定义一个排序字段,也称为码字段
  • 层次模型像一棵倒立的树,结点的双亲是唯一的
  • 任何一个给定的记录值只能按其层次路今后查看,没有一个子女记录值能够脱离双亲记录值而独立存在

2.层次模型的数据操纵与完整性约束

  • 进行插入操作时,如果没有响应的双亲结点值就不能插入它的子女结点值
  • 进行删除操作时,如果删除双亲结点值,则相应的子女结点值也会被同时删除

3.层次模型的优缺点

层次模型的优点主要有:
(1)层次模型的数据结构比较简单清晰
(2)层次数据库的查询效率高,性能优于关系数据库,不低于网状数据库
(3)层次数据模型提供了良好的完整性支持

层次模型的缺点主要有:
(1)结点之间具有多对多联系,不适合用层次模型表示
(2)对插入和删除操作的限制比较多,因此应用程序的编写比较复杂
(3)查询子结点必须通过双亲结点
(4)由于结构严密,层次命令趋于程序化

1.2.6 网状模型

1.网状模型的数据结构
在数据库中,把满足以下两个条件的基本层次联系集合 称为网状模型
(1)允许一个以上的结点无双亲
(2)一个节点可以有多于一个的双亲
而层次模型实际上是网状模型的一个特例层次 模型中子女结点与双亲结点的联系是唯一的 而在网状模型中 这种联系可以不唯一
**2.网状模型的数据操纵与完整性约束 **
网状模型一般来说没有层次模型那样严格的完整性约束条件 但具体的网状数据库系统对数据操纵都加了一些限制 提供了一定的完整性约束
例如 DBTG只在模式数据定义语言中提供了定义DBTG数据库完整性的若干概念和语句 主要有
(1)支持记录码的概念,碼即唯一标识记录的数据项的集合
(2)保证一个联系中双亲记录和子女记录之间是一对多的关系
(3)可以支持双亲记录和子女记录之间的某些约束条件
3.网状模型的优缺点
网状模型的优点主要有
一 能够更为直接的描述现实世界
二 具有良好的性能 存取效率较高
网状模型的缺点主要有
一 结构比较复杂 而且随着应用环境的扩大 数据库的结构就变得越来越复杂 不利于最终用户的掌握
二 网状模型的ddlml复杂 而且要嵌入某一种高级语言中 用户不容易掌握 不容易使用
三 由于记录之间的联系是通过存取路径实现的 应用程序在访问数据时必须选择适当的存取路径

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值