数据库系统的三级模式两级映射
模式:模式是数据库中全体数据的逻辑结构和特征的描述。(不涉及具体的值)
例如:
学生选课数据库模式:
学生(姓名,学号,专业班级)
课程(课程号,课程名,学分)
选课(学号,课程号,成绩)
注意:模式中不包含具体的记录数据。
三级模式:
- 概念级---模式:模式也称为概念模式或逻辑模式,是对数据库中全部数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一个模式,通常以某种数据模型为基础,统一综合地考虑了所有用户的需求,并将这些需求有机地结合成一个逻辑整体。(反映了数据库系统的整体观)
- 物理级---内模式:内模式也称存储模式或物理模式,是对数据物理结构和存储方式的描述,十数据在数据库内部的表示方式,一个数据库只有一个内模式。(反映了数据库系统的存储观)
- 用户级---外模式:外模式也称子模式或用户模式,它是对数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述。外模式通常是模式的子集,一个数据库可以有多个外模式,但一个应用程序只能使用同一个外模式。(反映了数据库系统的用户观)
两级映射:
数据库系统在三级模式之间提供了两级映像:模式/内模式的映像、外模式/模式的映像。
- 模式/内模式的映像:实现概念模式到内模式之间的相互转换。
- 外模式/模式的映像:实现外模式到概念模式之间的相互转换。
外模式/模式映像:对应于同一个模式可以有任意多个外模式,对于每一个外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系。当模式改变时,由数据库管理系统员对各个外模式/模式做相应的改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序可以不必修改,保证了数据与程序的逻辑独立性。
模式/内模式映像:数据库只有一个模式,也只有一个内模式,所以模式/内模式映像是唯一的,它定义了数据库的全局逻辑结构与存储结构之间的对应关系。当数据库的存储结构改变时,由数据库管理员对模式/内模式映射做相应的改变,可以使模式保持不变,从而应用程序也不必修改,保证了数据与程序的物理独立性。
数据库系统的三级模式两级映射相关推荐
- 数据库模式(三级模式+两级映射)
数据库模式(三级模式+两级映射) 美国国家标准协会(American National Standard Institute, ANSI)的数据库管理系统研究小组于1978年提出了标准 ...
- 数据库系统之:三级模式-两层映射详解
数据库系统之:三级模式-两层映射详解 前言 一.数据库三大模式详解 1.外模式(反映了数据库系统的用户观) 2.概念模式(反映了数据库系统的整体观) 3.内模式(反映了数据库系统的存储观) 4.概念模 ...
- 数据库模式——三级模式两级映像
转载:https://www.cnblogs.com/xiehuan-blog/p/9033481.html 数据库模式 数据库系统是数据密集型应用的核心,其体系结构受数据库运行所在的计算机系统的影响 ...
- 数据库结构与模式 - 三级模式 两级独立性/两级映射
数据库技术中采用分级的方法将数据库的结构划分为多个层次.最著名的是美国 ANSI/ SPARC 数据库系统研究组 1975 年提出的三级划分法 数据库系统划分为三个抽象级:用户级.概念级.物理级. ( ...
- [数据库]三级模式-两级映像详解
前言 一个数据系统包含了很多部分.作为一个系统,不同的用户看到的信息也是不一样的. 比如一个学校,虽然最终数据都在一个数据库系统中,但是教师.学生.财务.院长能看到的内容.能进入的系统也是不一样的.一 ...
- 数据库三级模式两层映射
为什么会有三级模式?这里的话先解释一些这个东西,ANSI为了规范我们对数据库的使用,ANSI的数据库管理系统研究小组于1978年提出了标准化的建议,将数据库结构分为3级:面向用户或应用程序员的用户级. ...
- mysql数据库的三级模式_数据库的三级模式和两级映射
数据库的三级模式和两级映射 数据库的三级模式两级映射如下图所示 三级模式 外模式:应用程序用到的部分数据的逻辑结构.一个数据库可以有多个外模式 概念模式(模式.逻辑模式):数据库管理员用到的视图,就是 ...
- 67.数据库系统的三级模式
首先得先明白一个概念.什么是数据库系统. 数据库系统是为适应数据处理的需要而发展起来的一种较为理想的数据处理系统 简单 来说数据库系统就是用来处理数据的. 既然叫系统,那肯定有组成部分. 1.硬件(物 ...
- 数据库系统的三级模式、两级映射
将数据库结构分为3级:面向用户或应用程序员的用户级.面向建立和维护数据库人员的概念级.面向系统程序员的物理级.而两级映射则连接三级不同模式的通道 假如现在有一个学生信息库. 内模式Internal S ...
最新文章
- 第13章代码《跟老男孩学习Linux运维:Shell编程实战》
- opensuse 安装 php,在openSUSE上安装和配置LAMP(2)
- Linux 利用busybox制作根文件系统
- WindowsPhone7入手,实在的照片
- docker install
- docker启动nginx代理不上_Docker nginx 反向代理设置
- java编写代码时易出错_JAVA中易出错的小问题(一)
- 【转载】数字签名是什么?
- Uncaught SyntaxError - unexpected end of input
- activemq网络桥接_ActiveMQ –经纪人网络解释
- MySQL 批量插入数据,单次插入多少条数据效率最高
- 牛客网软件测试机考题库,为什么编程题本地测试通过,可是提交时却总报错。求大神们指点。...
- JAVA蓝桥杯: 时间转换
- 教你高效管理CrossOver容器
- 计算机思维导图药剂学,思维导图在药剂学教学中的应用
- mongodb分组查询 php,MongoVUE下实现MongoDB的Group分组查询
- matlab样本标准差,关于样本标准差(SD)与样本标准误差(SE)
- axure原型素材模板-手机端蓝色科幻科技动态酷炫游戏大数据手机H5页面模板素材聊天
- Python 将文件夹内所有pdf转换为图片输出到指定文件夹中
- 4418GPIO口调用过程
热门文章
- java线程 cpu占用率_多线程程序 怎样查看每个线程的cpu占用
- 【数据结构 图】数据结构实验--图及其应用
- SQL Server数据库自动备份
- Linux下的常用工具
- 操作系统——进程与线程の选择题整理
- 设计师们都在用的AI作图神器,你还不抓紧入手一款
- MySQL 8.0报错1114, “The table ‘/data/mysql/5306/tmp/#sql70da_911_3‘ is full
- 【Axure 教程】中继器(进阶篇)
- ib什么意思_IB课程是什么?为什么越来越多的人学习?
- Chrome及Firefox插件