三级模式、两级映像
- 1.绪论思维导图
- 2.数据库系统的三级模式结构
- 2.1.模式
- 2.2.外模式
- 2.3.内模式
- 3.数据库的两级映像功能
- 3.1.外模式/模式映像
- 3.2.模式/内模式映像
- 3.3.对两级映像的理解
1.绪论思维导图
2.数据库系统的三级模式结构
2.1.模式
模式是对数据库系统中全体数据的逻辑结构和特征的描述。
模式介于内模式和外模式之间,并且一个数据库只有一个模式。例如,一个学生数据记录由(学号,姓名,性别,年龄,院系)等数据项组成,这些数据项也成为属性,这种数据的模型就是数据库的模式。
2.2.外模式
外模式也成为子模式或用户模式,通常是模式的子集,是用户能够看见和使用的局部数据的逻辑结构和特征的描述。
通过不同的外模式来满足用户的不同需求,规定了向用户展示哪部分数据。一个数据库中可以有多个外模式,一个应用程序只能对应一种外模式,但一个外模式可以被多个应用程序使用。
外模式就相当于视图,基于同一个数据库,不同的用户有不同的需求。例如学生成绩的数据库,每个学生只能看到自己的成绩,而老师只能看到自己所授课程的学生成绩,辅导员可以查看所有学生的成绩。
2.3.内模式
内模式也称存储模式,一个数据库只有一个内模式,是对数据的物理结构和存储方式的描述
比如,数据是否压缩,是否加密,存储方式是怎样的。规定了数据库以何种方式存储,在内部如何组织数据等等。
3.数据库的两级映像功能
3.1.外模式/模式映像
当模式改变时,由DMA对外模式/模式映像做出改变,使外模式不必修改,因为应用程序是根据外模式编写的,外模式不变应用程序也不用修改,保证了数据与程序的逻辑独立性
3.2.模式/内模式映像
当数据库的存储结构改变时,由DMA对模式/内模式映像做出改变,使模式不变,从而应用程序也不需要改变
3.3.对两级映像的理解
如上图,应用程序对应外模式,外模式对应着模式。当模式发生变化,变为新模式1和新模式2时,这时需要创建一个外模式/模式映像,让其告诉外模式,学号和姓名在新模式1中,院系在新模式2中。通过对外模式/模式映像做出相应改变,使应用程序不必改变,这样就保证了数据与程序的逻辑独立性。同理,模式/内模式映像,在内模式发生改变的情况下,通过改变模式/内模式映像,使模式不必改变,保证了数据与程序的物理独立性。