码迷,mamicode.com
首页 > 数据库 > 详细

关系数据库(ch.2)

时间:2018-06-12 21:39:06      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:去重   iat   TE   部分   1.2   元祖   运算   必须   要求   

2.1.1 关系


笛卡儿积
关系
candiate key 如果一组属性值可以唯一的标识一个元祖,但是他的子集不行,那么这是一个候选码
关系可以由三种类型
基本关系
查询关系
视图

为关系附加如下两条定义
无限关系是无意义的,
通过为关系附加一个属性名的方式取消 关系的有序性

基本关系有如下6条性质
列是同质的
不同的列可以取自同一个域
行的顺序无所谓
任意两个元祖的候选码不可以相同
分量必须是原子化的

2.1.2 关系模式

关系模式可以形式化的表现为
R(U,D,ROM,F)
U 是 组成关系的属性集合
D 是 属性所取值的域
ROM 是属性向域的映射集合
F 是属性之间依赖关系的集合

关系模式可以简记成R(U) R(A1,A2..) An 是属性名 , 其他的部分省略

2.2 关系操作

2.2.1 基本关系操作

选择 投影 连接 除 差 并 交 笛卡儿积

基本操作有: 选择 投影 并 差 笛卡儿积 五种

2.2.2 关系语言的分类

代数方式或者逻辑关系来表示

分别称为 关系代数和关系演算

  • 关系代数用对关系的运算来表达查询需求

  • 关系演算用谓词来表示 查询需求

关系演算又按照基本对象是 元组变量还是域变量 分为 元祖关系演算语言 和 域关系演算语言

和具有以上两种关系的语言 SQL

SQL 是集查询, 数据定义语言 数据操作语言, 数据控制语言 DCL 于一体的语言

2.3 关系的完整性

2.3.1 实体完整性

就是null 主属性都不可以为 NULL

2.3.2 参照完整性

就是如果F 是 R的 外码
与 S中的 Ks 相对应
那么 F 可以取空值
非空值要等于S中某一个主码的值

2.4 关系代数

关系代数分为 传统的集合运算和关门的关系运算符两种

2.4.1 传统的集合运算

差 并 交 笛卡儿积(广义的) 4种

2.4.2 专门的关系运算符号

包括 选择 投影 连接 除运算等

选择

选择表达式实际上是从关系 R种选择使得 F 为真的元组
σF(R) ={t | t属于R 并且F(t)=‘真‘}

投影

投影是从R中选出若干属性列组成新的关系。
ΠA(R)={t[a] |t 属于R}

连接

也成为 θ 连接,从两个关系的笛卡尔积中选出满足一定条件的元祖来

θ 是= 的连接被称为等值连接

自然连接是一种特殊的等值连接 ,这要求 进行比较的两个关系中 属性名相等,并且在结果中 除去重复的列

关系R 中有些元组因为对应的 S 中不存在,所以有可能被放弃,变成悬浮元组,(dangline tuple)

保留悬浮元组并且 填上NULL 称为外连接 。 只保留左边和右边 分别是左连接 右连接

除运算

R / S ={Tr[X] | Tr 属于 R 并且Πy(S) 属于Yx}

关系演算

2.5.1 元组关系演算语言 ALPHA

1 检索操作

2.5.2元组关系演算

暂略

关系数据库(ch.2)

标签:去重   iat   TE   部分   1.2   元祖   运算   必须   要求   

原文地址:https://www.cnblogs.com/sfzyk/p/9170689.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!