请高手简单解释一下数据库的内模式、模式、外模式是什么意思?

请高手简单解释一下数据库的内模式、模式、外模式是什么意思?,第1张

一、模式(Schema)

定义:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。

理解:

① 一个数据库只有一个模式;

② 是数据库数据在逻辑级上的视图;

③ 数据库模式以某一种数据模型为基础;

④ 定义模式时不仅要定义数据的逻辑结构(如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等),而且要定义与数据有关的安全性、完整性要求,定义这些数据之间的联系。

二、外模式(External

Schema)

定义:也称子模式(Subschema)或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。

理解:

① 一个数据库可以有多个外模式;

② 外模式就是用户视图;

③ 外模式是保证数据安全性的一个有力措施。

三、内模式(Internal

Schema)

定义:也称存储模式(Storage

Schema),它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式(例如,记录的存储方式是顺序存储、按照B树结构存储还是按hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定)。

理解:

① 一个数据库只有一个内模式;

② 一个表可能由多个文件组成,如:数据文件、索引文件。

它是数据库管理系统(DBMS)对数据库中数据进行有效组织和管理的方法

其目的有:

② 为了减少数据冗余,实现数据共享;

② 为了提高存取效率,改善性能。

一、定义不同

Simple简单恢复模式,Simple模式的旧称叫”Checkpoint with truncate log“。Full完整恢复模式,和Simple模式相反,Full模式的旧称叫”Checkpoint without truncate log“。Bulk-logged 大容量日志恢复。

二、功能不同

完整sql server恢复模式:

数据库引擎把所有 *** 作都记录到事务日志上,并且数据库引擎绝对不会截断日志,完整恢复模式能使数据库恢复到故障时间点。

简单sql server恢复模式:

数据库引擎最低限度地记录大多数 *** 作,并在每个检查点之后截断事务日志。它不能备份或还原事务日志,也不能还原单独的数据页。

大容量日志模式:

数据库引擎对大容量 *** 作(select into和bulk insert)进行最小记录。如果一个日志备份包含任何大容量 *** 作,就可以使数据库恢复到日志备份的结尾,但不能恢复到某个时间点,它仅用于大容量 *** 作期间。

三、好处不同

在Simple模式下,SQL Server会在每次checkpoint或backup之后自动截断log,也就是丢弃所有的inactive log records,仅保留用于实例启动时自动发生的instance recovery所需的少量log,这样做的好处是log文件非常小,不需要DBA去维护。

Full模式SQL Server不主动截断log,只有备份log之后,才可以截断log,否则log文件会一直增大,直到撑爆硬盘,因此需要部署一个job定时备份log。Full的好处是可以做point-in-time恢复,最大限度的保证数据不丢失,一般用于critical的业务环境里。

Bulk-logged是针对以下Bulk *** 作,会产生尽量少的log:

1、Bulk load operations (bcp and BULK INSERT).

2、SELECT INTO.

3、Create/drop/rebuild index 通常bulk *** 作会产生大量的log,对SQL Server的性能有较大影响,bulk-logged模式的作用就在于降低这种性能影响,并防止log文件过分增长。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9904129.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存