数据库原理第三节
关系数据模型
关系数据结构
码或键:
属性(属性组)的值
都能用来唯一标识
该关系的元组,则称这些属性为该关系的码或键
超码或超键:
在码中去除某个属性,他仍然是这个关系的码
候选码或候选键:
在码中不能从中移去任何一个属性,否则它就不再是这个关系的码或键。候选码或候选键是这个关系的最小超码或超键
主属性或码属性:
主码或主键:
在若干个候选码中指定一个唯一标识关系的元组(行)
全码或全键:
一个关系模式的所有属性集合是这个关系的主码或主键,这样的主码或主键称为全码或全键
外码或外键:
某个属性不是这个关系的主码或候选码,而是另一个关系的主码
参照关系
和被参照关系
:
参照关系称为从关系,被参照关系称为主关系,它们是指以外码相关联的两个关系
域:
表示属性的取值范围
数据类型:
每个列都有相应的数据类型,它用于限制(或容许)该列中存储的数据
关系模式:
关系模式是型
,关系是值
,即关系模式是对关系的描述。
关系模式是静态的,稳定的
关系是动态的,随时间不断变化的。
关系数据库:
所有关系的集合,构成一个关系数据库
以关系模型作为数据的逻辑模型,并采用关系作为数据组织方式的一类数据库,其数据库操作建立在关系代数的基础上
关系数据库对关系的限定/要求:
- 每一个属性都是不可分解的
- 每一个关系仅仅有一种关系模式
- 每一个关系模式中的属性必须命名,属性名不同
- 同一个关系中不允许出现候选码或候选键值完全相同的元组
- 在关系中元组的顺序是无关紧要的,可以任意交换
- 在关系中属性的顺序是无关紧要的,可以任意交换
基本的关系操作
查询Query:
- 选择
- 投影
- 并
- 差
- 笛卡尔积
从上面的基本的组合: - 连接
- 除
- 交
特点:集合操作方式
关系数据语言的分类
关系代数语言
关系演算语言
- 元组关系演算
- 域关系演算
SQL结构化查询语言
共同特点:具有完备的表达能力,是非过程化的集合操作语言,功能强,能够独立使用也可以嵌入高级语言中使用。
关系代数的运算符
任何一种操作都包含三大要素
- 操作对象
- 操作符
- 操作结果
传统的集合运算
并,差,交,笛卡尔积
专门的关系运算
选择,投影,连接,除
选择:a
select 关系名 where 条件
投影:π
projection 关系名(属性名1,。。。)