数据库系统基础教程
是长期储存在计算机内的 、 有组织的、可共享的数据 的集合。 的集合。
3
2.数据库管理系统 DBMS - DataBase Management System 是处理数据库访问的软件。 是处理数据库访问的软件。 提供数据库的用户接口。 提供数据库的用户接口。 DBMS的目的: 的目的: 的目的 提供一个可以方便地、 提供一个可以方便地、有效地存取数据库信息的环境
ִ1:1
在联系中,每个C都和唯一的 有关,而在反向 在联系中,每个 都和唯一的 有关, 都和唯一的D有关 在联系中 联系中,每个D都和唯一的 都和唯一的C有关 联系中,每个 都和唯一的 有关
34
Interface Moive{ …… N relationship Set <Star> stars inverse Star :: staredIn; relationship Studio ownedBy N inverse Studio :: owns; }; Interface Star{ …… N relationship Set <Moive> staredIn inverse Moive :: stars; }; Interface Studio{ …… 1 relationship Set <Moive> owns inverse Moive :: ownedBy; };
联系的多重性
ִN:N
在联系中,每个C都和 的集合有关,而在反向 在联系中,每个 都和 的集合有关, 都和D的集合有关 在联系中 联系中,每个D都和 都和C的集合有关 联系中,每个 都和 的集合有关
ִN:1
在联系中,每个C都和唯一的 有关,而在反向 在联系中,每个 都和唯一的 有关, 都和唯一的D有关 在联系中 联系中,每个D都和 都和C的集合有关 联系中,每个 都和 的集合有关
ִ用户关心什么 用户关心什么 ִ用户要什么结果 ִ用户要什么结果
设计概念结构 设计逻辑结构 设计物理结构 物理实现
21
数据库的设计步骤
需求收集和分析 设计概念结构
ִ存什么 存什么 ִ关系(联系)如何 关系( 关系 联系) ִODL或E/R图,是各种数据模型的共同基础 或 图
设计逻辑结构 设计物理结构 物理实现
ִE/R图能方便地描述两个以上实体集间的联系 图能方便地描述两个以上实体集间的联系
Stars Movies
Contracts
Studios
一个制片公司与一位特定的影星签约来演一部特定的电影
41
联系中的角色
ִ实体集在联系中的作用 实体集在联系中的作用 ִ参与联系的实体集互异 参与联系的实体集互异
8
四、数据库模型的发展
几种模型: 几种模型:
ִ基于树的层次模型 基于树的层次模型 定长记录 ִ基于图的网状模型 基于图的网状模型 物理相关、 物理相关、无高级查询语言 ִ基于表的关系模型 基于表的关系模型 物理无关、支持高级查询语言, 物理无关、支持高级查询语言, ִ基于对象的面向对象模型 基于对象的面向对象模型 OO OR
9
关系数据库系统
accountNO 12345 67890 … Balance Type
1000.00 Savings 2846.92 Checking … …
属性
元组
10
关系数据库系统
关查询语言
ִSQL语言 语言 SELECT balance FROM Accounts WHERE accountNO = 67890;
27
面向对象的设计
对象标识 — OID
ִ对象与对象的区别 对象与对象的区别
类
ִ具有相同特性的对象归为一类 ִ具有相同特性的对象归为一类 ִ对象的归并必须有意义 对象的归并必须有意义 ִ属于同一类的对象其特性必须相同 属于同一类的对象其特性必须相同
28
面向对象的设计
对象的三个特性
ִ属性:特性 属性: 属性 ִ联系:引用 联系: 联系 ִ方法:函数 方法: 方法
attribute attribute attribute attribute filmType; }; string title; integer year; integer length; enum Film { color, blackAndWhite }
30
Interface Star { attribute stringname; attribute Struct Addr { string street,string city } address; };
记录结构类型
31
联系
ִ对象的引用 对象的引用 ִ对象的关联 对象的关联 ִ对象集合的引用(1:N) 对象集合的引用( 对象集合的引用 ) Relationship Set < Star > stars; ִ单一对象集合的引用(1:1) 单一对象集合的引用( 单一对象集合的引用 ) Relationship Star starOf;
32
反向联系
ִODL要求显式表示存在的反向联系 要求显式表示存在的反向联系
//Movie Class 的ODL说 Interface Movie { 说 明 attribute stringtitle; attribute integer year; attribute integer length; attribute enum Film { color, blackAndWhite } filmType; relationship Set < Star > stars inverse Star :: starredIn; //Star与Movie 与 的联系 33 };
35
ODL中的类型 中的类型
ִ基本类型 基本类型
原子类型 原子类型 接口类型 接口类型
ִ结构类型,可由以下类型组合而成 结构类型, 结构类型
集合 集合
• 无重复,次序无关 无重复,
包 包
• 可重复,次序无关 可重复,
列表 列表
• 可重复,次序相关 可重复,
数组 数组 结构 结构
36
实体联系图(E/R) §2.2 实体联系图(E/R)
文件方式的问题: 文件方式的问题:
ִ 数据的冗余和不一致 ִ数据访问困难 数据访问困难 ִ数据孤立 数据孤立 ִ完整性问题 完整性问题 ִ原子性问题 原子性问题 ִ并发访问异常 并发访问异常 ִ安全性问题 安全性问题
7
三、为什么用数据库
数据库方法能较好地解决以上的问题
ִ数据的独立性 数据的独立性 ִ有效地访问数据 有效地访问数据 ִ减少应用程序的开发时间 减少应用程序的开发时间 ִ数据的一致性和安全性 数据的一致性和安全性 ִ统一的数据管理 统一的数据管理 ִ并发的数据访问 并发的数据访问
ִ实体集(Entity Set) 实体集( 实体集 )
同类(具有相同类型、相同性质)实体的集合 同类(具有相同类型、相同性质) 同类 对应于 对应于ODL中的类 对应于 中的类 用矩形表示 用矩形表示
37
实体联系图(E/R) §2.2 实体联系图(E/R)
元素
ִ属性(Attribute) 属性( 属性 )
15
DBMS的组成 DBMS的组成
事务管理程序
ִ事务:是用户定义的一个数据库操作序列 事务: 事务 ִ事务的四个特性 事务的四个特性 原子性A 原子性 一致性C 一致性 隔离性I 隔离性 持久性D 持久性
16
DBMS的组成 DBMS的组成
客户-服务器程序体系结构 客户 服务器程序体系结构 浏览器-服务器体系结构 浏览器 服务器体系结构
数据库系统基础教程
A First Course in Database Systems
第一章 数据库系统的世界 The Worlds of Database Systems
• 数据库系统的发展 • 数据库管理系统的结构 • 未来的数据库系统
数据库系统的发展c §1.1 数据库系统的发展c
一、术语 1.数据库 数据库
22
数据库的设计步骤
需求收集和分析 设计概念结构 设计逻辑结构
ִ用什么数据模型 用什么数据模型 ִ数据库的模式(database schema) 数据库的模式( 数据库的模式 ) ִ用户子模式 用户子模式
设计物理结构 物理实现
23
数据库的设计步骤
需求收集和分析 设计概念结构 设计逻辑结构 设计物理结构
4
3.数据库系统 数据库系统
是指在计算机系统中引入数据库后的系统
5
数
最终用户
据 库 系 统 构 成
应用系统 应用开发工具 应用程序员 DBMS 操作系统
数据库
数据库管理员 DBA
6
二、文件系统与数据库系统
保存信息的两种不同方法: 保存信息的两种不同方法:
永久性的系统文件、数据库系统。 永久性的系统文件、数据库系统。
11
§1.2 数据库管理系统的结构
DBMS的组成 的组成
ִ数据、元数据 数据、 数据 ִ存储管理程序 存储管理程序 ִ事务管理程序 事务管理程序 ִ查询处理程序 查询处理程序 模式更新 查询 更新
查询 处理程序 存储 管理程序 数据 元数据
事务 管理程序
12
DBMS的组成 DBMS的组成
数据、 数据、元数据
17
§1.3 未来的数据库系统
客户-服务器程序体系结构 客户 服务器程序体系结构 浏览器-服务器体系结构 浏览器 服务器体系结构
18
第二章 数据库建模 Database Modeling
数据库的设计步骤
需求收集和分析 设计概念结构 设计逻辑结构 设计物理结构 物理实现
20
数据库的设计步骤
需求收集和分析
接口说明