三级模式和两级映射

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

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

一丶 数据库的设计

1.需求分析

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

2.数据库概念设计

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

3.数据库逻辑设计

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

           4.数据库的物理设计

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

5.数据库的安全设计

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

二丶三级模式和两级映射

 

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

1. 模式
      

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

理解:

① 一个数据库只有一个模式;

② 是数据库数据在逻辑级上的视图;

③ 数据库模式以某一种数据模型为基础;

④ 定义模式时不仅要定义数据的逻辑结构(如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等),而且要定义与数据有关的安全性完整性要求,定义这些数据之间的联系。

2.外模式


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

理解:

① 一个数据库可以有多个外模式;

② 外模式就是用户视图;

③ 外模式是保证数据安全性的一个有力措施。

 

3.内模式


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

理解:

① 一个数据库只有一个内模式;

② 一个表可能由多个文件组成,如:数据文件、索引文件。

 

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

 

4.两级映射

从上图中可以看到用户应用视图根据外模式进行数据操作,通过外模式一模式映射,定义和建立某个外模式与模式间的对应关系,将外模式与模式联系起来,当模式发生改变时,只要改变其映射,就可以使外模式保持不变,对应的应用程序也可保持不变;

          另一方面,通过模式一内模式映射,定义建立数据的逻辑结构(模式)与存储结构(内模式)间的对应关系,当数据的存储结构发生变化时,只需改变模式一内模式映射,就能保持模式不变,因此应用程序也可以保持不变。

         通过外模式-模式映射和模式-内模式映射这两个映射保证了数据库系统中的数据具有较高的逻辑独立性和物理独立性。

当数据库模式发生变化时,例如关系数据库系统中增加新的关系、改变关系的属性数据类型等,可以调整外模式/模式间的映像关系,保证面向用户的各个外模式不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与应用程序的逻辑独立性,简称数据的逻辑独立性。      
       当数据库中数据物理存储结构改变时,即内模式发生变化,例如定义和选用了另一种存储结构,可以调整模式/内模式映像关系,保持数据库模式不变,从而使数据库系统的外模式和各个应用程序不必随之改变。这样就保证了数据库中数据与应用程序间的物理独立性,简称数据的物理独立性。

 

  • 12
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值