1数据视图
数据库中的数据,为了满足各种用户的要求,设计了复杂的数据结构。为了给用户提供简单明了的数据界面,系统必须隐藏数据在数据库内部的结构和存储细节。为此,系统提供三个层次屏蔽系统的复杂性,如图2-1所示。
从不同的角度观察数据库中的数据,就得到不同的数据视图。例如:观察学生数据库,从学生的人事管理部门、教务管理部门和保健部门观察学生的数据,可以看到三个不同的局部的学生数据视图。如果同时观察学生的全部数据记录,就得到学生的全局数据视图。但是这些局部的和全局的数据视图都是学生数据的逻辑视图。在计算机系统内的硬盘上存储的学生数据是数据的物理视图。所以,在数据库中存储的数据具有物理视图和逻辑视图的两个侧面,它们分别被称为物理数据和逻辑数据。而逻辑视图又有局部逻辑视图和全局逻辑视图。因此,数据视图可分为三个层次:
外部层(视图层):数据的局部逻辑视图,是针对局部用户描述的数据库的部分内容,是用户看到的和直接操作的数据视图,也称用户个人视图。
概念层:数据的全局逻辑视图,也称全体用户视图。
内部层:是数据的物理存储层,是数据库的整体内部视图。也称内视图。
对不同的数据视图,有不同的数据描述。物理数据是指存储在计算机存储设备上的数据,对它的描述是指在存储设备上的存储方式。通常用(操作系统)文件结构、文件类型、(文件)记录来描述。逻辑数据是用户或应用程序中操作的数据形式,是数据的抽象的逻辑结构和联系。通常用(逻辑)数据结构、表等描述。用户看到的数据结构和数据与数据库中存储的数据结构和数据是完全不同的,数据库管理系统软件就是要完成物理数据和逻辑数据之间的相互转换工作。
2 数据模式
由于在数据库系统中,用户看到的和直接操作的数据与数据库中存储的数据是完全不同的。因此,用户数据要存放到数据库中,需要按着数据间的逻辑关系进行精确地描述,通过DBMS逻辑数据转换为数据的物理组织结构,存放到外存介质上。在数据库中,对数据(实体)的具体描述称为数据模式。数据模式是用相应的数据模式定义语言DDL(Data
Description Language )来描述的。
与三层数据视图相对应,数据模式也分为三个层次:外部层、概念层和内部层。对应的三种模式为外(子)模式、概念模式和内(物理)模式。
*外模式:对数据库局部逻辑结构的描述。每个应用程序或用户对应不同的外模式。外模式是用户与数据库系统的接口,用户使用数据操纵语言DML语句对数据库进行操作,实际上是对外模式描述的数据进行操作。外模式是概念模式的子集。
例如,读一个学生的姓名、学号和班级三项数据,实际读出的是记录的逻辑表示,而不是在计算机磁盘上存储的物理数据表示。
*概念模式:对数据库全局逻辑结构的描述,也称为逻辑模式。它是数据库所有外模式的联合(UNIN),概念模式包括概念实体的类型、实体之间的联系、数据完整性约束等。
概念模式不牵扯到数据的物理存储结构和访问技术等细节技术。它是外模式和内模式之间的中间环节和隔离层,是保证数据独立性的关键部分。
*内模式:对数据库数据物理存储结构内容的描述。它定义所有的数据存储和访问控制方面的细节,包括记录类型、文件组织方式、索引组织方式等,由DBMS完成概念模式和内模式之间的映射关系。
内模式并不涉及物理记录在磁盘上的任何存储,对物理数据的存储和读取是由操作系统的文件系统实现的。例如,从磁盘中读取数据以及往磁盘中写入数据都是操作系统完成的。
|