三级模式结构:外模式、模式和内模式

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

理解:

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

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

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

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

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

理解:

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

② 外模式就是用户视图;

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

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

理解:

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

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

它是数据库管理系统(DBMS)对数据库中数据进行有效组织和管理的方法其目的有:① 为了减少数据冗余,实现数据共享;② 为了提高存取效率,改善性能。

据库的三级模式结构是对数据的三个抽象级别。在这三个抽象级别之间,为了实现数据的转换,数据库管理系统必须提供两层映射功能,即外模式和概念模式的映射,概念模式和内部模式的映射。
  外模式又称用户模式, 在传统的数据库系统中定义为子模式,子模式是概念模式的子集。外模式按用户视图定义数据,也可以从概念模式中导出。
  概念模式又称逻辑模式, 是现实世界和数据存储之间的扭带。概念模式是为了实现数据库数据的共享进行数据库设计之后,得到的全局性数据逻辑关系的抽象和描述,它独立于数据的物理存储结构,是所有用户的共同的逻辑数据视图。
  内模式又称物理模式,用以描述数据在数据库中的存储和存取方式。

DBMS 提供内模式描述语言(内模式 DDL)来定义内模式。

在数据库系统中,外模式可有多个,而概念模式、内模式只能各有一个。

内模式是整个数据库实际存储的表示,而概念模式是整个数据库实际存储的抽象表示.外模式是概念模式的某一部分的抽象表示。

  所有的这些模式都必须在使用数据库之前进行定义。数据库管理系统提供模式描述语言 DDL,用以严格地描述一个数据库中所有实体的定义,经编译之后存储在数据库中。外模式是与每个具体的应用程序和它使用的高级编程语言相关联的。内模式与数据的物理存储(操作系统)和硬件有关。概念模式是独立于具体应用和物理环境的,是数据库中全体数据的逻辑表示。
  数据库设计的过程就是综合外模式, 产生概念模式,根据使用的DBMS产生物理模式。再由概念模式导出用户视图, 就是用户看到的逻辑数据。

三级结构的优点

(1)保证数据的独立性。将模式和内模式分开,保证了数据的物理独立性;将外模式和模式分开,保证了数据的逻辑独立性。

(2)简化了用户接口。按照外模式编写应用程序或敲入命令,而不需了解数据库内部的存储结构,方便用户使用系统。

(3)有利于数据共享。在不同的外模式下可有多个用户共享系统中数据,减少了数据冗余。

(4)利于数据的安全保密。在外模式下根据要求进行操作,不能对限定的数据操作,保证了其他数据的安全。

外模式和概念模式的映射,定义了外模式和概念模式之间的对应关系,通常在外模式中给出描述。这层映射的作用是实现逻辑数据的独立性。当数据的整体逻辑结构改变时,如果某个外模式保持不变,相应的外模式和概念模式的映射关系需要改变,因而该外模式对应的应用程序不用改变。

概念模式和内部模式的映射,存在于概念层,由DBMS建立两者之间的逐一对应关系。这层映射的作用是实现物理数据的独立性。当数据库的物理存储模式修改时,如改变存储设备和存取方法时,概念模式可以保持不变,相应的内模式和概念模式的映射关系需要改变,应用程序也不用改变。

数据库系统为什么使用三级模式结构相关推荐

  1. 1.3数据库系统结构及组成(三级模式结构)

    文章目录 1.3.1 数据库系统结构 一.数据库系统模式的概念 二.数据库系统的三级模式结构 三.数据库的二级映像功能与数据独立性 1.3.2 数据库系统的体系结构 一.DBS体系结构的组成 二.DB ...

  2. 数据库系统的三级模式结构知识笔记

    1.数据抽象的三个层次 数据库系统利用三个层次划分来抽象来对用户屏蔽系统的复杂性.简化用户与系统的交互. 1.1 物理层 物理层属于最低级层次的抽象,描述数据在存储器上如何进行存储的.物理层会详细描述 ...

  3. 数据库系统的三级模式结构指什么

    数据库系统的三级模式结构指:外模式.模式和内模式 一.模式(schema) 定义:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图. 理解: ① 一个数据库只有一个模式 ...

  4. 什么是概念模型 有什么作用 论述网状模型的概念 论述数据库系统的三级模式结构 优点 什么叫数据于程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系统具有数据于程序的独立性数据库管理员

    数据:描述事物的符号数据库(DataBase,简称DB) 数据库顾名思义,是存放数据的仓库,只不过这个仓库是在计算机存储设备上的, 而且数据是按一定格式存放的 数据库管理员(DateBase Admi ...

  5. 论述层次模型的概念 论述网状模型的概念 论述数据库系统的三级模式结构什么叫数据于程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系统具有数据于程序的独立性

    最近学校上数据库的课程 在网上整理了一些 什么是概念模型 有什么作用: 实际是现实世界到信息世界的第一中间层次 对数据库设计的有力工具 数据库设计人员与用户交流的语言 . 论述层次模型的概念 举例子: ...

  6. 数据库系统的三级模式结构与二级映像

    数据库系统的三级模式结构 模式是数据库中全体数据的逻辑结构和特征的描述,它只涉及型的描述,而不涉及具体的值.模式的一个具体值称为模式的一个实例.同一个模式可以有很多实例.模式相对稳定不变,而实例则由于 ...

  7. 数据库系统中的三级模式、两级映像以及数据独立性(附绪论思维导图)

    三级模式.两级映像 1.绪论思维导图 2.数据库系统的三级模式结构 2.1.模式 2.2.外模式 2.3.内模式 3.数据库的两级映像功能 3.1.外模式/模式映像 3.2.模式/内模式映像 3.3. ...

  8. 数据库的三级模式结构以及如何理解数据库的三级模式

    所谓模式是指用数据描述语言精确定义的数据模型.数据模式的三个层次:外部层.概念层和内部层,构成数据库系统的三级模式结构,如图所示.不管数据库管理系统的功能如何变化.操作系统的平台如何不同.数据模型如何 ...

  9. 数据库系统之:三级模式-两层映射详解

    数据库系统之:三级模式-两层映射详解 前言 一.数据库三大模式详解 1.外模式(反映了数据库系统的用户观) 2.概念模式(反映了数据库系统的整体观) 3.内模式(反映了数据库系统的存储观) 4.概念模 ...

最新文章

  1. 高效查看MySQL帮助文档的方法
  2. LB 终面 与 智能家电 的浅析
  3. oracle定时器定时删除30天前的数据_Redis-数据淘汰策略持久化方式(RDB/AOF)Redis与Memcached区别...
  4. org.apache.poi 读取数字问题
  5. #pragma pack(n)和sizeof求结构的大小
  6. ui边框设计图_UI设计形状和对象基础知识:填充和边框
  7. linux shell 嵌套expect 与服务器交互脚本
  8. MSP432P401R TI Drivers 库函数学习笔记(三)认识任务的创建及图形化配置
  9. 整理了一些面试题,还在更新中,有时间的可以看看
  10. [2005/05/03] 卡耐基选语
  11. 防腐投加器需要加盐吗_风冷却器的正确防腐措施应该怎么做?
  12. 最后的人 - 主机程序员十年的分享
  13. pythonthreading模块_python多线程之 threading模块详解
  14. Vayo-CAM365功能详解(二)
  15. 2048小游戏(Java)源码解析及源代码打包
  16. win7计算机属性资源管理器停止工作,win7系统windows资源管理器已停止工作的解决方法...
  17. linux识别新显示器,Linux 显示器未正确识别 最佳分辨率 Ubuntu 10.10 X11
  18. 人工智能基础部分11-图像识别实战(网络层联想记忆,代码解读)
  19. (三)模仿学习-Action数据的模仿
  20. org.springframework.web.HttpMediaTypeNotSupportedException Content type ‘ap

热门文章

  1. python固定数据类型_Python的数据类型
  2. vue 怎么在字符串中指定位置插入字符_vue 我想在一个字符串中间加入一个/br 该怎么写?...
  3. html文本显示_「前端开发」HTML入门与实战
  4. mysql性能调优快捷键_mysql优化篇
  5. html校验长度为9位,2018记一次前端面试笔试考题一
  6. matlab中 三种方法计算 Ax b,在MATLAB中,方程Ax=B的解可以用哪个命令求得? matlab 求助 解方程组...
  7. linux专业术语中英文,Linux专业术语中英文对照.doc
  8. 在Linux里安装和启动nginx的方法
  9. Web安全学习笔记之HTTP协议
  10. pLSQL中文乱码问题