第二章:数据库系统的结构抽象与演变
目录
第二章:数据库系统的结构抽象与演变
数据库系统的标准结构
(1)数据库系统的分层抽象 ?
(2)数据(视图)与模式?
(3)三级模式两层映像?
(4)数据库系统的标准结构
(5)两个独立性?
数据模型、模式、数据三者之间区别与关系?
(1)数据模型的概念?
(2)三大经典数据模型
(3)关系模型
(4)层次模型
(5)网状模型
数据库系统的演变与发展
(1)简要发展史
(2)关于第一范式
数据库系统的标准结构
(1)数据库系统的分层抽象 ?
数据库管理系统DBMS管理数据的三个层次:
External Level(外部层次 )= User Level(用户层次) 局部的
某一用户能够看到与处理的数据, 全数据中的某一部分
Conceptual Level(概念层次)= Logic level(逻辑层次) 全局的
从全局角度理解/管理的数据, 含相应的关联约束
Internal Level(内部层次)= Physical level(物理层次)
存储在介质上的数据,含存储路径、存储方式 、索引方式等
(2)数据(视图)与模式?
数据 与 数据的结构 --模式
•模式(Schema)
对数据库中数据所进行的一种结构性的描述
所观察到数据的结构信息
•视图(View)/数据(Data)
某一种表现形式下表现出来的数据库中的数据
模式:对数据的结构性描述
视图:展现的数据
模式是对视图的一种抽象
(3)三级模式两层映像?
三级模式和三级视图 ()内的内容表示可以省略
某一用户能够看到与处理的数据 ---- (External) View
某一用户能够看到与处理的数据的结构描述 ----- External Schema
从全局角度理解/管理的数据 ---- Conceptual View
从全局角度理解/管理的数据的结构描述, 含相应的关联约束体现在数据之间的内在本质联系 ----(Conceptual) Schema
存储在介质上的数据 ---- Internal View
存储在介质上的数据的结构描述,含存储路径、存储方式 、索引方式等 ----Internal Schema
★三级模式就是:外模式,概念模式,内模式
外模式又叫:用户模式,子模式,局部模式
概念模式又叫:逻辑模式,全局模式
内模式又叫:物理模式,存储模式
☆简单只说模式schema指的是全局模式(Conceptual) Schema
简单只说视图view指的是外部视图(External) View
外部视图肯定有很多个
两层映像
E-C Mapping:External Schema-Conceptual Schema Mapping
----将外模式映射为概念模式,从而支持实现数据概念视图向外部视图的转换
----便于用户观察和使用
C-I Mapping:Conceptual Schema-Internal Schema Mapping
----将概念模式映射为内模式,从而支持实现数据概念视图向内部视图的转换
----便于计算机进行存储和处理
(4)数据库系统的标准结构
数据库系统的标准结构 为什么要按照标准结构进行数据库系统的抽象 ?
(5)两个独立性?
逻辑数据独立性
当概念模式变化时,可以不改变外部模式(只需改变E-C Mapping),从而无需改变应用程序物理数据独立性
当内部模式变化时,可以不改变概念模式(只需改变C-I Mapping) ,从而不改变外部模式,不改变应用程序
研究数据库一定要研究数据模型
数据模型、模式、数据三者之间区别与关系?
(1)数据模型的概念?
模式 与 模式的结构:数据模型
•数据模型
• 规定模式统一描述方式的模型,包括:数据结构、操作和约束
• 数据模型是对模式本身结构的抽象,模式是对数据本身结构形式的抽象
比如:
• 关系模型:所有模式都可为抽象表(Table)的形式[数据结构],而每一个具体的模式都是拥有不同列名的具体的表。对这种表形式的数据有哪些[操作]和[约束]
(2)三大经典数据模型
• 关系模型:表的形式组织数据
• 层次模型:树的形式组织数据
• 网状模型:图的形式组织数据
(3)关系模型
(4)层次模型
(5)网状模型
数据库系统的演变与发展
(1)简要发展史
第一阶段:数据库技术探索阶段(59-65/67)
第二阶段:数据库技术确立阶段(65/68-75)
第三阶段:数据库技术成熟阶段(76-80s前期 )
第四阶段:数据库技术深化发展阶段(85年以来 )
DBMS:database management system 数据库管理系统
DBAP:database application 数据库应用
DBA:database administrator 数据库管理员
DML:data manipulation language 数据操作语言 (用来增加,删除,修改,查询数据库中的数据)
DCL:data control language 数据控制语言 (用来控制哪些用户能访问数据,哪些用户无权访问数据)
DDL:data definition language 数据定义语言
其中:DDL,DCL和DML是SQL语言,就是我们后面需要学习的语言(其实可以简单概括为四个字:增删改查)
这部分重要的一句话:数据库中,关系模式可以抽象为表,不同模式拥有不同列名的表。
以后大家在数据库中看到“模式”两个词的时候,如果觉得抽象,可以把它理解为一张表,相对来说就比较好理解,如下表,一个学生信息模式,指的是第一行的各个属性,这些属性是不变的,记住,模式是对数据结构的抽象。
数据库的发展经历了大半个世纪,目前已经日趋成熟。文件系统存储方式目前已经很少使用,不要求大家深究。
(2)关于第一范式
关于“第一范式”的说法,大家理解一下,就是数据库中表的一列数据不可再分,它是一种关系数据库具有的性质。需要注意关系数据库与对象关系数据库的区别(关系数据库没有多值属性)
几个名词需要注意一下
ODBC:open database connection
JDBC: java database connection



