• 软考之路(六)---数据库---深入浅出 三层模式两级映像


           在备课数据库的时候,再一次遇到这三个概念,兴奋起来了,这次务必要转化为自己的话说出来,这种知识点,才算理解吧(今后学习也是这样,学习的内容要用自己的话说出来为标准,才算有一定的理解)。

         

           我们首先,谈谈模式的概念,模式为某种事物的标准形式或使人能够照着做的标准样式。这个词用在数据库中,它是由英文的Schema翻译过来的。在数据库管理系统中,其模式是指数据模式(data schema),是数据抽象的结果表示,如用关系模型抽象学生的基本信息表示为:学生(学号,姓名,性别,出生年月,入校年月,专业编号),此表示即为一种数据模式。

           在数据库管理系统中,将数据按三层结构来抽象,这实质上是与数据库的设计步骤密不可分的。

          数据库的设计

          首先应分析现实要求,即做需求分析,需求分析的任务就是通过调查、訪谈、讨论,分析用户的业务流程,从而得出用户的需求,并用数据流程图、数据字典将用户需求描写叙述出来;

          其次,在需求分析的基础上,进行数据库概念设计,这样的设计与详细的数据库管理系统无关,其任务是抽象出各用户所要求的数据视图(相应于外模式概念),最后综合为全局的数据视图(相应于模式概念),用概念数据模型来抽象,可用ER模型或对象模型

           第三步,将用ER模型或对象模型表示的数据视图,转换为关系模式,并对所得关系模式进行优化处理,这就是所谓的数据库逻辑设计(这一步仍然相应于外模式和模式)

           第四步,在逻辑设计的基础上,将所得的数据模式组织存储到物理介质上,这就是数据库的物理设计(这一步相应于内模式)

           最后,就是数据库的安全设计,即同意什么样的用户訪问数据库,以及合法用户訪问数据库中数据的权限等问题。

           



           美国家标准协会(American National Standard Institute,ANSI)的数据库管理系统研究小组于1978年提出了标准化的建议,将数据库结构分为3级:面向用户或应用程序猿的用户级、面向建立和维护数据库人员的概念级、面向系统程序猿的物理级。用户级相应外模式,概念级相应模式,物理级相应内模式,使不同级别的用户对数据库形成不同的视图。所谓视图,就是指观察、认识和理解数据的范围、角度和方法,是数据库在用户“眼中”的反映,非常显然,不同层次(级别)用户所“看到”的数据库是不同样的。

       

    1. 模式
         

           模式又称概念模式或逻辑模式,相应于概念级。它是由数据库设计者综合全部用户的数据,依照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描写叙述,是全部用户的公共数据视图(全局视图,数据库的表,字段的类型等等)。它是由数据库管理系统提供的数据模式描写叙述语言(Data Description Language,DDL)来描写叙述、定义的,体现、反映了数据库系统的总体观。


    2.外模式


          外模式又称子模式,相应于用户级。它是某个或某几个用户所示数据库的数据视图,是与某一应用有关的数据的逻辑表示。外模式是从模式导出的一个子集,包括模式中同意特定用户使用的那部分数据。用户能够通过外模式描写叙述语言来描写叙述、定义相应于用户的数据记录(外模式),也能够利用数据操纵语言(Data Manipulation Language,DML)对这些数据记录进行处理。外模式反映了数据库的用户观(视图、查出数据的表)


    3.内模式


           内模式又称存储模式,相应于物理级,它是数据库中全体数据的内部表示或底层描写叙述,它描写叙述了数据在存储介质上的存储方式及物理结构(顺序存储、依照B树结构存储还是按hash方法存储),相应着实际存储在外存储介质上的数据库。内模式由内模式描写叙述语言来描写叙述、定义,它是数据库的存储观。


           在一个数据库系统中,仅仅有唯一的数据库,因而作为定义、描写叙述数据库存储结构的内模式和定义、描写叙述数据库逻辑结构的模式,也是惟一的,但建立在数据库系统之上的应用则是很广泛、多样的,所以相应的外模式不是惟一的,也不可能是惟一的。


    4.三级模式间的映射(二级映像)


      


           数据库的三级模式是数据库在三个级别 (层次)上的抽象,使用户可以逻辑地、抽象地处理数据而不必关心数据在计算机中的物理表示和存储。实际上,对于一个数据库系统而言,物理级数据库是客观存在的,它是进行数据库操作的基础,概念级数据库中只是是物理数据库的一种逻辑的、抽象的描写叙述(即模式),用户级数据库则是用户与数据库的接口,它是概念级数据库的一个子集(外模式)。


    结合access数据库来形象理解

           模式(或者说逻辑模式,概念模式)相当于access设计视图里对表各个字段名字、数据类型、字段长度等属性的设置,一个数据库能够有非常多表,这些表存在一定的关系,他们共同描写叙述了该数据库的模式(概念模式或逻辑模式);

          外模式(External Schema,子模式或用户模式),相当于access中各个窗口,报表以及数据表视图等等,它的特点就是,每一个外模式相应于一个或多个表中的数据(不是多个模式,由于这些表总起来才干描写叙述一个模式),而我们能够採用不同的形式显示同样的数据,能够用窗口,报表,或数据表视图。大家都知道,access中数据表视图并不等于设计视图,首先它不能改动数据,其次它显示形式能够不同于设计视图(比如格式属性能够设置显示不同于设计)。它是面向用户的,而设计视图则是面向数据库管理员的。

          内模式(Internal Schema)就比較好理解了,它能够理解为access数据库中各个数据在磁盘中的详细组织形式,这个二级公共基础知识第一张讲得非常清楚了,相信大家都明确吧。


    总结

    用户应用程序依据外模式进行数据操作(能够结合三层的思想来理解这个内容)

      通过外模式/模式映射,定义和建立某个外模式与模式间的相应关系,将外模式与模式联系起来,当模式发生改变时,仅仅要改变其映射,就能够使外模式保持不变,相应的应用程序也可保持不变;(逻辑性)

      通过模式/内模式映射,定义建立数据的逻辑结构(模式)与存储结构(内模式)间的相应关系,当数据的存储结构发生变化时,仅仅需改变模式/内模式映射,就能保持模式不变,因此应用程序也能够保持不变。(物理性)


    总的来看,说了这么多,它都在基于分层的思想,解耦的观念深入到各个方面,学习的联系无处不在,多多得与已有的知识关联,学习起来不陌生,也较好的理解、效率也高,网越织越密。

  • 相关阅读:
    学习smali
    android XML解析器全解案例
    android text中显示HTML语言
    Viewpager图片自动轮播,网络图片加载,图片自动刷新
    Android TextView内容过长加省略号,点击显示全部内容
    Android 反编译 代码注入之HelloWorld
    APK软件反编译 去广告
    【HACK】破解APK并注入自己的代码
    apk反编译生成程序的源代码和图片、XML配置、语言资源等文件
    LA 3905 Meteor
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4180170.html
Copyright © 2020-2023  润新知