数据库基础概论知识点笔记(王珊版)——第一章绪论

绪论

介绍数据库系统的基本概念,包括:数据管理技术的发展过程、数据库系统的组成部分等;读者可以学习到:为什么要使用数据库、数据库技术的重要性等。

1.1 数据库系统概述

首先介绍数据库常用的术语和基本概念。

1.1.1 数据库的4个基本概念

  • 数据(data)

    1. 是数据库中存储的基本对象定义:描述事物的符号记录。

      狭义的数据广义的数据
      一串数字文本、图像、图像、音频、视频、学生的档案记录等

      ps:数字是最简单的一种数据。

    2. 数据有多种表现形式(即广义的数据内容,比如文本就是一种表现形式),它们都可以经过数字化后存入计算机。

    3. 数据和关于数据的解释是不可分的。

      数据的解释:即对数据含义(数据语义)的说明。

      原因:比如93是一个数据,其可以是一个同学的某门学科的成绩,也可以是某个人的体重;所以如果没有经过解释,数据即不能完全表达其内容。

    4. 不同的数据组织在一起,可以构成一条记录。

      记录:表示和存储数据的一种格式或一种方法

      比如下表是一个同学的基本信息:

      自然语言(如汉语)计算机
      李明同学,男,1995年5月生,江苏省南京市人,2013年入学。(李明,男,199505,江苏省南京市,2013)

      比如这里把学生的不同信息组织在一起,构成了一条记录,而这个记录就是描述学生的数据;这样的数据是有结构的。

  • 数据库(DataBase,DB)

    1. 存放数据的仓库,按照一定的格式存放。
    2. 定义:是长期存储在计算机内、有组织的、可共享的大量数据的集合。
    3. 数据库中的数据按一定的数据模型组织、描述和存储,具有:较小的冗余度、较高的数据独立性、易扩展型、为各种用户共享。
    4. 特点:永久存储、有组织、可共享。
  • 数据库管理系统(DataBase Management System,DBMS)

    1. 存在的意义:科学地组织和存储数据;高效地获取和维护数据。

    2. 定义:数据库管理系统是位于用户与操作系统之间的一层数据管理软件,它和操作系统一样是计算机的基础软件

    3. 主要功能:

      • 数据定义功能

        提供数据定义语言(DDL),实现对数据库中的数据对象的组成与结构进行定义。

      • 数据组织、存储和管理

        要确定以何种文件结构和存取方式在存储级上组织数据、如何实现数据之间的联系;

        要提高存储空间利用率和方便存取,提供多种存取方法(如索引查找、hash查找、顺序查找等)来提高存取效率。

      • 数据操纵功能

        提供数据操纵语言(DML),实现对数据库的基本操作,如查询、插入、删除和修改等。

      • 数据库的事务管理和运行管理

        确保事务的正确运行,保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。

      • 数据库的建立和维护功能

        包括:

        • 数据库初始数据输入,转换功能
        • 数据库的转储,恢复功能
        • 数据库的重组织功能
        • 数据库的性能监视,分析功能
      • 其他功能

        • 数据库管理系统与网络中其他软件系统的通信功能
        • 一个数据库管理系统与另一个数据库管理系统或文件系统的数据转换功能
        • 异构数据库之间的互访和互操作功能等
  • 数据库系统(DataBase System,DBS)

    1. **定义:**是由数据库、数据库管理系统、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统。
    2. 数据库管理员:全面管理数据库系统;
    3. 数据库管理系统:提供数据的组织、存取、管理和维护等基础功能;
    4. 数据库应用系统:根据应用需求使用数据库。
    5. 不引起混淆的情况下,数据库系统简称为数据库。

1.1.2 数据管理技术的产生和发展

数据管理:对数据进行分类、组织、编码、检索和维护,是数据处理的中心问题;

数据处理:对各种数据进行收集、存储、加工和传播的一系列活动的总和。

  • 人工管理阶段

    1. 特点:
      • 数据不保存
      • 应用程序管理数据
      • 数据不共享
      • 数据不具有独立性
  • 文件系统阶段

    1. 特点:
      • 数据可以长期保存
      • 文件系统管理数据
      • 数据共享性差、冗余度大
      • 数据独立性差
  • 数据库系统阶段

    1. 从文件系统到数据库系统标志这数据管理技术的飞跃
    2. 特点:
      • 数据结构化
      • 数据共享性高、冗余度低且易扩充
      • 数据独立性高
      • 数据由数据库管理系统统一管理和控制

1.2 数据模型

  • 数据库技术是计算机领域中发展最快的技术之一,而数据库技术的发展又是沿着数据模型的主线推进的。

  • 首先思考什么是模型?模型就是对现实世界中某个对象特征的模拟和抽象,看到模型,我们就能联想到真实生活中的事物。

    例如:航模飞机是对生活中飞机的一种模拟和抽象,它可以模拟飞机的起飞、飞行和降落,它抽象了飞机的基本特征——机头、机身、机翼、机尾。

  • 数据模型:是对现实世界数据特征的抽象。换句话说,就是用来描述数据、组织数据和对数据进行操作的。

  • 由于计算机不可能直接处理现实世界中的具体事物,所以我们必须实现把现实中具体的事物转化成计算机能够处理的数据,也就是先要将实物数字化,把现实世界中具体的人、物、活动、概念用数据模型工具来抽象、表示、处理。所以 再通俗一点,数据模型就是现实世界的模拟。

  • 现有的数据库系统软件均是基于某种数据模型或者支持某种数据模型的。数据模型是数据库系统的核心和基础。了解数据模型的基本概念是学习数据库的基础。

1.2.1 两类数据模型

  • 数据模型需满足三方面要求:

    • 能比较真实地模拟现实世界
    • 容易为人所理解
    • 便于在计算机上实现

    ps:但是目前很难有一种数据模型能很好地、全面地满足这三方面要求;因此,在数据库系统中针对不通过的使用对象和应用目的,要采用不同的数据模型。

  • 数据模型种类:(如果按照应用的目的可以分为两大类:概念模型||逻辑模型、物理模型)

    1. 概念模型:又称信息模型,它是按用户的观点来对数据和信息建模,主要用于数据库设计。

    2. 逻辑模型:按计算机系统的观点对数据建模,主要用于数据库管理系统的实现。

      包括:层次模型、网状模型、关系模型、面向对象数据模型、对象关系数据模型、半结构化数据模型等。

    3. 物理模型:对数据最底层的抽象,它描述数据在系统内部的表示方式和存取方式,或在磁盘或磁带上的存储方式和存取方法,是面向计算机系统的。其具体实现是数据库管理系统的任务,数据库设计人员要了解和选择物理模型,但最终用户则不必考虑物理级的细节。

  • 为了把现实世界中的具体事物抽象、组织为某一数据库管理系统支持的数据模型,首先要将现实世界抽象为信息世界,然后将信息世界转化为机器世界。如下图:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PjYMSqkK-1639933333770)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20210819230037781.png)]

    也就是,首先把现实世界中的客观对象抽象为某一种信息结构,这种信息结构并不依赖于具体的计算机系统,不是某一个数据库管理系统支持的数据模型,而是概念级的模型;然后再把概念模型转换为计算机上某一数据库管理系统支持的数据模型。也如上图所示。

    从现实世界到概念模型的转换是由数据库设计人员完成的;从概念模型到逻辑模型的转换可以由数据库设计人员完成,也可以用数据库设计工具协助设计人员完成;从逻辑模型到物理模型的转换主要是由数据库管理系统完成的。

1.2.2 概念模型

由上一节的图里面,我们可以发现,概念模型实际上是现实世界到机器世界的一个中间层次。它用于信息世界的建模,是现实世界到信息世界的第一层抽象。

信息世界中的基本概念
  • 实体(entity)

    1. 定义:客观存在并可相互区别的事物。实体可以是具体的人、事、物,也可以是抽象的概念或联系。

      例如:一个职工、一个学生、部门的一次订货、教师与院系的工作关系。

  • 属性(attribute)

    1. 定义:实体所具有的某一特性。一个实体可以由若干个属性来刻画。

      例如:学生的实体可以由学号、姓名、性别、出生年月、所在院系、入学时间等属性组成;

      ​ 属性组合(201315121,张山,男,199505,计算机系,2013)即表征了一个学生。

  • 码(key)

    1. 定义:唯一标识实体的属性集。

      例如:学号是唯一的,所以学号是学生实体的码。

  • 实体型(entity type)

    1. 定义:用实体名及其属性名集合来抽象和刻画同类实体。因为具有相同属性的实体必然具有共同的特征和性质。

      例如:学生(学号,姓名,性别,出生年月,所在院系,入学时间)就是一个实体型。通俗点可以理解成:实体(属性1,属性2,…,属性n),一个实体型的架构是一样的。

  • 实体集(entity set)

    1. 定义:同一类型实体的集合。

      例如:全体学生就是一个实体集。与实体性比较理解可以这样:实体型是一个框架、模型、一个柜子,而实体集就是可以填充这个柜子的不同东西,比如这是一个水果柜,那么可以放香蕉,也可以放苹果。

  • 联系(relationship)

    1. 现实世界中,事物内部和事物之间均是有联系的。
    2. 分类:
      • 实体(型)内部的联系:指组成实体的各属性之间的联系
      • 实体(型)之间的联系:指不同实体集之间的联系
    3. 实体之间的联系又有一对一、一对多、多对多等多种类型。
概念模型的一种表示方法:实体-联系方法
  • 目前对于概念模型表示方法最常用的是P.P.S.Chen于1976年提出的实体-联系方法(Entity-Relationship)
  • 该方法用**E-R图(E-R diagram)**来描述现实世界的概念模型。
  • E-R方法又称E-R模型

1.2.3 数据模型的组成要素

​ 一般来讲,数据模型是严格定义的一组概念的集合。这些概念精确地描述了系统的静态特性、动态特性和完整性约束条件。因此,数据模型通常由数据结构、数据操作和数据的完整性约束条件三部分组成。

  • 数据结构

    1. 数据结构描述数据库的组成对象以及对象之间的联系:

      一类:与对象的类型、内容、性质有关,如网状模型中的数据项、记录、关系模型中的域、属性、关系等。

      一类:与数据之间联系有关的对象,如网状模型中的系型(set type)。

  • 数据操作

    1. 定义:对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。

    2. 类别:

      • 查询
      • 更新(插入、删除、修改)

      数据模型必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言。

    3. 数据操作是对系统动态特性的描述。

  • 数据的完整性约束条件

    1. 定义:是一组完整性规则
    2. 完整性规则:是给定的数据模型中数据以及联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容。

1.2.4 常用的数据模型

  • 数据库领域中主要的逻辑数据模型有:
    • 层次模型
    • 网状模型
    • 关系模型
    • 面向对象数据模型
    • 对象关系数据模型
    • 半结构化数据模型

1.2.5 层次模型

  1. 是数据库系统中最早出现的数据模型,层次数据库系统采用层次模型作为数据的组织方式。
  2. 层次模型用树形结构来表示各类实体及实体间的联系。比如家族关系、公司权利架构等。
  3. 典型代表:IBM公司的IMS。
层次模型的数据结构
  1. 定义:在数据库中满足下面两个条件的基本层次联系的集合:

    • 有且只有一个结点没有双亲结点,这个结点称为根结点;
    • 根以为的其他结点有且只有一个双亲结点。
  2. 图示:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-owgf0nJr-1639933333772)(file:///D:\文档自建\Tencent Files\2285945891\Image\C2C\Image1\26077700C8B586D77DEA4B16C0C6A31E.png)]

  3. 如图,在层次模型中,每个节点表示一个记录类型,记录类型之间的联系用结点之间的连线(有向边)表示,这种联系是父子之间的一对多的联系。这也使得层次数据库系统只能处理一对多的实体联系

  4. 每个记录类型可包含若干个字段,这里记录类型描述的是实体,字段描述实体的属性。各个记录类型及其子弹都必须命名。各个记录类型、同一记录类型中各个字段不能同名。每个记录类型可以定义一个排序字段,也称码字段,如果定义该排序字段的值是唯一的,则它能唯一地标识一个记录值。

  5. 在层次模型中,同一双亲的子女结点称为兄弟结点(twin或sibling),没有子女结点的结点称为叶结点。

  6. 由图我们可以发现,层次模型像一棵倒立的树,结点的双亲是唯一的

  7. 层次模型的一个特点:任何一个给定的记录值只能按其层次路径查看,没有一个子女记录值能够脱离双亲记录值而独立存在。

  8. 举例小结层次模型:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zI4hcq14-1639933333773)(file:///D:\文档自建\Tencent Files\2285945891\Image\C2C\Image1\25CB35F5D4804CBB3E26558C43731AA9.png)]

层次模型的数据操纵与完整性约束
  1. 层次模型的数据操纵重要有查询、插入、删除和更新。进行插入、删除、更新操作时要满足层次模型的完整性约束条件。
  2. 进行插入操作时,如果没有对应的双亲结点值就不能插入它的子女结点值。例如:如上图1.11,若新调入一名教员,但尚未分配到某个教研室,这时就不能将新教室插入到数据库中。
  3. 进行删除操作时,如果删除双亲结点值,则相应的子女结点值也将被同时删除。例如:在图1.10中,若删除网络教研室,则该教研室所有教员的数据将全部丢失。这也对应了上h4小结的第七点层次模型的特点。
层次模型的优缺点
  • 优点:
    1. 数据结构比较简单清晰。一个倒立的树,拥有一条线的连贯性。
    2. 查询效率高。因为记录之间的联系用的是有向边表示,也就是记录之间的存取路径。这种联系在DBMS中常常用指针来实现,当腰存取某个结点的记录值时,就可以顺着这个路径找到。所以层次数据库的性能优于关系数据库,不低于网状数据库。
    3. 提供了良好的完整性支持
    4. 最突出的优点:对具有一对多层次联系的部门描述非常自然、直观,容易理解。
  • 缺点:
    1. 现实世界中很多联系不具有层次性,如结点之间具有多对多关系(因为层次模型只能处理一对多的实体联系**),不适合使用层次模型表示
    2. 如果一个结点具有多个双亲结点,就不适合使用层次模型表示。
    3. 查询子女结点必须通过双亲结点
    4. 结构严密,层次命令趋于程序化

1.2.6 网状模型

  1. 因为现实世界中事物之间的联系更多的是非层次关系的,而这一点层次模型很难做到,所以诞生了网状模型。
  2. 网状数据库系统采用网状模型作为数据的组织方式。
  3. 典型代表:DBTG系统,亦称CODASYL系统。
网状模型的数据结构
  1. 定义:在数据库中满足下面两个条件的基本层次联系的集合:

    • 允许一个以上的结点无双亲;
    • 一个结点可以有多于一个的双亲。
  2. 图示:

    images.png

  3. 网状模型是一种比层次模型更具普遍性的结构。因为它去掉了层次模型的两个限制:

    • 允许多个结点没有双亲结点
    • 允许结点有多个双亲结点
    • 此外,还允许两个结点之间有多种联系(一般称为复合联系)
  4. 如图,网状模型中,每个节点表示一个记录类型(实体),每个记录类型可以包含若干个字段(实体的属性),结点间的连线表示记录类型(实体)之间一对多的父子联系。

  5. 层次模型中子女结点与双亲结点的联系是唯一的(多对一);而在网状模型中关系可以不唯一。

  6. 举例:

    按照常规语义,一个学生可以选修若干门课程,某一课程可以被多个学生选修,因此学生与课程之间是多对多关系;

    而因为DBTG模型中不能表示记录之间多对多的关系,为此引入一个学生选课的连接记录(作为上述两者的一个桥梁);

    于是将原本的一个多对多关系转换成两个一对多关系。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uNShTLLs-1639933333776)(file:///D:\文档自建\Tencent Files\2285945891\Image\C2C\Image1\F03ACE040E49E5EFFF836F4D79F92D4F.png)]

网状模型的数据操纵与完整性约束
  1. 支持记录码的概念,码指的是唯一标识记录的数据项的集合,例如:学生记录中学号是码,而学号不应该重复;
  2. 保证一个联系中双亲记录和子女记录之间是一对多联系;
  3. 可以支持双亲记录和子女记录之间的某些约束条件。
网状模型的优缺点
  • 优点:

    1. 能够更为直接地描述现实世界,如一个结点可以有多个双亲,结点之间可以有多种联系;
    2. 具有良好的性能,存取效率高。
  • 缺点:

    1. 结构比较复杂,随着应用环境的扩大,数据库结构会越来越复杂;
    2. 网状模型的 DDL,DML 复杂,并且要嵌入某种高级语言中,不容易掌握;
    3. 由于记录之间的联系是通过存取路径实现的,应用程序在访问数据的时候必须选择适当的存取路径,加重了编写程序的负担。

关系模型

  1. 关系模型是最重要的一种数据模型;
  2. 关系数据库系统采用关系模型作为数据的组织方式;
关系模型的数据结构
  1. 从用户观点看,关系模型由一组关系组成。每个关系的数据结构是一张规范化的二维表。

  2. 举例:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r1f1mI57-1639933333777)(file:///D:\文档自建\Tencent Files\2285945891\Image\C2C\Image1\7FEE0B868CBCFDD802D8DAB29FB6D688.png)]

  3. 一些术语:

    • 关系:一个关系对应通常说的一张表。也就是一张表说明了一个关系。
    • 元祖:表中的一行
    • 属性:表中的一列;
    • 属性名:每一个属性的名字,也就是表中每列的名字。比如:上表有6列,对应6个属性。
    • 码:也称码键。关系中的某个属性组,它可以唯一确定一个元祖。也就是表中的一列的值可以确定一行的内容。比如:表中的学号可以唯一确定一个学生。
    • 域:一组具有相同数据类型的值的集合。属性的取值范围来自于某个域
    • 分量:元祖中的一个属性值。
  4. 关系模式:对关系的描述,一般表示为:

    ​ 关系名(属性1,属性2,…,属性n)

    举例:

    ​ 学生(学号,姓名,年龄,性别,系名,年级)

  5. 关系模型要求关系必须是规范化的,即要求关系必须满足一定的规范条件。这些规范条件中最基本的一条就是:关系的每一个分量必须是一个不可分的数据项,也就是说,不允许表中还有表。如下图,工资和扣除就可再分,因此不符合关系模型要求。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wiLIfX5E-1639933333779)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20210831163727972.png)]

  6. 我们还可以对比真实的表来方便我们记忆:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q1Th5d6q-1639933333781)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20210831163801115.png)]

关系模型的数据操纵与完整性约束
  1. 数据操纵主要包括:查询、插入、删除、更新数据
  2. 完整性约束包括:实体完整性、参照完整性、用户定义的完整性(具体内容见后续章节)
  3. 关系模型中的数据操作是集合操作,操作对象和操作结果都是关系,即若干元祖的集合,而不像格式化模型那样单记录的操作方式,也就是修改的是一行行的。
关系模型的优缺点
  • 优点:

    1. 与格式化模型不同,它是建立在严格的数学概念的基础上的
    2. 关系模型的概念单一。无论实体还是实体之间的联系都用关系表示,对数据的检索和更新结果也是关系,所以数据结构简单,清晰,用户易懂易用
    3. 存取路径对用户透明,从而具有更高的数据独立性,更好的安全保密性

    缺点:

    1. 存取路径对用户是隐蔽的,查询效率往往不如格式化数据模型,为了提高性能,必须要对用户的查询请求进行优化

数据库系统的结构

  1. 数据库系统内部的系统结构(从开发角度看):三级模式结构
  2. 外部的体系结构(从使用角度看):单用户结构、主从式结构、分布式结构、客户-服务器、浏览器-应用服务器/数据库服务器多层结构

数据库系统模式的概念

  1. 数据模型中“型”和“值”。型:对某一类数据的结构和属性的说明;值:型的一个具体赋值。

    例如:

    ​ 学生记录定义为(学号,姓名,性别,系别,年龄,籍贯)这样的记录型

    ​ (201315130,李明,男,计算机系,19,江苏省南京市)就是一个记录值

  2. 模式:

    • 定义:是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及型的描述,不涉及具体的值。

    • 模式的一个具体值称为模式的一个实例,同一个模式可以有多个实例。

      比如上面那个学生记录的值可以有很多种,但用的都是同一个模式,也就是用的同一个框架结构(表名)。

      因此,模式是相对稳定的,而实例是相对变动的。模式反映的是数据的结构及其联系,而实例反映的是数据库某一时刻的状态

    • 虽然实际的数据库管理系统产品种类很多,也支持不同的数据模型,使用不同的数据语言,建立在不同的操作系统上,数据的存储结构也不相同;但是,他们在体系结构上通常都具有相同的特征,即采用三级模式结构并提供两级映像功能。

数据库系统的三级模式结构

  1. 数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成的,如下图所示:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UESi0SCi-1639933333783)(file:///D:\文档自建\Tencent Files\2285945891\Image\C2C\Image1\B15182BFDF2F440B3A9DDDEA8AEB652B.png)]

模式
  1. 定义:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
  2. 是数据库系统模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,又与具体的应用程序、所使用的应用开发工具及高级程序设计语言无关。
  3. 模式实际上是数据库在逻辑级上的视图。一个数据库只有一个模式。数据库模式以一种数据名为基础,统一综合地考虑了所用用户的需求,并将这些需求有机地结合成一个逻辑整体。(也就是一个数据库只有一个表,这个表可以让大家直观地看到东西等。)
  4. 定义模式时,不仅要定义数据的逻辑结构,例如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等;而且要定义数据之间的联系,定义与数据有关的安全性、完整性要求
  5. 数据库管理系统提供模式数据定义语言(模式DDL)来严格地定义模式。
外模式
  1. 定义:也称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。(局部数据是什么?举个例子,因为管理员和非管理员的权限是不一样的,所以能看到的表名——也就是逻辑结构和特征也是不一样的)
  2. 外模式通常是模式的子集。一个数据库可以有多个外模式,因为外模式是各个用户的数据视图,如果不同的用户在应用需求、看待数据的方式、对数据保密的要求等方面存在差异,那么就跟第一点说的意义,大家权限不一样,所以外模式的描述就是不一样的。通俗点说:对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同;同一外模式也可以为某一用户的多个应用系统所使用,但一个应用程序只能使用一个外模式。
  3. 数据库管理系统提供外模式数据定义语言(外模式DDL)来严格地定义外模式。
内模式
  1. 定义:也称存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。
  2. 例如:记录的存储方式是堆存储还是按照某个属性值的升序存储。

数据库的二级映像功能与数据独立性

  1. 三级模式是数据的三个抽象级别
  2. 二级映像是为了能够在系统内部实现三个抽象层次的联系和转换。
  3. 二级映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性
外模式/模式映像
  1. 模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。
  2. 对于同一个模式可以有任意多个外模式。
  3. 对于每一个外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系。这些映像定义通常包含在各自外模式的描述中。
  4. 当模式改变(例如增加新的关系、新的属性、改变属性的数据类型等,也就是把表的结构变动了),由数据库管理员对各个外模式/模式的映像作相应改变,可以使外模式保持不变。因为应用程序是依据数据的外模式编写的,从而应用程序就不必修改,这也保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。(逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,即,当数据的逻辑结构改变时,用户程序也可以不变。)
模式/内模式映像
  1. 数据库只有一个模式,也只有一个内模式,所以模式/内模式映像是唯一的。
  2. 它定义了数据全局逻辑结构与存储结构之间的对应关系。例如:说明逻辑记录和字段在内部是如何表示的。
  3. 该映像定义通常包含在模式描述中。
  4. 当数据库的存储结构改变时(例如选用了另一种存储结构),由数据库管理员对模式/内模式映像作相应改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性,简称数据的物理独立性。(物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。即,数据在磁盘上怎样存储由DBMS(DataBase Management System 数据库管理系统)管理,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变。)
总结
  1. 在数据库的三级模式结构中,数据库模式即全局逻辑结构是数据库的中心与关键,它独立于数据库的其他层次。因此设计数据库模式结构时,首先要确定数据库的逻辑模式。
  2. 数据库的内模式依赖于它的全局逻辑结构,但独立于数据库的用户视图,即外模式,也独立于具体的存储设备。它将全局逻辑结构中所定义的数据结构及其联系按照一定的物理存储策略进行组织,以达到较好的时间与空间效率。
  3. 数据库的外模式面向具体的应用程序,它定义在逻辑模式之上,但独立于存储模式和存储设备。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值