系统架构师【数据库系统:数据库模式与范式】

本文详细介绍了数据库的结构与模式,包括三级模式(外模式、概念模式、内模式)以及两级独立性(物理独立性和逻辑独立性),阐述了数据库管理系统中数据的逻辑与物理表示如何分离,确保了数据的稳定性和应用的灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.数据库管理系统的类型

当前,许多商业DBMS中所用的主要数据模型仍是关系型数据模型。有些商业系统中实现了对象数据模型,但未得到广泛使用。近几年随着NoSQL技术的兴起,也产生了一些新的数据模型。目前常见的DBMS按数据模型划分,包括:关系型、文档型、键值型、对象型等等。

二.数据库的结构与模式

数据库技术中采用分级的方法将数据库划分为多个层次。最著名的是美国ANSI/SPARC数据库系统研究组1975年提出的三级划分法,如下:
在这里插入图片描述
数据库系统划分为三个抽象级别:用户级、概念级、物理级。

  1. 用户级数据库。用户级数据库 对应于外模式,是最接近用户的一级数据库,是用户可以看到和使用的数据库,又称用户试图。用户级数据库主要由外部记录组成,不同的用户视图可以相互重叠,用户的所有操作都是针对用户视图进行的。
  2. 概念级数据库。概念级数据库对应于概念模型,介于用户级和物理级之间,是所有用户视图的最小并集,是数据库管理员可以看到和使用的数据库,又称DBA视图。概念级数据库由概念记录组成,一个数据库可有多个不同的用户视图,每个用户视图由数据库某一部分的抽象表示所组成。一个数据库应用系统只存在一个DBA视图,它把数据库作为一个整体的抽象表示。概念级模式把用户视图有机地结合成一个整体,综合平衡考虑 所有用户要求,实现数据的一致性、最大限度降低数据冗余、准确地反映数据间的联系。
  3. 物理级数据库。物理级数据库对应于内模式,是数据库的底层表示,它描述数据的实际存储组织,是最接近于物理存储的级别,又称内部视图。物理级数据库由内部记录组成,物理级数据库并不是真正的物理存储,而是最接近于物理存储的级别。

三.三级模式

数据库系统的三级模式分为外模式、概念模式、内模式。

  1. 外模式。用于描述用户看到或者使用的那部分数据的逻辑结构,用户根据外模式用数据操作语句或应用程序去操作数据库中的数据。外模式主要描述组成用户视图的各个记录的组成、相互关系、数据项的特征、数据的安全性和完整性约束条件。
    外模式是数据库用户能够看到和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。一个数据库可有有多个外模式。一个应用程序只能使用一个外模式。

  2. 概念模式。用以描述整个数据库的逻辑结构,描述现实世界中的实体及其性质与联系,定义记录、数据项、数据的完整性约束条件及记录之间的联系,是数据项值的框架。
    数据库系统概念模式通常还包含有访问控制、保密定义、完整性检查等方面的内容,以及概念/物理之间的映射。
    概念模式是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一个概念模式。

  3. 内模式。内模式是整个数据库的最底层表示,不同于物理层,它假设外存是一个无限的线性地址空间。内模式定义的是存储记录的类型、存储域的表示以及存储记录的物理顺序,指引元、索引和存储路径等数据的存储组织。
    内模式是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。
    内模式、模式和外模式之间的关系如下:

    1. 模式是数据库的中心与关键;
    2. 内模式依赖模式,独立于外模式和存储设备;
    3. 外模式面向具体的应用,独立于内模式和存储设备;
    4. 应用程序依赖于外模式,独立于模式和内模式;

四.两级独立性

数据库系统两级独立性是指物理独立性和逻辑独立性。三个抽象级间通过两级映射进行相互转换,使得数据库的三级形成一个统一的整体。

  1. 物理独立性。物理独立性是指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的。当数据的物理存储改变时,应用程序不需要改变。物理独立性存在于概念模式和内模式之间的映射转换,说明物理组织发生变化时应用程序的独立程度。
  2. 逻辑独立性。逻辑独立性是指用户的应用程序与数据库中的逻辑结构是相互独立的。当数据的逻辑结构发生改变时,应用程序不需要改变。逻辑独立性存在于外模式和概念模式之间的映射转换,说明概念模式发生变化时应用程序的独立程度。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值