数据模型和数据模式的理解和区别

      用自己的话总结就是:给定一个数据模型,怎么描述?用数据模式来描述。
      怎么理解看下文:

什么是数据模型?

      数据模型是用来描述数据的一组定义。一般来说,数据的描述包括两个方面,一是数据的静态特征,包括数据的基本结构,数据间的联系和数据的约束。二是数据的动态特征,是指定义在数据上的操作。

为什么数据模型要分级?

      数据模型的好坏很难抽象的评价,这取决于它的用途。对人来说,人们总是希望数据模型尽可能地反应现实世界和接近人对现实世界的观察的和理解,也就是数据模型要面向现实世界,面向用户,但是数据模型又是实现DBMS的基础,它对系统的复杂性,性能影响很大,因此从实现的角度来看,又希望数据模型型接近数据在计算机中的物理表示,以便于实现,减少开销,也就是数据模型不得不在一定程度上面向实现,面向计算机。因此在数据库中,针对不同的使用对象和应用目的,采用多级数据模型,分为概念模型,逻辑模型,物理模型。

怎么理解概念模型,逻辑模型,物理模型?

      概念模型是面向用户,面向现实世界的数据模型,是与DBMS无关的,它主要用来描述一个单位的概念化结构
      逻辑模型是从用户从数据库所看到的数据模型,它与DBMS有关,DBMS常以其所用的逻辑模型来分类。用概念模型表示的数据必须转化为逻辑模型表示的数据,才能在DBMS中实现。逻辑模型既要面向用户,也要面向实现。逻辑模型只反映数据的逻辑结构,如文件,记录,字段等,而不反应数据的存储结构,如物理块,指针,索引等。
      物理模型用来反映数据存储结构,数据库的数据最终都要存储到介质上,物理模型不仅与DBMS有关,还与操作系统和硬件有关。

什么是数据模式?

      大家都知道,在程序设计语言中,一个数据有型和值之分。型是该数据的数据类型,值是型的一个实例。
      例如:整型是型,而93是它其中一个值,同样的道理,描述数据的手段是型(就是数据模型),对型的描述(就是对某一类数据的结构,联系和约束的描述)是值(就是数据模式),通俗来讲就是,给定一个数据模型,怎么描述?用数据模式描述。在同一种数据模式下,可以有很多值,称为实例。
      下图(a)是数据模式,(b)是一个实例。在这里插入图片描述
      注意,上图是数据模式下的实例,不要混淆。数据模式是相对稳定的,而实例是相对变动的,数据模式反映一个单位的各种事物的结构,属性,联系和约束,实质上是用数据模型对一个单位的模拟,而实例反应的是数据库某一时刻的状态,即这一单位的当前状态。

怎么区别数据模型和数据模式?

      前面其实也说了不少,下面加一点具体的理解:
      数据模型和数据模式不应混淆,正像不应把程序设计语言和用程序设计语言所写的一段程序混为一谈一样,数据模型是描述数据的手段,而数据模式是用给定数据模型对具体数据的描述。
      在DBMS中,由于数据用多级数据模型来描述,相应地也有多级数据模式。分为三级:
在这里插入图片描述

  • 概念模式
    • 概念模式是用逻辑数据模型的一个单位的数据的描述,概念模式的设计是数据库设计的最基本任务,概念模式也称为逻辑模式。
  • 外模式
    • 外模式是用逻辑数据模型对用户所用到的那部分数据的描述。每个用户所感兴趣的数据不完全一样,另外,从保密的观点出发,也不宜让用户接触与自己无关的数据,因此每个用户的外模式不一定相同。外模式是概念模式的一部分或是从概念模式推导而来的,有了概念模式,设计外模式就比较方便了。
  • 内模式
    • 内模式是用物理数据模型对数据的描述。内模式对一般用户是透明的,但它的设计直接影响数据库性能。

概念模式,外模式,内模式都存于数据目录中,是数据目录最基本的内容。DBMS通过数据目录,管理和访问数据模式。

猜你喜欢

转载自blog.csdn.net/weixin_44404303/article/details/113778157