数据库第三章总结

 3.1关系数据模型和关系数据库

3.1.2 数据操作

传统的关系运算:并、交、差、广义笛卡尔乘积

专门的关系运算:选择、投影、连接、除

有关的数据操作:查询、插入、删除、更改

3.2关系模型的基本术语与形式化定义

3.2.1基本术语

3.2.2形式化定义

笛卡尔积(Cartesian Product):设D1、D2、…、Dn是n个域, 则它们的笛卡尔积为

D1×D2×…×Dn={(d1,d2,…,dn) | di ∈ Di, i=1,2,…,n}

其中每一个元素称为一个n元组(n-tuple), 简称元组;

元组中的每个值di称为一个分量(component).

例子:D1={1,2,3}        D2={4,5}

D1xD2={(1,4)(1,5)(2,4)(2,5)(3,4)(4,5)}

(1,4)是二元组,其中1为分量

笛卡尔积可以写成一个二维表
例如:

设 D1={张三,李四},

D2={数学,语文},

D3={优,良}

则D1×D2×D3可用二维表表示为:

关系(Relation):笛卡尔积的子集
笛卡尔积D1×D2×…×Dn的子集合,记作 R(D1,D2,…,Dn)

R:关系名

n为关系的目或度

数学意义上的关系:可无限个元组,元组元素不可交换
(1)笛卡尔积不满足交换律:元组元素不可交换

即:(d1,d2,…,dn) ≠ (d2,d1,…,dn)

(2)数学意义的关系可以是无限个元组的集合。

数据库的关系:有限的元组,元组元素可交换
数学意义的关系不适合数据库的实际应用,必须做如下限制:

(1)数据库关系模型中的关系必须是有限的元组集合

(2)数据库关系模型中的属性列表的顺序是可交换的,允许任意顺序;具有数据库中关系满足交换律。

4、说明
① 关系是一个二维表。

② 每行对应一个元组。

③ 每列可起一个名字,称为属性。属性的取值范围为一个域,元组中的一个属性值是一个分量。

5、关系的性质
① 列是同质的,即每列中的数据必须来自同一个域

② 每一列必须是不可再分的数据项(不允许表中套表,即满足第一范式)

③ 不能有相同的行

④ 行、列次序无关

二、关系模型
三部分:关系数据结构、关系操作集合、关系的完整性

(一)数据结构

1、单一的数据结构:关系(二维表):记录一个班的人的成绩,一个人为记录,一个人的数据库成绩为字段,一个人的学号、身份证号为关键字
不论是实体还是实体间的联系都用关系表示。

实体值 → 关系的元组,在关系数据库中通常称为记录
属性值 → 元组的分量,在关系数据库中通常称为字段
关键字(码):唯一标识一个元组的属性组
关键字可以有多个,统称候选关键字。

在使用时,通常选定一个作为主关键字。

关键字的诸属性称为主属性,其它为非主属性。

3.3关系代数

3.3.1传统的集合运算

3.3.2专门的关系运算

一、传统的集合运算:并交差笛卡尔积
1、并(Union):R ∪ S = { t | t∈R∨t∈S}

2、交(Intersection):R ∩ S = { t | t∈R∧t∈S}

3、差(Difference): R − S = { t | t∈R∧tS}

4、笛卡尔积(广义): R × S = {  | tr ∈ R ∧ ts ∈ S}

(1) UNION(并):R∪S:相加除同
概念:包含R和S中的所有元组,要求R和S兼容(字段个数、类型[名字]) ,结果模式与R一致。

(2) INTERSECT (交):R∩S:相同的出来
概念:包含R、S中相同的元组,R、S须兼容。

(3) SET-DIFFERENCE(差):R-S:属于R不属于S
概念:包含在R中而不在S中的元组,R、S兼容。

 

 

(4) CROSS-PRODUCT(积):R ×S:如图所示
概念:结果包含R和S中所有字段。如果有相同的字段名

则在结果字段来源的表。也叫“笛卡尔乘积”。

 

说明:

①以上定义中,R、S本身也可以是关系代数表达式;

②由于R∩S=R-(R-S),故R∩S实际上是多余的 。

专门的关系运算
学生-课程数据库:学生Student、课程Course和选修SC

 

选择与投影操作
1、选择:在关系R中选出满足F条件的行形成新的关系
(Selection),又称限制(Restriction),从行的角度的运算

σF(R):在关系R中选出满足条件F的元组形成新的关系。(F:条件表达式)

2、投影:在关系R中选出几列形成新的关系
从列的角度的运算

πA(R):在R中选出若干属性列组成一个新关系。(A:属性组)

投影后若有重复行,则自动保留一个
 

共同点:为一元关系操作符。
选择:从关系实例中选择出满足条件的行。操作符:σ
投影:从关系实例中抽出所需的一列或多列。操作符:π
条件表达式中的比较操作符:>,>=,<,<=,=,≠。

 3、连接(Join)

\Theta连接

等值连接

自然连接

外部链接

半连接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值