DBMS管理数据的三个层次mysql
对数据库中数据所进行的一种结构型的描述。sql
以mysql为例,输入desc citizen
查看到的表结构就是模式数据库
image-20200718203624750数据结构
某一种表示形式下表现出来的数据库中的数据,也就是模式的具象化app
image-20200718203822444spa
模式之间结构是不相同的,是没法简单关联在一块儿的。所以咱们须要引入新的概念:映像(Mapping)
。设计
由上文可知,咱们须要两个映像将三个模式关联起来:code
E-C Mapping
: 将外模式映射为概念模式,从而支持实现数据概念视图向外部视图的转换,便于用户观察和使用。C-I Mapping
:将概念模式映射为内模式,从而支持是实现数据概念视图向内部视图的转换,便于计算机进行存储和处理三级模式与两层映像组成了咱们数据库的标准结构。用户本身定义三层视图,由DBMS帮助咱们完成两层映射的实现。在实际应用中,应用程序实际上只对外部视图进行操做。blog
那为何须要这么设计呢?索引
其实是遵循「两个独立性」:
当概念模式变化时,能够不改变外部模式(只须要改变E-C Mapping),从而无需改变应用程序,减小耦合度。
当内部模式变化时,一样只需改变C-I Mapping,从而不改变概念模式,也不须要改变外部模式。
数据模型是规定模式统一描述方式的模型,包括数据结构
、操做
和约束
。模型是对模式自己的抽象,而模式是对数据的抽象。
例如:关系模型就是对「一类」数据有联系的抽象表形式的模式。关系模型中就是对模型中包含的模式作出要求:每个具体的模式都拥有不一样列名的具体的表,规定了对这类表能够进行哪些操做和约束。