Oracle数据库第三周
Oracle数据库第三周
关系数据库简介
- 提出关系模型的是美国 提出关系模型的是美国IBM公司的 公司的E.F.Codd
- 1970年提出关系数据模型 年提出关系数据模型
- E.F.Codd, “A Relational Model of Data for Large Shared Data Banks”, 《Communication of the ACM》1970
- 之后,提出了关系代数和关系演算的概念
- 1972年提出了关系的第一、第二、第三范式
- 1974年提出了关系的 年提出了关系的BC范式
- 1970年提出关系数据模型 年提出关系数据模型
关系数据库
2.1关系数据结构及形式化定义
2.1.1关系
- 单一的数据结构 单一的数据结构—-关系
- 现实世界的实体以及实体间的各种联系均用关系来表示逻辑结构—二维表
- 从用户角度,关系模型中数据的逻辑结构是一张二维表
- 建立在集合代数的基础上
补充
- 域
- 域是一组具有相同数据类型的值的集合
- 笛卡尔积
- 关系
2.1.2关系模式
1. 什么是关系模式
- 关系模式( 关系模式(Relation Schema)是型
- 关系是值的集合
- 关系模式是对关系的描述
- 元组集合的结构
- 属性构成性构成
- 属性来自的域
- 属性与域之间的映象关系
- 元组语义以及完整性约束条件
- 属性间的数据依赖关系集合
- 元组集合的结构
2. 定义关系模式
关系模式可以形式化地表示为:
表示 | 含义 |
---|---|
R | 关系名 |
U | 组成该关系的属性名集合 |
D | 属性组U中属性所来自的域 |
DOM | 属性向域的映像集合 |
F | 属性间的数据依赖关系集合 |
3. 关系模式与关系
- 关系模式
- 对关系的描述
- 静态的、稳定的
- 关系
- 关系模式在某一时刻的状态或内容
- 动态的、随时间不断变化的
- 关系模式和关系通常统称为关系
- 一般通过上下文加以区别
2.1.3关系数据库
- 关系数据库
- 在一个给定的应用领域中,所有关系的集合构成一个关系数据库
- 关系数据库的型与值
- 关系数据库的型:关系数据库模式(对关系数据库的描述)
- 关系数据库模式包括
- 若干域的定义
- 在这些域上定义的若干关系模式
- 关系数据库的值:关系模式在某一时刻对应的关系的集合,简称为关系数据库
2.2关系操作
2.2.1基本关系操作
常用的关系操作
- 查询:选择、投影、连接、除、并、交、差
- 数据更新:插入、删除、修改
- 查询的表达能力是其中最主要的部分
- 选择、投影、并、差、笛卡尔积是5种基本操作
关系操作的特点
- 集合操作方式:操作的对象和结果都是集合
2.2.2 关系数据库语言的分类
- 关系代数语言
- 用对关系的运算来表达查询要求
- 代表:ISBL
- 关系演算语言:用谓词来表达查询要求
- 元组关系演算语言
- 谓词变元的基本对象是元组变量
- 代表:APLHA ,QUEL
- 域关系演算语言
- 谓词变元的基本对象是域变量
- 代表:QBE
- 具有关系代数和关系演算双重特点的语言
- 代表: SQL(Structured Query Language)
- 元组关系演算语言
2.3 关系的完整性
2.3.1关系的三类完整性约束
- 实体完整性和参照完整性:
- 关系模型必须满足的完整性约束条件称为关系的两个不变性应该由关系系统自动支持。
- 用户定义的完整性:
- 应用领域需要遵循的约束条件,体现了具体领域中的语义约束。
2.3.2 实体完整性
- 规则2.1 实体完整性规则(Entity Integrity)
- 若属性A是基本关系R的主属性,则属性A不能取空值
- 实体完整性规则的说明
- (1) 实体完整性规则是针对基本关系而言的。
- 一个基本表通常对应现实世界的一个实体集。
- (2) 现实世界中的实体是可区分的,即它们具有某种唯一性标识。
- (3) 关系模型中以主码作为唯一性标识。
- (4) 主码中的属性即主属性不能取空值。
- 主属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体,这与第(2)点相矛盾,因此这个规则称为实体完整性
- (1) 实体完整性规则是针对基本关系而言的。
关系代数
关系代数中
- 集合运算符有:并(∪),差(-),交(∩),笛卡尔积(×)
- 专门的关系运算符有:选择(σ),投影(π),连接(▷◁),除(÷)
- 基本关系代数运算是:并(∪),差(-),笛卡尔积(×),投影(π),选择(σ)