数据库模型与语言-2-数据库系统的结构抽象与演变
1. 数据库系统的标准结构
(1)数据库系统的分层抽象?
DBMS管理数据的三个层次:
External Level = User Level
某一用户能够看到与处理的数据, 全局数据中的某一部分
Conceptual Level = Logic level
从全局角度理解/管理的数据, 含相应的关联约束
Internal Level = Physical level 存储在介质上的数据,含存储路径、存储方式 、索引方式等
(2)数据(视图)与模式?
数据 与 数据的结构–模式
模式(Schema)
- 对数据库中数据所进行的一种结构性的描述
- 所观察到数据的结构信息
例如:
学生登记表( 学号 char(8), 姓名 char(10), 性别 Char(2), 出生年月 datetime, 入学日 期 Datetime, 家庭住址 Char(40) )
视图(View)/数据(Data)
例如:
具体数据表格
- 某一种表现形式下表现出来的数据库中的数据
(3)三级模式两层映像?
三级模式(三级视图) :
External Schema —- (External) View 某一用户能够看到与处理的数据的结构描述
(Conceptual) Schema —- Conceptual View 从全局角度理解/管理的数据的结构描述, 含相应的关联约束 体现在数据之间的内在本质联系
Internal Schema —- Internal 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) ,从而不改 变外部模式
2. 数据模型
(1)数据模型的概念?
模式 与 模式的结构:数据模型
数据模型
- 规定模式统一描述方式的模型,包括:数据结构、操作和约束
- 数据模型是对模式本身结构的抽象,模式是对数据本身结构形式的抽象
比如:
关系模型:所有模式都可为抽象表(Table)的形式[数据结构],而每一个具体的 模式都是拥有不同列名的具体的表。对这种表形式的数据有哪些[操作]和[约束]
模式1:
学生登记表( 学号 char(8), 姓名 char(10), 性别 Char(2), 出生年月 datetime, 入学日期 Datetime, 家庭住址 Char(40) )
模式2:
学生成绩单( 学号 char(8), 姓名 char(10), 班级 Char(6), 课程 char(40), 学期 Char(4), 成绩 Number )
模式1和模式2都属于关系模型:
Table/Relation
Relation Calculation Constraints about Table
(2)三大经典数据模型?
- 关系模型:表的形式组织数据
- 层次模型:树的形式组织数据
- 网状模型:图的形式组织数据
(3)关系模型?
关系模型 (表的形式)
(4)层次模型?
层次模型 (树的形式)
(5)网状模型?
网状模型 (图的形式)
3. 数据库系统的演变与发展?
(1)简要发展史
—- 简要发展史:四个阶段
第一阶段:数据库技术探索阶段(59-65/67)
- 研制成功格式文件系统
- 正式提出“Data Base”,并开始进行研究
第二阶段:数据库技术确立阶段(65/68-75)
- 三大数据库:层次、网状及关系数据库相继提出并进行了深入研究
- 商用数据库出现并应用,但多为网状及层次型系统
- 数据库研究形成理论基础:关系数据库理论
第三阶段:数据库技术成熟阶段(76-80s前期)
- 提出了标准化数据库系统结构模型
- 关系DB系统迅速发展:如SQL, QBE, System R ,Ingres等
- 关系理论日臻完善,包括规范化理论,关系语言,RDB的设计与实现,新型关系模型等;
- 数据库应用已十分普及,渗透到社会各个方面,出现众多DB的技术分支,DB走向全面成熟,人称70年代为“数据库的年代”
第四阶段:数据库技术深化发展阶段(85年以来)
- 数据库方法逐步理论化、数据库设计理论不断完善
- 新型数据模型、专用数据模型, 专用型、新型数据库系统,不断涌现
- 数据库技术+其他计算机技术结合 == 面向各行各业的专用数据库
(2)由文件系统到数据库
重要发展:由文件系统到数据库
文件系统
*文件存储空间的管理、目录管理、文件读写管理、文件保护、向用户提供操作接口
-
提供了不同的存取方法(索引文件、链接文件、直 接存取文件、倒排文件等), 支持对文件的基本操作 (增、删、改、查等), 数据存取基本上以记录为单位
-
(优点)用户(程序)不必考虑文件存储的物理细节, 解脱了对物理设备存取 复杂性处理的负担
-
(不足)数据与程序紧密结合,数据的组织及语义紧密依赖于处理该文件的 应用程序,数据结构发生改变则必须修改应用程序,文件之间无联系,文件 的记录之间无联系,共享性差,冗余度大,不一致性高
数据库系统
- 由DBMS统一存取、维护数据组织形式及语义, 可较强地独立于应用程序(数据的物理独立性和逻 辑独立性) * 把数据及数据结构的定义和描述从应用程序中分 离出去,交给DBMS, 使得多个应用程序可共享数 据及数据结构的操作, 数据存取可以记录为单位, 也可以以数据项和记录集合为单位
- 统一的数据控制功能,数据共享程度高: 系统可 自动检查安全性、完整性和并发正确性
- 整体数据结构化,文件(Table)之间、记录之间 相互有关联,数据的冗余度小,易扩充
- 独立于应用程序的高效率查询/统计操作
(3)由层次模型数据库、网状模型数据库到关系数据库
重要发展:由层次模型数据库、网状模型数据库到关系数据库
层次模型与网状模型数据库
- 数据之间的关联关系由复杂的指针系统来维系,结构描述复杂
- 数据检索操作依赖于由指针系统指示的路径
- 逐一记录的操作,不能有效支持记录集合的操作
关系模型数据库
- 数据之间的关联关系由Table中属性的值来表征,结构描述简单: Table/relation
- 数据检索操作不依赖于路径信息或过程信息,支持非过程化的数据操作
- 有效支持记录集合的操作
- 较为完善的理论基础
(4)由关系数据库到对象关系数据库、面向对象数据库
重要发展:由关系数据库到对象关系数据库、面向对象数据库
关系数据库 :
- 按行按列形式组织数据:关系的第1范式
- 数据项的不可再分特性
- 关系运算: 关系代数、元组演算、域演算–标准SQL
- 关系数据库设计理论
对象-关系数据库:
- 可有效支持不满足关系第1范式的数据项
- 以对象来封装需分解的数据项
- 行对象与列对象;聚集对象与结构对象
面向对象数据库 :
- 面向对象技术(O-O)与集合/聚集操作技术(SQL)的结合
- 支持复杂的数据类型,数据封装与抽象数据结构
- 支持面向对象的一些特性:类、继承、封装、多态…
XML数据库:
- 是数据库的另一种形式, 被称为半结构化数据库;
- 数据 与 数据的语义 合并在一起进行存储和处理;
- 面向数据交换而提出, 在互联网世界得到广泛应用.
(5)由多种多样的数据库到多数据库开放式互连
重要发展:由多种多样的数据库到多数据库开放式互连
多种多样的数据库
- Oracle
- Sybase
- Ingres
- DB 2
- MS Access
- Informix
- ……
开放互连多种多样的数据库:
- ODBC
- JDBC
(6)由普通数据库到与各种先进技术结合所形成的新型数据库
重要发展:由普通数据库到与各种先进技术结合所形成的新型数据库
新型数据库:
- OA:DB + Management Information System
- Database Machine :DB + Computer Architecture
- Intelligent Database :DB + Artificial Intelligence
- Distributed Database(DDB) : DB + Computer Network。
- Image Database / Multimedia Database :DB + Image processing / Multimedia processing。
- Temporal Database :DB + 时态技术处理。
- Mobile Database : DB + 移动计算技术。
- Active Database : DB + 产生式规则/触发器技术。
- Fuzzy Database : DB + 模糊处理技术。
- Real-Time Database : DB + 实时处理技术。
- Engineering Database : DB + CAD/CAPP/CAM技术。
- Geographical Databas和空间数据库(Spacial Database) : DB + 数字地图、全球定位、空间分析技术。
- Statistical Database : DB + 统计学。
- Internet Database : DB + Internet/WWW(网页/HTML文档)。
- Data Warehouse/Data Mining : DB + OLAP + 统计学。
- NoSQL
参考资料:
哈尔滨工业大学 战德臣
个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn