数据库系统为什么使用三级模式结构
三级模式结构:外模式、模式和内模式 一、模式(Schema)定义:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。 理解: ① 一个数据库只有一个模式; ② 是数据库数据在逻辑级上的视图; ③ 数据库模式以某一种数据模型为基础; ④ 定义模式时不仅要定义数据的逻辑结构(如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等),而且要定义与数据有关的安全性、完整性要求,定义这些数据之间的联系。 二、外模式(External Schema)定义:也称子模式(Subschema)或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。 理解: ① 一个数据库可以有多个外模式; ② 外模式就是用户视图; ③ 外模式是保证数据安全性的一个有力措施。 三、内模式(Internal Schema)定义:也称存储模式(Storage Schema),它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式(例如,记录的存储方式是顺序存储、按照B树结构存储还是按hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定)。 理解: ① 一个数据库只有一个内模式; ② 一个表可能由多个文件组成,如:数据文件、索引文件。 它是数据库管理系统(DBMS)对数据库中数据进行有效组织和管理的方法其目的有:① 为了减少数据冗余,实现数据共享;② 为了提高存取效率,改善性能。
据库的三级模式结构是对数据的三个抽象级别。在这三个抽象级别之间,为了实现数据的转换,数据库管理系统必须提供两层映射功能,即外模式和概念模式的映射,概念模式和内部模式的映射。
外模式又称用户模式, 在传统的数据库系统中定义为子模式,子模式是概念模式的子集。外模式按用户视图定义数据,也可以从概念模式中导出。
概念模式又称逻辑模式, 是现实世界和数据存储之间的扭带。概念模式是为了实现数据库数据的共享进行数据库设计之后,得到的全局性数据逻辑关系的抽象和描述,它独立于数据的物理存储结构,是所有用户的共同的逻辑数据视图。
内模式又称物理模式,用以描述数据在数据库中的存储和存取方式。
DBMS 提供内模式描述语言(内模式 DDL)来定义内模式。
在数据库系统中,外模式可有多个,而概念模式、内模式只能各有一个。
内模式是整个数据库实际存储的表示,而概念模式是整个数据库实际存储的抽象表示.外模式是概念模式的某一部分的抽象表示。
所有的这些模式都必须在使用数据库之前进行定义。数据库管理系统提供模式描述语言 DDL,用以严格地描述一个数据库中所有实体的定义,经编译之后存储在数据库中。外模式是与每个具体的应用程序和它使用的高级编程语言相关联的。内模式与数据的物理存储(操作系统)和硬件有关。概念模式是独立于具体应用和物理环境的,是数据库中全体数据的逻辑表示。
数据库设计的过程就是综合外模式, 产生概念模式,根据使用的DBMS产生物理模式。再由概念模式导出用户视图, 就是用户看到的逻辑数据。
三级结构的优点
(1)保证数据的独立性。将模式和内模式分开,保证了数据的物理独立性;将外模式和模式分开,保证了数据的逻辑独立性。
(2)简化了用户接口。按照外模式编写应用程序或敲入命令,而不需了解数据库内部的存储结构,方便用户使用系统。
(3)有利于数据共享。在不同的外模式下可有多个用户共享系统中数据,减少了数据冗余。
(4)利于数据的安全保密。在外模式下根据要求进行操作,不能对限定的数据操作,保证了其他数据的安全。
外模式和概念模式的映射,定义了外模式和概念模式之间的对应关系,通常在外模式中给出描述。这层映射的作用是实现逻辑数据的独立性。当数据的整体逻辑结构改变时,如果某个外模式保持不变,相应的外模式和概念模式的映射关系需要改变,因而该外模式对应的应用程序不用改变。
概念模式和内部模式的映射,存在于概念层,由DBMS建立两者之间的逐一对应关系。这层映射的作用是实现物理数据的独立性。当数据库的物理存储模式修改时,如改变存储设备和存取方法时,概念模式可以保持不变,相应的内模式和概念模式的映射关系需要改变,应用程序也不用改变。
数据库系统为什么使用三级模式结构相关推荐
- 1.3数据库系统结构及组成(三级模式结构)
文章目录 1.3.1 数据库系统结构 一.数据库系统模式的概念 二.数据库系统的三级模式结构 三.数据库的二级映像功能与数据独立性 1.3.2 数据库系统的体系结构 一.DBS体系结构的组成 二.DB ...
- 数据库系统的三级模式结构知识笔记
1.数据抽象的三个层次 数据库系统利用三个层次划分来抽象来对用户屏蔽系统的复杂性.简化用户与系统的交互. 1.1 物理层 物理层属于最低级层次的抽象,描述数据在存储器上如何进行存储的.物理层会详细描述 ...
- 数据库系统的三级模式结构指什么
数据库系统的三级模式结构指:外模式.模式和内模式 一.模式(schema) 定义:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图. 理解: ① 一个数据库只有一个模式 ...
- 什么是概念模型 有什么作用 论述网状模型的概念 论述数据库系统的三级模式结构 优点 什么叫数据于程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系统具有数据于程序的独立性数据库管理员
数据:描述事物的符号数据库(DataBase,简称DB) 数据库顾名思义,是存放数据的仓库,只不过这个仓库是在计算机存储设备上的, 而且数据是按一定格式存放的 数据库管理员(DateBase Admi ...
- 论述层次模型的概念 论述网状模型的概念 论述数据库系统的三级模式结构什么叫数据于程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系统具有数据于程序的独立性
最近学校上数据库的课程 在网上整理了一些 什么是概念模型 有什么作用: 实际是现实世界到信息世界的第一中间层次 对数据库设计的有力工具 数据库设计人员与用户交流的语言 . 论述层次模型的概念 举例子: ...
- 数据库系统的三级模式结构与二级映像
数据库系统的三级模式结构 模式是数据库中全体数据的逻辑结构和特征的描述,它只涉及型的描述,而不涉及具体的值.模式的一个具体值称为模式的一个实例.同一个模式可以有很多实例.模式相对稳定不变,而实例则由于 ...
- 数据库系统中的三级模式、两级映像以及数据独立性(附绪论思维导图)
三级模式.两级映像 1.绪论思维导图 2.数据库系统的三级模式结构 2.1.模式 2.2.外模式 2.3.内模式 3.数据库的两级映像功能 3.1.外模式/模式映像 3.2.模式/内模式映像 3.3. ...
- 数据库的三级模式结构以及如何理解数据库的三级模式
所谓模式是指用数据描述语言精确定义的数据模型.数据模式的三个层次:外部层.概念层和内部层,构成数据库系统的三级模式结构,如图所示.不管数据库管理系统的功能如何变化.操作系统的平台如何不同.数据模型如何 ...
- 数据库系统之:三级模式-两层映射详解
数据库系统之:三级模式-两层映射详解 前言 一.数据库三大模式详解 1.外模式(反映了数据库系统的用户观) 2.概念模式(反映了数据库系统的整体观) 3.内模式(反映了数据库系统的存储观) 4.概念模 ...
最新文章
- 高效查看MySQL帮助文档的方法
- LB 终面 与 智能家电 的浅析
- oracle定时器定时删除30天前的数据_Redis-数据淘汰策略持久化方式(RDB/AOF)Redis与Memcached区别...
- org.apache.poi 读取数字问题
- #pragma pack(n)和sizeof求结构的大小
- ui边框设计图_UI设计形状和对象基础知识:填充和边框
- linux shell 嵌套expect 与服务器交互脚本
- MSP432P401R TI Drivers 库函数学习笔记(三)认识任务的创建及图形化配置
- 整理了一些面试题,还在更新中,有时间的可以看看
- [2005/05/03] 卡耐基选语
- 防腐投加器需要加盐吗_风冷却器的正确防腐措施应该怎么做?
- 最后的人 - 主机程序员十年的分享
- pythonthreading模块_python多线程之 threading模块详解
- Vayo-CAM365功能详解(二)
- 2048小游戏(Java)源码解析及源代码打包
- win7计算机属性资源管理器停止工作,win7系统windows资源管理器已停止工作的解决方法...
- linux识别新显示器,Linux 显示器未正确识别 最佳分辨率 Ubuntu 10.10 X11
- 人工智能基础部分11-图像识别实战(网络层联想记忆,代码解读)
- (三)模仿学习-Action数据的模仿
- org.springframework.web.HttpMediaTypeNotSupportedException Content type ‘ap
热门文章
- python固定数据类型_Python的数据类型
- vue 怎么在字符串中指定位置插入字符_vue 我想在一个字符串中间加入一个/br 该怎么写?...
- html文本显示_「前端开发」HTML入门与实战
- mysql性能调优快捷键_mysql优化篇
- html校验长度为9位,2018记一次前端面试笔试考题一
- matlab中 三种方法计算 Ax b,在MATLAB中,方程Ax=B的解可以用哪个命令求得? matlab 求助 解方程组...
- linux专业术语中英文,Linux专业术语中英文对照.doc
- 在Linux里安装和启动nginx的方法
- Web安全学习笔记之HTTP协议
- pLSQL中文乱码问题