学习笔记——DB数据模型

数据模型是用來描述数据、组织数据和对数据进行操作的。通俗地讲,数据模型就是现实世界的模拟。数据模型是数据库系统的核心和基础。

一、两类数据模型

       根据模型应用的不同目的,可以将这些模型划分为两大类,它们分别属于两个不同的层次。第一类是概念模型,第二类是逻辑模型和物理模型。

       第一类概念模型(conceptual model),也称信息模型,它是按用户的观点来对数据和信息建模,主要用于数据库设计。

       第二类中的逻辑模型主要包括层次模型(hierarchical model)、网状模型(network model)、 关系模型(relational mode)等。它是 按计算机系统的观点对数据建模,主要用于数据库管理系统的实现。

       第二类中的物理模型是对数据最底层的抽象,它描述数据在系统内部的表示方式和存取方法,或在磁盘或磁带上的存储方式和存取方法,是面向计算机系统的。

       

       从现实世界到概念模型的转换是由数据库设计人员完成的;从概念模型到逻辑模型的转换可以由数据库设计人员完成,也可以用数据库设计工具协助设计人员完成;从逻辑模型到物理模型的转换主要是由数据库管理系统完成的。

二、概念模型

概念模型是对信息世界建模,所以概念模型应该能够方便、准确地表示出上述信息世界中的常用概念。便于用户理解。

唯一标识实体的属性集称为码。例如学号是学生实体的码。

常用E-R 图(E-R diagram)来描述现实世界的概念模型。实体-联系方法

三、数据模型组成要素

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

数据结构描述数据库的组成对象以及对象之间的联系。数据结构是所描述的对象类型的集合,是对系统静态特性的描述。

数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括 操作及有关的操作规则。数据库主要有查询和更新(包括插入、删除、修改)两大类操作。数据操作是对系统动态特性的描述。

完整性的约束是给定的数据模型中数据及其联系所具有的制约和依存规则。例如,在关系模型中,任何关系必须满足实体完整性和参照完整性两个条件。

四、常用的数据模型

层次模型(hierarchical model)
网状模型(network model)
关系模型(relational model)

五、层次模型

层次模型是数据库系统中最早出现的数据模型。

层次模型用树形结构来表示各类实体以及实体间的联系。

1.数据结构

在数据库中定义满足下面两个条件的基本层次联系的集合为层次模型:

        1)有且只有一个结点没有双亲结点,这个结点称为根结点;

        2)根以外的其他结点有且只有一个双亲结点。

在层次模型中,每个结点表示一个记录类型,记录类型之间的联系用结点之间的连线 (有向边)表示,这种联系是父子之间的一对多的联系。这就使得层次数据库系统只能处理一对多的实体联系。

层次模型像一棵倒立的树, 结点的双亲是唯一的。
层次模型的一个基本的特点是, 任何一个给定的记录值只能按其层次路径查看, 没有一个子女记录值能够脱离双亲记录值而独立存在。

2.数据操纵

增删改查

3.完整性约束

进行插入操作时, 如果没有相应的双亲结点值就不能插入它的子女结点值。

进行删除操作时, 如果删除双亲结点值, 则相应的子女结点值也将被同时删除。

4.优缺点

优点:

(1) 层次模型的数据结构比较简单清晰。
(2) 层次数据库的查询效率高。 因为层次模型中记录之间的联系用有向边表示, 这种联系在DBMS中常常用指针来实现。 因此这种联系也就是记录之间的存取路径。 当要存取某个结点的记录值, DBMS就沿着这一条路径很快找到该记录值, 所以层次数据库的性能优于关系数据库,不低于网状数据库。
(3) 层次数据模型提供了良好的完整性支持。
缺点:
(1) 现实世界中很多联系是非层次性的, 如结点之间具有多对多联系, 不适合用层次模型表示。
(2)对插入和删除操作的限制比较多, 因此应用程序的编写比较复杂。
(3) 查询子女结点必须通过双亲结点。
(4) 由于结构严密, 层次命令趋于程序化。

5.存储方式

类似于树,顺序存储和链表存储。

六、网状模型

1.数据结构

 (1) 允许一个以上的结点无双亲。

(2) 一个结点可以有多于一个的双亲。

多对多关系。

2.数据操纵

增删改查

3.完整性约束

4.优缺点

优点:

(1) 能够更为直接地描述现实世界, 如一个结点可以有多个双亲, 结点之间可以有多种联系。
(2) 具有良好的性能, 存取效率较高。
缺点:
(1) 结构比较复杂, 用户不容易掌握, 不容易使用。
(2) 由于记录之间的联系是通过存取路径实现的, 应用程序在访问数据时必须选择适当的存取路径, 因此用户必须了解系统结构的细节, 加重了编写应用程序的负担。
5.存储结构

将一个多对多的关系,变成两个一对多的关系。

七、关系模型

关系模型是最重要的一种数据模型。

1.数据结构

每个关系的数据结构是一张规范化的二维表

关系(relation): —个关系对应通常说的一张表。

元组(tuple):表中的一行即为一个元组。

属性(attribute):表中的一列即为一个属性。

码(key):也称为码键。表中的某个属性组,它可以唯一确定一个元组,如学号可以唯一确定一个学生。

域(domain):域是一组具有相同数据类型的值的集合。属性的取值范围来自某个域。 如人的年龄一般在1 120岁之间。

关系模式:对关系的描述,一般表示为关系名(属性1,属性2,属性) 例如,学生(学号,姓名,年龄,性别,系名,年级)

关系模型要求关系必须是规范化的,即要求关系必须满足一定的规范条件,这些规范条件中最基本的一条就是,关系的每一个分量必须是一个不可分的数据项,也就是说,不允许表中还有表。

2.数据操纵

增删改查

关系模型中的数据操作是集合操作, 操作对象和操作结果都是关系, 即若干元组的集合。

关系模型把存取路径向用户隐蔽起来, 用户只要指出“干什么” 或“找什么” , 不必详细说明“怎么干” 或“怎么找” ,从而大大地提高了数据的独立性, 提高了用户生产率。

3.完整性约束

关系的完整性约束条件包括三大类:实体完整性、参照完整性和用户定义的完整性。

4.优缺点

优点:

(1)关系模型与格式化模型不同,它是建立在严格的数学概念的基础上的。

(2)关系模型的概念单一。一切操作都是对表(关系)操作,所以其数据结构简单、清晰,用户易懂易用。

(3)关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。

缺点:

由于存取路径对用户是隐蔽的,查询效率往往不如格式化数据模型。为了提高性能,数据库管理系统必须对用户的查询请求进行优化。

5.存储结构

表,以文件形式存储。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值