
1、模式(逻辑模式、概念模式):实际上是数据库数据在逻辑级上的视图。描述的是全局逻辑结构。一个数据库只要一个模式。模式是数据库的中心与关键,它独立与其他层次。设计数据库模式结构时应首先确定数据库的逻辑模式。DBMS提供模式描述性语言来严格定义模式。
2、外模式(子模式、用户模式):数据库用户能够看见和使用的局部数据的逻辑结构和特征,是数据库用户的数据视图。描述的是局部逻辑结构。是模式的一个子集。一个数据库可以有多个数据库内模式。每个用户只能看见和访问对应的外模式中的数据,数据库中的其余数据是不可见的。
是保证数据库安全性的有力措施。同一外模式也可以为用户的多个应用程序使用,但一个应用程序只能使用一个外模式。它定义在逻辑模式之上,但独立于存储模式和存储设备。当应用需求发生较大变化,相应外模式不能满足其视图要求,该外模式就应该做出相应的改变。
设计外模式的时候应充分考虑到应用的扩展性。DBMS提供子模式描述性语言来严格定义子模式。
3、内模式(存储模式):一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据库内部的表示方法。比如记录什么存储方法存储,索引按照什么方式组织。数据是否压缩存储,是否加密。数据库存储记录结构有何规定。
它依赖于全局逻辑结构,但独立于数据库的用户视图和存储设备。它将全局逻辑结构中所定义的数据结构及其联系按照一定的物理存储策略进行组织,以实现达到较好的时间与空间效率的目的。DBMS提供内模式描述性语言来严格定义内模式。
二、二级映像:
1、外模式/模式映像:数据库系统都有一个外模式/模式映像。它定义了该外模式与模式之间的对应关系。这些映像通常包含在各自外模式的描述中。
当模式改变时(增加新的关系、新的属性、改变属性的数据类型),需要数据库管理员对各个外模式/模式的映像做相应改变,也可以是外模式保持不变。应用程式是依据数据的外模式编写的。因此应用程序也不必修改,这保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
2、模式/内模式映像:模式/内模式映像是唯一的,它定义了数据全局逻辑结构与存储结构之间的对应关系。比如说明逻辑记录和字段在内部是如何表示。
该映像定义通常包含在模式描述中。当数据库的存储结构改变时,由数据库管理员对模式/内模式映像做相应改变。可以使模式保持不变,因此应用程序也不必改变,这就保证了数据与程序的物理独立性,简称数据的物理独立性。
扩展资料:
数据库的三级模式是数据库在三个级别 (层次)上的抽象,使用户能够逻辑地、抽象地处理数据而不必关心数据在计算机中的物理表示和存储。
实际上 ,对于一个数据库系统而言一有物理级数据库是客观存在的,它是进行数据库 *** 作的基础,概念级数据库中不过是物理数据库的一种逻辑的、抽象的描述(即模式),用户级数据库则是用户与数据库的接口,它是概念级数据库的一个子集(外模式)。
用户应用程序根据外模式进行数据 *** 作,通过外模式一模式映射,定义和建立某个外模式与模式间的对应关系,将外模式与模式联系起来,当模式发生改变时,只要改变其映射,就可以使外模式保持不变,对应的应用程序也可保持不变;
另一方面,通过模式一内模式映射,定义建立数据的逻辑结构(模式)与存储结构(内模式)间的对应关系,当数据的存储结构发生变化时,只需改变模式一内模式映射,就能保持模式不变,因此应用程序也可以保持不变。
参考资料:百度百科_数据库三级模式
百度百科_外模式/模式映象
百度百科_模式/内模式映像
数据库引入了索引
用户对数据库最频繁的 *** 作是进行数据查询 一般情况下 数据库在进行查询 *** 作时需要对整个表进行数据搜索 当表中的数据很多时 搜索数据就需要很长的时间 这就造成了服务器的资源浪费 为了提高检索数据的能力 数据库引入了索引机制
有关 索引 的比喻
从某种程度上 可以把数据库看作一本书 把索引看作书的目录 通过目录查找书中的信息 显然较没有目录的书方便 快捷
数据库索引实际是什么?(两部分组成)
索引是一个单独的 物理的数据库结构 它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单
索引在表中的角色
一个表的存储是由两部分组成的 一部分用来存放表的数据页面 另一部分存放索引页面 索引就存放在索引页面上
索引高效原理
通常 索引页面相对于数据页面来说小得多 当进行数据检索时 系统先搜索索引页面 从中找到所需数据的指针 再直接通过指针从数据页面中读取数据
索引的分类
在SQL Server 的数据库中按存储结构的不同将索引分为两类 簇索引(Clustered Index)和非簇索引(Nonclustered Index)
( )簇索引对表的物理数据页中的数据按列进行排序 然后再重新存储到磁盘上 即簇索引与数据是混为一体 的它的叶节点中存储的是实际的数据 由于簇索引对表中的数据一一进行了排序 因此用簇索引查找数据很快 但由于簇索引将表的所有数据完全重新排列了 它所需要的空间也就特别大 大概相当于表中数据所占空间的 % 表的数据行只能以一种排序方式存储在磁盘上 所以一个表只能有一个簇索引
( )非簇索引具有与表的数据完全分离的结构 使用非簇索引不用将物理数据页中的数据按列排序 非簇索引的叶节点中存储了组成非簇索引的关键字的值和行定位器 行定位器的结构和存储内容取决于数据的存储方式 如果数据是以簇索引方式存储的 则行定位器中存储的是簇索引的索引键如果数据不是以簇索引方式存储的 这种方式又称为堆存储方式(Heap Structure) 则行定位器存储的是指向数据行的指针 非簇索引将行定位器按关键字的值用一定的方式排序 这个顺序与表的行在数据页中的排序是不匹配的 由于非簇索引使用索引页存储因此它比簇索引需要更多的存储空间且检索效率较低但一个表只能建一个簇索引 当用户需要建立多个索引时就需要使用非簇索引了
小结 Clustered Index 是与物理数据混在一起并对物理数据进重排 就像使用拼音查字典Unclustered Index 是与物理数据完全分离的 利用额外空间对关键字进行重排 就像使用部首查字典
数据库索引应用
一 索引的概念
索引就是加快检索表中数据的方法 数据库的索引类似于书籍的索引 在书籍中 索引允许用户不必翻阅完整个书就能迅速地找到所需要的信息 在数据库中 索引也允许数据库程序迅速地找到表中的数据 而不必扫描整个数据库
二 索引的特点
索引可以加快数据库的检索速度
索引降低了数据库插入 修改 删除等维护任务的速度
索引创建在表上 不能创建在视图上
索引既可以直接创建 也可以间接创建
可以在优化隐藏中 使用索引
使用查询处理器执行SQL语句 在一个表上 一次只能使用一个索引
其他
三 索引的优点
创建唯一性索引 保证数据库表中每一行数据的唯一性
大大加快数据的检索速度 这也是创建索引的最主要的原因
加速表和表之间的连接 特别是在实现数据的参考完整性方面特别有意义
在使用分组和排序子句进行数据检索时 同样可以显著减少查询中分组和排序的时间
通过使用索引 可以在查询的过程中使用优化隐藏器 提高系统的性能
四 索引的缺点
创建索引和维护索引要耗费时间 这种时间随着数据量的增加而增加
索引需要占物理空间 除了数据表占数据空间之外 每一个索引还要占一定的物理空间 如果要建立聚簇索引 那么需要的空间就会更大
当对表中的数据进行增加 删除和修改的时候 索引也要动态的维护 降低了数据的维护速度
lishixinzhi/Article/program/MySQL/201311/29604
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)