zoukankan      html  css  js  c++  java
  • 数据库系统的基本概念(第一章)-----数据抽象的级别

    数据抽象过程

    根据数据抽象的级别定义了四种模型:

    概念模型:表达用户需求观点的数据全局逻辑结构的模型

    特点:

      1>表达了数据的整体逻辑结构,它是系统用户对整个应用项目涉及的数据的全面描述

      2>从用户需求的观点出发,对数据建模

      3>独立于硬件和软件,即概念模型不依赖于硬件设备和实现时的DBMS软件

      4>是数据库设计人员与用户进行交流的工具     

    逻辑模型:表达计算机实现观点的DB全局逻辑结构的模型(主要有层次、网状、关系模型等三种)

    特点:

      1>表达了DB的整体逻辑结构,但它是设计人员对整个应用项目数据库的全面描述

      2>是从数据库实现的观点出发,对数据进行建模

      3>独立于硬件,但是依赖于软件

      4>是数据库设计人员与应用程序之间进行交流的工具

    层次模型:用树形(层次)结构表示实体类型及实体间联系的数据模型

    特点:

      记录之间的联系通过指针来实现,查询效率高

    缺点:

      1>只能表示1:N联系,虽然系统有多种辅助手段实现M:N联系但比较复杂

      2>由于层次顺序的严格和复杂,引起数据的查询和更新操作很复杂,因此程序的编写也比较复杂

    网状模型:用有向图结构表示实体间联系的数据模型称为网状模型

    特点:

      记录之间的联系通过指针实现,M:N联系也容易实现(一个M:N联系可拆成俩个1:N联系),查询效率较高

    缺点:

      数据结构复杂,编程复杂

    关系模型:用二维表格表达实体集

    特点:

      1>关系模型与层次、网状模型的最大区别使用关键码而不是用指针导航的数据

      2>数据结构简单,用户易懂,只需用简单的查询语句就可以对数据库进行操作,而不涉及村存储结构访问技术等细节

    三种逻辑模型的比较图:

    外部模型:表达用户使用观点的DB局部逻辑结构的模型

     外部模型中的模式称为“视图”(View),视图只是一个定义,视图中的数据可以从逻辑模型的数据库中得到

    特点:

      1>外部模型是逻辑模型的一个逻辑子集

      2>外部模型独立于硬件,依赖于软件

      3>外部模型反应了用户使用数据库的观点

     优点:

      1>简化了用户的观点,只针对具体用户应用需要的数据而设计的,与该用户无关的数据就不必放入,只关心并提取数据库中有用的数据

       2>有助于数据库的安全性保护,用户不能看的数据,不放入外部模型,提高了安全性

      3>是对概念模型的支持

    内部模型:表达DB物理结构的模型

    内部模型又称为物理模型,是数据库最底层的抽象,它描述数据在磁盘或磁带上面的存储方式(文件的结构)、存取设备(外存的空间分配)和存取方法(主索引和辅助索引)

    数据抽象的过程也是数据库设计的过程,具体步骤如下:

    1>根据用户的要求,设计数据库的概念模型,这是一个“综合”的过程

    2>根据转换规则,把概念模型转换成数据库的逻辑模型,这时候一个“转换”的过程

    3>根据用户的业务特点,设计不同的外部模型,给程序员使用,也就是应用程序使用的数据库的外部模型,外部模型与逻辑模型之间的对应称为映像

    4>数据库实现时,要根据逻辑模型设计其内部模型,内部模型与逻辑模型之间的对应性称为映像

     三层模式和两级映像

    三层模式体系结构

    用户(或应用程序)到数据库之间,DB的数据结构有三个层次:外部模型、逻辑模型和内部模型

    数据定义语言(DDL),数据操作语言(DML),数据控制语言(DCL)和事务控制语言(TCL)

    1>外模式是用户与数据库系统的接口,是用户用到的那部分数据的描述

    2>逻辑模式是数据库中全部数据的整体逻辑结构的描述

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

    三层模式体系结构具有以下特点:

      1>用户使用DB的数据操纵语言(DML)语句对数据库进行操作,实际上是对外模式的外部记录进行操作

      2>逻辑模式必须不涉及到存储存储结构,访问技术等细节

      3>内模式并不涉及到物理设备的约束

    两级映像

    由于三层模式的数据结构可能不一致,即记录类型,字段类型的命名和组成可能不一样,需要三层模式之间的映像来说明外部记录,逻辑记录和内部记录之间的对应性

    1>外模式/逻辑模式映像存在于外模式和逻辑模式之间,用于定义外模式和逻辑模式之间的对应性

    2>逻辑模式/内模式映像存在于逻辑模式和内模式之间,用于定义逻辑模式和内模式之间的对应性

    高度的数据独立性

    指应用程序和数据库的数据结构之间相互独立,不受影响,数据独立性分为物理数据独立性和逻辑数据独立性两种

    物理数据独立性

    如果数据库的内模式要修改,即数据库的物理结构有所变化,那么只要对逻辑模式/内模式映像(对应性)作相应的修改,可以是逻辑模式尽可能保持不变

    逻辑数据独立性

    如果数据库的逻辑模式要修改,如增加记录类型或增加数据项,那么只要对外模式/逻辑模式映像作相应的修改,可使外模式和应用程序尽可能保持不变

  • 相关阅读:
    synchronized使用及java中的原子性问题
    Volatile 原理及使用,java并发中的可见性问题
    final 修饰符
    java 常见OPTS参数的含义
    Redis面试题
    Count(1),Count(*),Count(column)区别
    Mysql索引创建及删除
    springboot 非端口模式启动
    sql批量插入缓慢
    sql server sql语句导入数据到execl2007中
  • 原文地址:https://www.cnblogs.com/luxiaojun/p/8297934.html
Copyright © 2011-2022 走看看