三级模式与两级映像

三级模式与两级映像

 

概念模式(conceptual schema)是数据库中全部数据的整体逻辑结构的描述。 

外模式(external schema)是用户与数据库系统的接口,是用户用到的那部分数据的描述。 

内模式(internal schema)是数据库在物理存储方面的描述,定义所有内部记录类型、索引和文件的组织方式,以及数据控制方面的细节。 

模式/内模式映象存在于概念级和内部级之间,用于定义概念模式和内模式之间的对应性。 

外模式/模式映象存在于外部级和概念级之间,用于定义外模式和概念模式之间的对应性。

高度的数据独立性

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
三级模式两级映像数据库系统结构 引⾔ 考察数据库的结构可以有多种不同的层次或⾓度。(这⾥说的数据库不局限于关系型数据库) 1. 如果从DBMS⾓度来看,数据库通常采⽤三级模式结构,也就是说DBMS内部的系统结构是三级模式结构 2. 如果从数据库最终⽤户⾓度来看,数据库系统的结构可分为:单⽤户结构、主从式结构、分布式结构、客户/服务器、浏览 器/应⽤服务器/数据库服务器多层结构等。这是数据库系统外部体系结构。 1. 数据库系统的模式(Schema) 数据模型中有"型"和"值"的概念,如:学⽣(学号,性别,班级)是"型",⽽:张三(20160310001,1,3年2班)是"值"。 模式(Schema)是数据库中全体数据的逻辑结构和特征的描述,它仅仅描述型,⽽并不包括值。模式的值称为模式的⼀个实例 (Instance),同⼀个模式可以有多个实例。 虽然实际的DBMS系统种类很多,他们⽀持的数据模式不尽相同,使⽤不同的语⾔,建⽴在不同的OS上,数据的存储结构也各不相同,但 他们在体系结构上通常具有相同的特征,即采⽤三级模式结构并提供两级影像功能 2. 三级模式 数据库三级模式结构是指:数据库系统是由外模式模式和内模式三级构成,如图: 1. 模式(Schema) 模式也称为:逻辑模式,它是DB中全体数据的逻辑结构和特征的描述,是所有⽤户的公共数据视图。模式层是数据库模式结构的中间层, 既不涉及到数据的物理存储细节和硬件环境,也与具体的应⽤程序、应⽤开发⼯具以及⾼级程序设计语⾔⽆关(C、C++、JAVA等)。 模 式就是数据库数据在逻辑上的视图,且⼀个数据库只有⼀个模式。实际⼯作中,模式就等同于程序员创建⼀个具体的数据库的全部操作, 如:这是⼀个MySQL数据库,有2张表,每个表的名字,属性的名字、类型、取值范围,主键,外键,索引,其他完整性约束等等。 DBMS提供模式描述语⾔(模式DDL)来严格地定义模式。 2. 外模式模式也称为:⼦模式(subschema)/⽤户模式,它是数据库⽤户(应⽤程序员、最终⽤户)能够看到的使⽤的局部数据的逻辑结构和特征 的描述,是数据库的数据视图,是与某⼀个应⽤有关的数据的逻辑表⽰。 外模式通常是模式的⼦集。⼀个数据库可以有多个外模式。同⼀ 个外模式可以为某⼀⽤户的多个应⽤系统所使⽤,但⼀个应⽤系统只能使⽤⼀个外模式。 外模式是保证数据库安全性的⼀个有⼒措施。每 个⽤户只能看见和访问所对应的外模式中的数据,数据库中的其余数据是不可见的。 DBMS提供⼦模式描述语⾔(⼦模式DDL)来严格地 定义⼦模式。 3. 内模式模式也称为:存储模式(Storage schema),⼀个数据库只有⼀个内模式。它是数据库物理结构和存储⽅式的描述,是数据在数据库内部 的表⽰⽅式。如:记录的存储⽅式是堆存储,还是按照某些属性值的升(降)存储,还是按照属性值聚簇(cluster)存储;索引按照什么 ⽅式组织,是B+树索引,还是hash索引等等。 DBMS提供内模式描述语⾔(内模式DDL/存储模式DDL)来严格定义内模式三级模式在关系型数据库的对应实现 1. 三级模式数据库系统通常采⽤的结构,但这并不意味着你必须按照三级模式结构设想的那样来编程。这是因为,各种类型数据库 (层次、⽹状、关系)和各个具体数据库三级模式的提供的⽀持是不完善和不⼀致的。 2. 可以看到三级模式都是DDL(Data Definition language)来定义的,那么在RDBMS中三种模式的定义都包含在可以使⽤的DDL语 句中: 1. 外模式(DDL中的Subschema DDL部分) 在RDBMS中就只有⼀个视图(View)来⽀持 当然视图提供的也只是⼀定程度的数据逻辑独⽴性。因为对于视图的更新是有条 件的,因此当应⽤程序有需要修改数据的语句时,仍然不得不去操作基本表。所以如果基本表改变了,那么应⽤程序还是要变… 2. 模式(DDL中的Schema DDL部分) 模式就是基本表,但我觉得除了视图和索引组织⽅式等等之外都是模式的范围。表、字段、索引、存储过程、触发器等等 3. 内模式(DDL中的Storage DDL部分) 内模式是存储⽂件,但存储⽂件的存储⽅式和结构可以被定义,这⼀部分能操作的情况⽐较少,举⼀个例⼦如MySQL中创建 table并且制定使⽤MEMORY引擎、使⽤hash索引 3. ⼆级映像功能和数据的独⽴性 数据库的3级模式是对数据的3个抽象级别。它使得⽤户能够逻辑地抽象地处理数据,⽽不必再去关⼼数据在计算机中的具体表⽰⽅式与存 储⽅式。实际上,为了能够实现在这3个抽象层次之间的联系和转换,DBMS在这三级模式之间设计了两层映像: 外模式/模式映像 模式/内模式映像 这两层映像保证了数据库中的数据能够具有较⾼的逻辑独⽴

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值