日期:2014-05-16  浏览次数:20398 次

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

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

     

       我们首先,谈谈模式的概念,模式为某种事物的标准形式或使人可以照着做的标准样式。这个词用在数据库中,它是由英文的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方法存储),对应着实际存储在外存储介质上的数据库。内模式由内模式描述语言来描述、定义,它是数据库的存储观。


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