数据库的体系结构
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库的体系结构
LEKIBM standardization office【IBM5AB- LEKIBMK08- LEKIBM2C】
数据库的体系结构
1.三级模式结构
数据库的体系结构分为三级:外部级、概念级和内部级(图),这个结构称为数据库的体系结构,有时亦称为三级模式结构或数据抽象的三个级别。虽然现在DBMS的产品多种多样,在不同的操作系统下工作,但大多数系统在总的体系结构上都具有三级结构的特征。
从某个角度看到的数据特性,称为数据视图(Data View)。
外部级最接近用户,是单个用户所能看到的数据特性,单个用户使用的数据视图的描述称为外模式。概念级涉及到所有用户的数据定义,也就是全局性的数据视图,全局数据视图的描述称概念模式。内部级最接近于物理存储设备,涉及到物理数据存储的结构,物理存储数据视图的描述称为内模式。
图三级模式结构
数据库的三级模式结构是对数据的三个抽象级别。它把数据的具体组织留给DBMS去做,用户只要抽象地处理数据,而不必关心数据在计算机中的表示和存储,这样就减轻了用户使用系统的负担。
三级结构之间往往差别很大,为了实现这三个抽象级别的联系和转换,DBMS在三级结构之间提供两个层次的映象(Mapping):外模式/模式映象,模式/内模式映象。这里的模式是概念模式的简称。
数据库的三级模式结构,即数据库系统的体系结构如图所示。
图数据库系统的体系结构
2.三级结构和两级映象
(1)概念模式
概念模式是数据库中全部数据的整体逻辑结构的描述。它由若干个概念记录类型组成,还包含记录间联系、数据的完整性安全性等要求。
数据按外模式的描述提供给用户,按内模式的描述存储在磁盘中,而概念模式提供了连接这两级的相对稳定的中间点,并使得两级中任何一级的改变都不受另一级的牵制。概念模式必须不
涉及到存储结构、访问技术等细节,只有这样,概念模式才能达到物理数据独立性。概念模式简称为模式。
(2)外模式
外模式是用户与数据库系统的接口,是用户用到的那部分数据的描述。外模式由若干个外部记录类型组成。
用户使用数据操纵语言(DML)语句对数据库进行操作,实际上是对外模式的外部记录进行操作。有了外模式后,程序员不必关心概念模式,只与外模式发生联系,按照外模式的结构存储和操纵数据。
(3)内模式
内模式是数据库在物理存储方面的描述,定义所有内部记录类型、索引和文件的组织方式,以及数据控制方面的细节。
(4)模式/内模式映象
模式/内模式映象存在于概念级和内部级之间,用于定义概念模式和内模式之间的对应性。由于这两级的数据结构可能不一致,即记录类型、字段类型的命名和组成可能不—样,因此需要这个映象说明概念记录和内部记录之间的对应性。
模式/内模式映象一般是放在内模式中描述的。
(5)外模式/模式映象
外模式/模式映象存在于外部级和概念级之间,用于定义外模式和概念模式之间的对应性。外模式/模式映象一般是放在外模式中描述的。
3.两级数据独立性
由于数据库系统采用三级模式结构,因此系统具有数据独立性的特点。数据独立性是指应用程序和数据库的数据结构之间相互独立,不受影响。
(1)物理数据独立性
如果数据库的内模式要修改,即数据库的物理结构有所变化,那么只要对模式/内模式映象做相应的修改即可。可以使概念模式尽可能保持不变,也就是对内模式的修改尽量不影响概念模式,当然对于外模式和应用程序的影响更小,这样,称数据库达到了物理数据独立性(简称物理独立性)。
(2)逻辑数据独立性
如果数据库的概念模式要修改,比如增加记录类型或增加数据项,那么只要对外模式/模式映象做相应的修改,可以使外模式和应用程序尽可能保持不变。这样,我们称数据库达到了逻辑数据独立性(简称逻辑独立性)。
4.用户及用户界面
用户是指使用数据库的应用程序或联机终端用户。编写应用程序的语言可以是Cobol、PL/I、C、C++、Java一类高级程序设计语言。在数据库技术中,这些语言称为主语言(Host Language)。
DBMS还提供数据操纵语言DML(Data Manipulation Language),让用户或程序员使用。DML 可自成系统,在终端上直接对数据库进行操作,这种DML称为交互型DML或宿主型DML。用户界面是用户和数据库系统之间的一条分界线,在界限下面,用户是不可知的。用户界面定在外部级上,用户对于外模式是可知的。
数据库的三级模式结构是一个理想的结构,使数据库系统达到了高度的数据独立性。但是它给系统增加了额外的开销。首先,要在系统中保存三级结构、两级映象的内容,并进行管理;其次,用户与数据库之间数据传输要在三级结构中来回转换,增加了时间开销。然而,随着计算机性能的迅速提高和操作系统的不断完善,数据库系统的性能越来越好。在目前现有的DBMS 商品软件中,不同系统的数据独立性是不同的。一般来说,关系数据库在数据独立性方面优于层次、网状系统。