Page 1
4.2 数据库平台及其技术基础
–
? 4.2.1 数据模型及其发展动态
? 4.2.2 数据库管理系统及其发展动态
? 4.2.3 数据库与数据仓库的设计
? 4.2.4 基于 XML的分布式数据交换与信息共享
Page 2
4.2.1 数据模型及其发展动态
? 用于提供信息表示和操作手段的形式构架 。 通常由三部分组成:
? 数据结构:包括数据对象及其相互联系 。
? 数据操作:主要是对数据的检索和更新 。
? 数据的约束条件:完整性规则的集合 。 完整性规则是指在给定的数据
模型中数据及其联系所具有的制约和依存规则 。
? 数据模型的实质:提供数据的逻辑组织能力, 使人们可以脱离物理的
数据组织存储形态, 更多地从逻辑 ( 语义 ) 含义去理解和应用数据 。
? 发展变化的主要依据, 在于如何更好地表示现实世界的实体及实体间
的关系, 其中实体是静态的, 相对简单和稳定的, 因此数据模型的不
同主要体现在如何表达和处理实体间的关系, 以及技术上的实现 。 其
中, 技术上的实现, 不仅包括关系的存储, 更包括了维护, 查询等所
有相关的处理技术 。
Page 3
数据模型的类别
Hierarchical
Network
Object-Oriented
Relational
Entity
Relation
two-dimensional
tables
a series of
objects
a hierarchical
tree
a network
hierarchical tree
Page 4
1、层次模型
? 采用层次或树形结构来表示实体之间联系的模型叫层次模型 。 在这种
结构中记录之间具有 1,n的关系来构成层次数据模型 。 直观地讲, 层
次数据模型由处于不同层次的各节点和连线组成 。 节点表示记录 。 连
线表示两记录之间的关系, 这种关系只能是 1,n的关系 。 表示 1的记录
为父节点, 表示 n的记录称为子节点 。 树的最高一层上只有一个节点,
称为根 。 根以外的其余节点都有其上一层的节点作为父节点与它相连
,同时可能有一个或多个子节点与它相连 。 没有子节点的节点称为叶
。 层次模型只能描述数据之间一对一或一对多的关系, 其结构像一棵
倒栽的树 。 图 4-12为一个层次模型的实例 。
? 层次模型具有一些固有的完整性约束, 如:除根记录外, 每个记录必
须具有父记录;进行插入操作时, 如果没有相应的父记录存在, 子记
录不能被插入;进行删除操作时, 如果删除父记录, 则其所有子记录
被同时删除等 。
Page 5
层次数据库结构
St,Trinian's Secondary College
- Student Records -
Ms Mary Contrary
(teacher)
Mr Sam Tortoise
(teacher)
Geography Mathematics English
Katharine
Louise
James
Watt
Alice
Dobson
Henrietta
Ford
James
Watt
Alice
Dobson
Alice
Dobson
Dirk
Gently
Henrietta
Ford
One-to-Many
Pointer
Redundancy
Slow
Page 6
2、网状模型
? 网状模型比层次模型更具普遍性 。 它取消了层次模型中树型数据结构
的限制, 允许没有父结点的节点存在, 允许一个结点有多个父结点,
允许两个结点之间有多种联系 。 所以可以说层次模型是网状模型的一
个特例 。 网状模型描述了数据之间的网状关系, 即多对多的关系 。 在
网状模型中, 数据之间的关系允许:有一个以上的结点无父节点;结
点可以有多个父结点 。 其结构如图 5-13所示 。
Page 7
网络数据库结构
St,Trinian's Secondary College
- Student Records -
Ms Mary Contrary
(teacher)
Mr Sam Tortoise
(teacher)
Geography Mathematics English
Katharine
Louise
James
Watt
Alice
Dobson
Henrietta
Ford
Dirk
Gently
Many-to-Many
Pointer
Too many
pointers
Page 8
3,关系模型
? 数据关系是几种模型中最简单的, 但其定义却比较复杂 。 一张二维表
,行代表一个实体, 称为记录;列代表一个属性, 称为数据项 。 记录
的集合称为关系 。 关系具有如下性质:
? 数据项不可再分 ( 即不可表中套表 ) 。
? 关系中的列是同性质的, 称为属性 。 属性之间不能
重名 。
? 关系中不能出现相同的记录, 记录的顺序无所谓 。
? 每个关系都有一个主键, 它能唯一地标识关系中的
一个记录 。
? 关系中列的顺序不重要 。
? 由于关系模型概念简单, 清晰, 用户易懂易用, 有严格的数学基础及
在此基础上发展的关系数据理论, 简化了程序员的工作和数据库开发
建立的工作 。
Page 9
关系数据库结构
ID Title TLast TFirst
T1 Ms Contrary Mary
T2 Mr Tortoise Sam
Table 1,Teachers
SN Subject
N1 Geography
N2 Mathematics
N3 English
Table 2,Subjects
SID SLast SFirst
S1 Louise Katharine
S2 Watt James
S3 Dobson Alice
S4 Ford Henrietta
S5 Gently Dirk
Table 4,Students
ID SN
T1 N1
T1 N2
T2 N3
SID SN
S1 N1
S2 N1
S2 N2
S3 N1
S3 N2
S3 N3
S4 N2
S4 N3
S5 N3
Table 3,Teaching
Flexible
Page 10
如何表达关系
SN Subject
N1 Geography
N2 Mathematics
N3 English
SID SLast SFirst
S1 Louise Katharine
S2 Watt James
S3 Dobson Alice
S4 Ford Henrietta
S5 Gently Dirk
SID SN
S1 N1
S2 N1
S2 N2
S3 N1
S3 N2
S3 N3
S4 N2
S4 N3
S5 N3
Logical
relation
Page 11
关系数据库
? 关系数据库是以关系模型为基础的数据库 。 它利用关系来描述现实世
界 。 关系模型由三部分组成:数据结构, 关系操作集合和关系的完整
性 。
? 数据结构:单一的结构类型即关系来表示 。
? 关系操作:关系代数 ( 或等价的关系演算 ) 中并, 交, 差, 选择, 投
影, 连接等 。 关系模型绘出了关系操作的能力和特点, 但不对 DBMS
的语言给出具体的语法要求 。 关系语言的特点是高度的非过程化 。 其
操作方式的特点是集合操作, 即操作的对象和结果是集合, 称为一次
一集合的方式, 而不是一次一个记录的方式 。
? 关系完整性:实体完整性是保证数据库中记录的唯一性 。 参照完整性
是保证表与表之间语意上的完整性 。 这两种完整性是关系模型必须满
足的约束条件, 应该由关系系统自动支持 。 而用户自定义完整性反映
了用户的要求, 是用户自行定义的 。
Page 12
结构化查询语言( structured query
language,简称 SQL)
? 理论是 1974年提出的, 并在 IBM公司的 System R上实现 。 由于它功能
丰富, 使用方式灵活, 语言简洁易学等优点, 在计算机工业界和用户
中倍受青睐, 很快得以推广 。 后来, 美国国家标准局 ( ANSI) 和国际
标准化组织 ( IS) 先后批准 SQL,作为关系数据库语言的美国及国际标
准 。 至此, SQL成为关系数据库的标准语言 。 关系数据库系统一般都支
持标准 SQL语句, 所以, 尽管当今不同品牌的关系数据库有这样或那样
的差异, 人们都可以通过标准 SQL语句对数据库进行操作, 这就大大减
轻了用户的负担 。
Page 13
SQL的功能
? SQL虽被称为, 查询语言,,其功能却不仅仅是查询。它的功能包括数
据定义、数据操纵、数据库控制、事务控制四个方面,是一个综合、
通用、功能强大的关系数据库语言。其中:
? 数据定义:用于定义和修改数据库对象。如 CREATE TABLE(创
建表),DROP TABLE(删除表)等。
? 数据操纵:对数据的增、删、改和查询操作。如 SELECT(查询
数据),INSERT(插入记录),DELETE(删除记录),UPDATE
(修改数据)等。
? 数据库控制:控制用户对数据库的访问权限。如 GRANT(授予
权利),REVOKE(取消权利)等。
? 事务控制:控制数据库系统事务的运行。如 COMMIT(事务提交
),ROLLBACK(事务撤消)等。
Page 14
4.2.2 数据库管理系统及其发展动态
数据库管理系统的功能
数据库管理系统的结构
数据库管理系统发展动态
Page 15
DBMS的组成
Program 1
Program 1
Program 1
DDL
DML
DCL
DD
DBMS
SQL(Structured
Query Language)
Page 16
数据库管理系统的功能
?数据库定义功能
?数据操纵功能
?数据库运行管理
?数据组织、存储和管理功能
?数据库的建立和维护功能
?其他功能
Page 17
数据库管理系统的系统结构
数据 库
管理器
DML,DCL
处 理器
文件
管理器
物理数据 库
DDL编译 器
数据 库 描述表
并 发 存取控制表
授 权 信息表
用 户查询 应 用程序
数据 库 模式
Page 18
DBMS应用分类矩阵及 2005年市场相对规模
关 系型 DBMS 对 象 -关 系 DBMS
100 150
文件系 统 面向 对 象 DBMS
1
查询
无 查询
简单 数据 复杂 数据
Page 19
4.2.3 数据库与数据仓库的设计
?数据库设计的理论基础
?数据库设计方法
?数据仓库的开发
Page 20
数据建模
Cognitive
World
Design notation
E/R,ODL
Implementation
RDB,OODB
Logical design
Entity,Attribute
Physical design
Record,Field
Real
World
Data
World
DBMS
Store
Retrieve
Share
Page 21
单 位
姓名 借 书证 号
借 书 人
借 书 登 记
图书总编 号
作者 价格
所放位置
分 类 号 书 名
m
n
借 书 日期
Page 22
4.2.4 基于 XML的分布式数据交换与信息共享
?作为数据管理手段的 XML
?XML与数据库技术的综合比较
Page 23
XML与 DBMS相同之处
? 提供数据存储:关系数据以数据库系统为手段, XML以文
件系统为手段;
? 提供对数据的直接存取访问, 两者都不需要用户关心数据
的物理结构;
? 提供数据的模式描述,XML采用 DTD( Document Type
Definition,文档类型定义 ) 或 XML Schema( XML规范 )
来描述数据的逻辑结构;关系数据通过关系模式来描述数
据的逻辑结构;
? 提供应用逻辑接口,XML采用 SAX( Simple API for XML
)和 DOM( Document Object Model)定义应用编程接口
,使应用程序能够访问和更新 XML文档的样式、结构和内
容;关系数据采用 ODBC,JDBC,OLEDB等。
Page 24
综合比较
? 人们在现实中还是习惯用关系数据库管理数据, 绝非仅仅
习惯使然, 更深层的原因是 XML缺乏象关系数据库这样的
有效的数据管理手段, 造成数据存贮管理困难, 检索修改
效率极低, 这同时也是制约 XML技术普及的因素之一,
XML尚不能代替关系数据库 。
? 通过 XML技术降低数据库的使用条件, 可以使其中丰富的
数据资源得到利用 。 并且 XML在异构数据交换方面具有很
大优势 。
? XML和关系数据库分别在数据应用和数据管理方面各有优
势,应是一种相辅相成、扬长避短的关系。
4.2 数据库平台及其技术基础
–
? 4.2.1 数据模型及其发展动态
? 4.2.2 数据库管理系统及其发展动态
? 4.2.3 数据库与数据仓库的设计
? 4.2.4 基于 XML的分布式数据交换与信息共享
Page 2
4.2.1 数据模型及其发展动态
? 用于提供信息表示和操作手段的形式构架 。 通常由三部分组成:
? 数据结构:包括数据对象及其相互联系 。
? 数据操作:主要是对数据的检索和更新 。
? 数据的约束条件:完整性规则的集合 。 完整性规则是指在给定的数据
模型中数据及其联系所具有的制约和依存规则 。
? 数据模型的实质:提供数据的逻辑组织能力, 使人们可以脱离物理的
数据组织存储形态, 更多地从逻辑 ( 语义 ) 含义去理解和应用数据 。
? 发展变化的主要依据, 在于如何更好地表示现实世界的实体及实体间
的关系, 其中实体是静态的, 相对简单和稳定的, 因此数据模型的不
同主要体现在如何表达和处理实体间的关系, 以及技术上的实现 。 其
中, 技术上的实现, 不仅包括关系的存储, 更包括了维护, 查询等所
有相关的处理技术 。
Page 3
数据模型的类别
Hierarchical
Network
Object-Oriented
Relational
Entity
Relation
two-dimensional
tables
a series of
objects
a hierarchical
tree
a network
hierarchical tree
Page 4
1、层次模型
? 采用层次或树形结构来表示实体之间联系的模型叫层次模型 。 在这种
结构中记录之间具有 1,n的关系来构成层次数据模型 。 直观地讲, 层
次数据模型由处于不同层次的各节点和连线组成 。 节点表示记录 。 连
线表示两记录之间的关系, 这种关系只能是 1,n的关系 。 表示 1的记录
为父节点, 表示 n的记录称为子节点 。 树的最高一层上只有一个节点,
称为根 。 根以外的其余节点都有其上一层的节点作为父节点与它相连
,同时可能有一个或多个子节点与它相连 。 没有子节点的节点称为叶
。 层次模型只能描述数据之间一对一或一对多的关系, 其结构像一棵
倒栽的树 。 图 4-12为一个层次模型的实例 。
? 层次模型具有一些固有的完整性约束, 如:除根记录外, 每个记录必
须具有父记录;进行插入操作时, 如果没有相应的父记录存在, 子记
录不能被插入;进行删除操作时, 如果删除父记录, 则其所有子记录
被同时删除等 。
Page 5
层次数据库结构
St,Trinian's Secondary College
- Student Records -
Ms Mary Contrary
(teacher)
Mr Sam Tortoise
(teacher)
Geography Mathematics English
Katharine
Louise
James
Watt
Alice
Dobson
Henrietta
Ford
James
Watt
Alice
Dobson
Alice
Dobson
Dirk
Gently
Henrietta
Ford
One-to-Many
Pointer
Redundancy
Slow
Page 6
2、网状模型
? 网状模型比层次模型更具普遍性 。 它取消了层次模型中树型数据结构
的限制, 允许没有父结点的节点存在, 允许一个结点有多个父结点,
允许两个结点之间有多种联系 。 所以可以说层次模型是网状模型的一
个特例 。 网状模型描述了数据之间的网状关系, 即多对多的关系 。 在
网状模型中, 数据之间的关系允许:有一个以上的结点无父节点;结
点可以有多个父结点 。 其结构如图 5-13所示 。
Page 7
网络数据库结构
St,Trinian's Secondary College
- Student Records -
Ms Mary Contrary
(teacher)
Mr Sam Tortoise
(teacher)
Geography Mathematics English
Katharine
Louise
James
Watt
Alice
Dobson
Henrietta
Ford
Dirk
Gently
Many-to-Many
Pointer
Too many
pointers
Page 8
3,关系模型
? 数据关系是几种模型中最简单的, 但其定义却比较复杂 。 一张二维表
,行代表一个实体, 称为记录;列代表一个属性, 称为数据项 。 记录
的集合称为关系 。 关系具有如下性质:
? 数据项不可再分 ( 即不可表中套表 ) 。
? 关系中的列是同性质的, 称为属性 。 属性之间不能
重名 。
? 关系中不能出现相同的记录, 记录的顺序无所谓 。
? 每个关系都有一个主键, 它能唯一地标识关系中的
一个记录 。
? 关系中列的顺序不重要 。
? 由于关系模型概念简单, 清晰, 用户易懂易用, 有严格的数学基础及
在此基础上发展的关系数据理论, 简化了程序员的工作和数据库开发
建立的工作 。
Page 9
关系数据库结构
ID Title TLast TFirst
T1 Ms Contrary Mary
T2 Mr Tortoise Sam
Table 1,Teachers
SN Subject
N1 Geography
N2 Mathematics
N3 English
Table 2,Subjects
SID SLast SFirst
S1 Louise Katharine
S2 Watt James
S3 Dobson Alice
S4 Ford Henrietta
S5 Gently Dirk
Table 4,Students
ID SN
T1 N1
T1 N2
T2 N3
SID SN
S1 N1
S2 N1
S2 N2
S3 N1
S3 N2
S3 N3
S4 N2
S4 N3
S5 N3
Table 3,Teaching
Flexible
Page 10
如何表达关系
SN Subject
N1 Geography
N2 Mathematics
N3 English
SID SLast SFirst
S1 Louise Katharine
S2 Watt James
S3 Dobson Alice
S4 Ford Henrietta
S5 Gently Dirk
SID SN
S1 N1
S2 N1
S2 N2
S3 N1
S3 N2
S3 N3
S4 N2
S4 N3
S5 N3
Logical
relation
Page 11
关系数据库
? 关系数据库是以关系模型为基础的数据库 。 它利用关系来描述现实世
界 。 关系模型由三部分组成:数据结构, 关系操作集合和关系的完整
性 。
? 数据结构:单一的结构类型即关系来表示 。
? 关系操作:关系代数 ( 或等价的关系演算 ) 中并, 交, 差, 选择, 投
影, 连接等 。 关系模型绘出了关系操作的能力和特点, 但不对 DBMS
的语言给出具体的语法要求 。 关系语言的特点是高度的非过程化 。 其
操作方式的特点是集合操作, 即操作的对象和结果是集合, 称为一次
一集合的方式, 而不是一次一个记录的方式 。
? 关系完整性:实体完整性是保证数据库中记录的唯一性 。 参照完整性
是保证表与表之间语意上的完整性 。 这两种完整性是关系模型必须满
足的约束条件, 应该由关系系统自动支持 。 而用户自定义完整性反映
了用户的要求, 是用户自行定义的 。
Page 12
结构化查询语言( structured query
language,简称 SQL)
? 理论是 1974年提出的, 并在 IBM公司的 System R上实现 。 由于它功能
丰富, 使用方式灵活, 语言简洁易学等优点, 在计算机工业界和用户
中倍受青睐, 很快得以推广 。 后来, 美国国家标准局 ( ANSI) 和国际
标准化组织 ( IS) 先后批准 SQL,作为关系数据库语言的美国及国际标
准 。 至此, SQL成为关系数据库的标准语言 。 关系数据库系统一般都支
持标准 SQL语句, 所以, 尽管当今不同品牌的关系数据库有这样或那样
的差异, 人们都可以通过标准 SQL语句对数据库进行操作, 这就大大减
轻了用户的负担 。
Page 13
SQL的功能
? SQL虽被称为, 查询语言,,其功能却不仅仅是查询。它的功能包括数
据定义、数据操纵、数据库控制、事务控制四个方面,是一个综合、
通用、功能强大的关系数据库语言。其中:
? 数据定义:用于定义和修改数据库对象。如 CREATE TABLE(创
建表),DROP TABLE(删除表)等。
? 数据操纵:对数据的增、删、改和查询操作。如 SELECT(查询
数据),INSERT(插入记录),DELETE(删除记录),UPDATE
(修改数据)等。
? 数据库控制:控制用户对数据库的访问权限。如 GRANT(授予
权利),REVOKE(取消权利)等。
? 事务控制:控制数据库系统事务的运行。如 COMMIT(事务提交
),ROLLBACK(事务撤消)等。
Page 14
4.2.2 数据库管理系统及其发展动态
数据库管理系统的功能
数据库管理系统的结构
数据库管理系统发展动态
Page 15
DBMS的组成
Program 1
Program 1
Program 1
DDL
DML
DCL
DD
DBMS
SQL(Structured
Query Language)
Page 16
数据库管理系统的功能
?数据库定义功能
?数据操纵功能
?数据库运行管理
?数据组织、存储和管理功能
?数据库的建立和维护功能
?其他功能
Page 17
数据库管理系统的系统结构
数据 库
管理器
DML,DCL
处 理器
文件
管理器
物理数据 库
DDL编译 器
数据 库 描述表
并 发 存取控制表
授 权 信息表
用 户查询 应 用程序
数据 库 模式
Page 18
DBMS应用分类矩阵及 2005年市场相对规模
关 系型 DBMS 对 象 -关 系 DBMS
100 150
文件系 统 面向 对 象 DBMS
1
查询
无 查询
简单 数据 复杂 数据
Page 19
4.2.3 数据库与数据仓库的设计
?数据库设计的理论基础
?数据库设计方法
?数据仓库的开发
Page 20
数据建模
Cognitive
World
Design notation
E/R,ODL
Implementation
RDB,OODB
Logical design
Entity,Attribute
Physical design
Record,Field
Real
World
Data
World
DBMS
Store
Retrieve
Share
Page 21
单 位
姓名 借 书证 号
借 书 人
借 书 登 记
图书总编 号
作者 价格
所放位置
分 类 号 书 名
m
n
借 书 日期
Page 22
4.2.4 基于 XML的分布式数据交换与信息共享
?作为数据管理手段的 XML
?XML与数据库技术的综合比较
Page 23
XML与 DBMS相同之处
? 提供数据存储:关系数据以数据库系统为手段, XML以文
件系统为手段;
? 提供对数据的直接存取访问, 两者都不需要用户关心数据
的物理结构;
? 提供数据的模式描述,XML采用 DTD( Document Type
Definition,文档类型定义 ) 或 XML Schema( XML规范 )
来描述数据的逻辑结构;关系数据通过关系模式来描述数
据的逻辑结构;
? 提供应用逻辑接口,XML采用 SAX( Simple API for XML
)和 DOM( Document Object Model)定义应用编程接口
,使应用程序能够访问和更新 XML文档的样式、结构和内
容;关系数据采用 ODBC,JDBC,OLEDB等。
Page 24
综合比较
? 人们在现实中还是习惯用关系数据库管理数据, 绝非仅仅
习惯使然, 更深层的原因是 XML缺乏象关系数据库这样的
有效的数据管理手段, 造成数据存贮管理困难, 检索修改
效率极低, 这同时也是制约 XML技术普及的因素之一,
XML尚不能代替关系数据库 。
? 通过 XML技术降低数据库的使用条件, 可以使其中丰富的
数据资源得到利用 。 并且 XML在异构数据交换方面具有很
大优势 。
? XML和关系数据库分别在数据应用和数据管理方面各有优
势,应是一种相辅相成、扬长避短的关系。