【数据库】三级模式、二级映射 ⟳
三级模式和二级映射⟳
在数据模型中有“型”(Type, T)和“值”的概念。
- 型:是指对某一类数据的结构和属性的说明
类比:类
- 值:是型的一个具体赋值。
类比:对象
模式和实例:
- 模式:是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及到具体的值。
- 实例:模式的一个具体值称为一个实例。同一个模式可以有很多实例。
对比:
模式是相对稳定的,而实例是相对变动的,因为数据库中的数据是在不断更新。
模式反映的是数据的结构及其联系,而实例反映的是数据库某一时刻的状态。
三级模式结构⟳
数据库领域公认的标准结构是三级模式结构,它包括外模式、模式和内模式,有效地组织、管理数据,提高了数据库的逻辑独立性和物理独立性。
- 外模式:又称子模式或用户模式,对应于用户级。(部分逻辑结构)
它是某个或某几个用户所看到的数据库的数据视图,是与某一应用有关的数据的逻辑表示。
它是从模式导出的一个子集,包含模式中允许特定用户使用的那部分数据。
用户可以通过外模式描述语言来描述和定义对应于用户的数据记录(外模式),也可以利用数据操纵语言(Data Manipulatioin Language, DML)对这些数据记录进行描述和定义。
外模式反映了数据库的用户观。
补充:
数据操纵语言(Data Manipulation Language, DML),用户通过它可以实现对数据库的基本操作。
DML主要用来对数据库的数据进行一些操作。例如:其实就是我们最经常用到的 SELECT、UPDATE、INSERT、DELETE。
- 模式:又称概念模式或逻辑模式,对应于概念级。(全局逻辑结构)
它是由数据库设计者综合所有用户的数据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图(全局视图)。
它是由数据库管理系统(DBMS)提供的数据模式描述语言(Data Description Language, DDL)来描述和定义的,
体现和反映了数据库系统(DBS)的整体观。
补充:
数据模式定义语言(Data Definition Language, DDL):是用于描述数据库中要存储的现实世界实体的语言。
DDL主要是用在定义或改变表的结构,数据类型,表之间的链接和约束等初始化工作上。例如:其实就是我们在创建表的时候用到的一些sql,比如说,CREATE、ALTER、DROP等。
- 内模式:又称存储模式,对应于物理级。(物理结构)
它是数据库中全体数据的内部表示或底层描述,是数据库最低一级的逻辑描述,它描述了数据在存储介质上的存储方式和物理结构,对应着实际存储在外存储介质上的数据库。
它是由内模式描述语言来描述和定义,
它是数据库的存储观。
注意:
在一个数据库系统中,只有唯一的数据库,
因而作为定义、描述数据库存储结构的内模式 和 定义、描述数据库逻辑结构的模式,也是唯一的,
但是建立在数据库系统之上的应用则是非常广泛多样的,所以对应的外模式****不是唯一的,也不可能是唯一的。
二级映像功能⟳
二级映像:保证了逻辑数据独立性和物理数据独立性。
这里的映射:是指两个模式之间相互转换。
-
外模式——模式映射:(逻辑数据独立性)
用户应用程序根据外模式进行数据操作,通过外模式——模式映射,定义和建立某个外模式与模式间的对应关系,将外模式与模式联系起来,
当模式发生改变时,只要改变其映射,就可以使外模式保持不变,对应的应用程序也可保持不变。 -
模式——内模式映射:(物理数据独立性)
通过模式——内模式映射,定义建立数据的逻辑结构(模式)与存储结构(内模式)间的对应关系,
当数据存储结构发生变化时,只需改变模式——内模式映射,就能保持模式不变,因此应用程序也可以保持不变。
笔者将不定期更新【考研或就业】的专业相关知识以及自身理解,希望大家能【关注】我。
如果觉得对您有用,请点击左下角的【点赞】按钮,给我一些鼓励,谢谢!
如果有更好的理解或建议,请在【评论】中写出,我会及时修改,谢谢啦!
本文来自博客园,作者:Nemo&
转载请注明原文链接:https://www.cnblogs.com/blknemo/p/12416395.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!