三级模式结构:外模式、模式和内模式一、模式(Schema)定义:也称逻辑模式或概念模式,是数据库中全体数据的逻辑结构和特征的描述,反映的是数据库中数据的结构及其联系,是所有用户的公共数据视图。(逻辑:表示是独立于存储的关于数据类型以及它们之间联系的形式表示或描述)理解:①一个数据库只有一个模式;②是数据库数据在逻辑级上的视图;③数据库模式以某一种数据模型为基础;④定义模式时不仅要定义数据的逻辑结构(如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等),而且要定义与数据有关的安全性、完整性要求,定义这些数据之间的联系。DBMS提供模式描述语言(模式DDL)来描述逻辑模式,严格定义数据的名称、特征、相互关系和约束等。二、外模式(ExternalSchema)定义:也称子模式(Subschema)或用户模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。理解:①一个数据库可以有多个外模式;②外模式就是用户视图;③外模式是保证数据安全性的一个有力措施。三、内模式(InternalSchema)定义:也称存储模式(StorageSchema),它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式(例如,记录的存储方式是顺序存储、按照B树结构存储还是按hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定)。DBMS提供内模式描述语言(内模式DDL)来定义内模式,一般由数据库管理人员使用DBMS提供的语言或工具来完成。当然,通常人们不关心内模式的具体技术实现,而是从一般组织的观点(概念模式)或用户的观点(外模式)来讨论数据库的描述。理解:①一个数据库只有一个内模式;②一个表可能由多个文件组成,如:数据文件、索引文件。它是数据库管理系统(DBMS)对数据库中数据进行有效组织和管理的方法其目的有:①为了减少数据冗余,实现数据共享;②为了提高存取效率,改善性能。数据库为什么要采用三级模式呢?答:数据库系统的三级模式是对数据的三个抽象级别,他把数据的具体组织留给DBMS管理,使用户能逻辑的抽象的处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。三级模式的关系模式(概念模式)是数据库的核心与关键内模式依赖于模式,独立于外模式和存储设备外模式面向具体的应用,独立于内模式和存储设备应用程序依赖于外模式,独立于模式和内模式2.3.2两级模式映射及数据独立性数据独立性是数据库系统的一个最重要的目标之一,它使数据能独立于应用程序。可以说数据处理的发展史就是数据独立性不断进化的历史。在手工管理阶段,数据和程序完全交织在一起,没有独立性可言,数据结构作任何改动,应用程序也需要做相应的修改;文件系统出现后,虽然将两者分离,但实际上应用程序中依然要反映文件在存储设备上的组织方法、存取方法等物理细节,因而只要数据作了任何修改,程序仍然需要作改动。而数据库系统的一个重要目标就是要使程序和数据真正分离,使它们能独立发展。数据独立性包括数据的物理独立性和数据的逻辑独立性。物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。即,数据在磁盘上怎样存储由DBMS(DataBaseManagementSystem数据库管理系统)管理,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变。逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,即,当数据的逻辑结构改变时,用户程序也可以不变。数据与程序的独立,把数据的定义从程序中分离出去,加上数据的存取又由DBMS负责,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。