为了降低数据冗余,保证数据的一致性,提高数据的独立性,数据库技术中常采用分级的方法,将数据库系统的结构划分为三个层次——外模式、概念模式、内模式,使不同级别的用户可以根据其角色和工作职能在数据库中观察到相应的数据范围。基于关系模型构建的数据库,其体系结构也可划分为关系外模式、关系概念模式和关系内模式。
关系概念模式是由若干个关系模式组成的集合,描述关系数据库中全部数据的整体逻辑结构。根据关系概念模式构建出来的表称为基本关系。基本关系是实际存在的表,是实际存储数据的逻辑表示。例如,在图3.3所示的选课管理数据库关系概念模式包括以下三个关系模式:
学生( 学号 ,身份证号,姓名,性别,班级,生日)
课程( 课程号 ,课程名,学时,学分)
选修( 学号 , 课程号 ,成绩)
根据这个关系模式集构建出的“学生”关系、“课程”关系和“选修”关系就是基本关系,是选课管理数据库中实际存在的表。
用户访问教务管理系统时,不一定具有访问所有数据的权限。例如,学生只能查看自己所学课程的成绩,而没有权限查看其他同学的成绩;任课老师只能修改自己所教课程以及对应班级学生的成绩,而没有权限修改其他课程相关信息。用户通过查询得到的表称为虚表。虚表中的数据来源于基本关系。例如,计算机概论老师查询选了该课的所有学生成绩,这个查询需要把“课程”关系和“选修”关系中具有相同课程号的元组进行连接,最终得到计算机概论成绩表,如图4.9所示。
图4.9 从基本关系导出查询结果
计算机概论成绩表是虚表。一个用户可以使用的全部“表”和“虚表”,构成这个用户的数据视图,简称为 视图 (View)。视图中所有“表”和“虚表”的框架组成关系数据库的外模式,又称为 关系外模式 。关系外模式是关系概念模式的一个逻辑子集,描述关系数据库中数据的局部逻辑结构。在定义关系外模式时,除了要指出用户所用到的那部分数据外,还要给出关系概念模式与关系外模式之间的映射。
关系内模式是数据文件(包括索引等)的集合,描述数据的物理存储。文件是关系存储的基本组织方式。关系中的元组对应文件中的记录。关系内模式中描述关系概念模式与关系内模式之间的映射。