(求助啊..)数据库三级模式到底是什么啊?
少讲也用SQL 2、3年了,后天要考数据库,看那个书,讲到三级模式,
呜呼....虽然打拼多年,但这个老大难还是搞不定,根本不知道在搞什么啊,
有没有人能帮忙形象化一下?
那个外模式,模式和内模式到底是干什么的啊,说实话,我在用sql的时候根本没考虑过这些问题,照样用的呼啦啦的...现在要考试 .....求一求了.....?
希望大家帮帮我啊.
------解决方案--------------------数据模式是数据库系统中数据结构的一种表示形式,它具有不同的层次与结构方式,数据库系统的三级模式结构最早是在1971年由DBTG给出,1975年列入美国ANSI/X 3/SPARC标准,它是一种数据库系统内部抽象结构体系并具有对构作系统的理论指导价值,这三级模式结构分别是:
1.概念模式(Conceptual Schema)
概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户(应用)公共数据视图,此种描述是一种抽象的描述,它不涉及具体的硬件环境与平台,也与具体的软件环境无关。
概念模式主要描述数据的概念记录类型及数据以及它们间的关系,它还包括一些数据间的语义约束,对它的描述可用DBMS中的DDL语言定义。
2.外模式(External Schema)
外模式也称子模式(Subschema)或称用户模式(User’s schema)它是用户的数据视图,亦即是用户所见到的模式的一个部分,它由概念模式推导而出,概念模式给出了系统全局的数据描述而外模式则给出每个用户的局部描述。一个概念模式可以有若干个外模式,每个用户只关心与它有关的模式,这样可以屏蔽大量无关信息且有利于数据保护,因此对用户极为有利。在一般的DBMS中都提供有相关的外模式描述语言(外模式DDL)。
3.内模式(Internal Schema)
内模式又称物理模式(Physical Schema),它给出了数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及hash等存取方式与存取路径,内模式的物理性主要体现在操作系统及文件级上,它还不深入到设备级上(如磁盘及磁盘操作),但近年来有向设备级发展的趋势(如原始磁盘、磁盘分块技术等),DBMS一般提供相关的内模式描述语言(内模式DDL)。
数据模式给出了数据库的数据框架结构,而数据库中的数据才是真正的实体,但这些数据必须按框架所描述的结构组织,以概念模式为框架所组成的数据库叫概念数据库(Conceptual Database),以外模式为框架所组成的数据库叫用户数据库(user’s Database),以内模式为框架所组成的数据库叫物理数据库(Physical Database),这三种数据库中只有物理数据库是真实存在于计算机外存中,其它两种数据库并不真正存在于计算机中,而是通过两种映射由物理数据库映射而成。
模式的三个级别层次反映了模式的三个不同环境以及它们的不同要求,其中内模式处于最低层,它反映了数据在计算机物理结构中的实际存储形式,概念模式处于中层,它反映了设计者的数据全局逻辑要求,而外模式处于最外层,它反映了用户对数据的要求。
------解决方案--------------------数据库系统的三级模式是对数据的三个级别抽象,它把数据的具体物理实现留给物理模式,使用户与全局设计者能不必关心数据库的具体实现与物理背景,同时,它通过两级映射建立三级模式间的联系与转换,使得概念模式与外模式虽然并不具物理存在,但是也能通过映射而获得其存在的实体,同时两级映射也保证了数据库系统中数据的独立性,亦即数据的物理组织改变与逻辑概念级改变,并不影响用户外模式的改变,它只要调整映射方式而不必改变用户模式。
1.概念模式到内模式的映射
该映射给出了概念模式中数据的全局逻辑结构到数据的物理存储结构间的对应关系,此种映射一般由DBMS实现。
2.外模式到概念模式的映射
概念模式是一个全局模式而外模式则是用户的局部模式,一个概念模式中可以定义多个外模式,而每个外模式是概念模式的一个基本视图。外模式到概念模式的映射给出了外模式与概念模式的对应关系,这种映射一般由DBMS实现。