二、数据库系统结构

数据库系统结构与演变


数据库系统标准结构


DBMS管理数据的三个层次

  • 用户层:某一用户能够看到与处理的数据,全局数据中的某一部分
  • 逻辑层:全局角度理解/管理的数据,含相应的关联约束
  • 物理层:存储在介质上的数据,含存储路径、存储方式、索引方式等

数据 与 数据的结构–模式

  • 模式(Schema)
    • 对数据库中的数据进行的一种结构性的描述
    • 所观察到数据的结构信息

模式例:
学生登记表( 学号 char(8), 姓名 char(10), 性别 Char(2), 出生年月 datetime, 入学日期 Datetime, 家庭住址 Char(40) )

  • 视图/数据
    • 某一种表现形式下表现出来的数据库中的数据
      这里写图片描述

三级模式两层映像

三级模式两层映像

三级模式(三级视图)

  • 外模式
    • 某一用户能够看到与处理的数据的结构描述(一个数据库可以有多个外模式
  • 概念模式(即图中的模式
    • 从全局角度理解/管理的数据的结构描述,含相应的关联约束,体现在数据之间的内在本质联系。(一个数据库只有一个模式
  • 内模式
    • 存储在介质上的数据的结构描述,含存储路径、存储方式、索引方式等(一个数据库只有一个内模式

三级模式在关系型数据库的对应实现

  1. 三级模式是数据库系统通常采用的结构,但这并不意味着你必须按照三级模式结构设想的那样来编程。这是因为,各种类型数据库(层次、网状、关系)和各个具体数据库对三级模式的提供的支持是不完善和不一致的。
  2. 可以看到三级模式都是DDL(Data Definition language)来定义的,那么在RDBMS中三种模式的定义都包含在可以使用的DDL语句中:

    • 外模式(DDL中的Subschema DDL部分)
      在RDBMS中就只有一个视图(View)来支持
      当然视图提供的也只是一定程度的数据逻辑独立性。因为对于视图的更新是有条件的,因此当应用程序有需要修改数据的语句时,仍然不得不去操作基本表。所以如果基本表改变了,那么应用程序还是要变…

    • 模式(DDL中的Schema DDL部分)
      模式就是基本表,但我觉得除了视图和索引组织方式等等之外都是>模式的范围。表、字段、索引、存储过程、触发器等等

    • 内模式(DDL中的Storage DDL部分)
      内模式是存储文件,但存储文件的存储方式和结构可以被定义,这一部分能操作的情况比较少,举一个例子如MySQL中创建table并且制定使用MEMORY引擎、使用hash索引

两层映像

  • E-C 映像
    • 将外模式映射为概念模式,从而支持实现数据概念视图向外部视图的转换
    • 便于用户观察和使用
  • C-I 映像
    • 将概念模式映射为内模式,从而支持实现数据概念视图向内部视图的转换
    • 便于计算机进行存储和处理

两个独立性

  • 逻辑数据独立性
    • 当概念模式变化时,可以不改变外模式(秩序改变 E-C映像),从而无需改变应用程序
  • 物理数据独立性
    • 当内部模式变化时,可以不改变概念模式(秩序改变C-I映像)从而不改变外部模式

数据模型

数据模型是对模式本身结构的抽象,模式是对数据本身结构形式的抽象

数据模型分为:关系数据模型,层次数据模型,网状数据模型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值