第三章总结

1.传统的运算关系:并(union)、交(intersection)、差(difference)、广义迪卡尔积(extended cartesian product)。

专门的关系运算:选择(select)、投影(project)、连接(join)、除(divide)。

有关的数据操作:查询(query)、插入(insert)、删除(delete)、更改(update)。

2.数据完整性约束

在数据库中数据的完整性是指保证数据正确的特征,数据完整性是一种语义概念,它包括两个方面:

1.与现实世界中应用需求的数据的相容性和正确性。

2.数据库内数据之间的相容性和正确性。

3.基本术语

关系(表)

通俗地讲,关系(relation)就是二维表,二维表的名字就是关系的名字。

属性(列)

二维表中的每一个称为属性(attribute),没一个属性有一个名字,称为属性名。n列就是n元。

值域(取值范围)

二维表中属性的范围称为值域(domain)。如性别只能‘男’或‘女’。

元组(行)

二维表中的一行数据称为一个元组(tuple)。

分量(元组中每个属性的值)

元组中的没一个属性值称为元组的一个分量(component),n元关系的每个元组有n个分量。

关系模式(表结构、表头)

二维表的结构称为关系模式(relation schema),或者说关系模式就是二维表的表框架或表头结构。设有关系名R,属性分别是a、b、c、d,则关系模式可以表示为:R(a,b,c,d)。如果将关系模式理解为数据类型,则关系就是该数据类型的一个具体值。

关系数据库

对应于一个关系模型的所有关系的集合称为关系数据库(relation database)。

候选键

如果一个属性或属性集(可以有多个候选键)的值能够唯一标识一个关系的一个元组而又不包含多余的属性,则称该属性或属性集为候选键(candidate key),如学号、身份证。候选键又称为候选关键字或候选码。

主键

当一个关系中有多个候选键时,可以从中选择一个作为主键(primary key)。每个关系只能有一个主键。主键也称为主码或关键字,是表中的属性或属性组,用于唯一地确定一个元组。

主属性与非主属性

包含在任意候选键中的属性称为主属性(primary attribute);不包含任一候选键的属性为非主属性(nonprimary attribute)。

对关系的限定

关系可以看成二维表,但并不是所有二维表都是关系。关系数据库对关系有一些限定,如:

关系中的每个分量都必须是不可再分的最小数据。

表中列的数据类型是固定的,即列中的内一个分量都是相同类型的数据,来自相同的值域。

不同列的数据可以取自相同的值域,每个列称为一个属性,每个属性有不同的属性名。

关系表中列的顺序不重要,即列的次序可以任意交换,不影响其表达的语义。

行的顺序也不重要,交换行数据的顺序也不影响其内容。

同一个关系中的元组不能重复,即在一个关系中,不能有两个元组的值完全相同相同。

关系代数

关系代数是关系操作语言的一种传统的表示方式,它是一种抽象的查询语言,是一种单次关系(或者说是集合)语言。包括运算对象、运算符和运算结果。

关系代数可分为两大类:

传统集合运算:这类运算完全把关系看作元组的集合,包括广义迪卡尔积运算、并运算、交运算、差运算。

专门的关系运算:这类关系除了把关系看作元组的集合以外,还通过运算表达了查询的要求,包括选择、投影、连接、除运算。

传统关系运算

1.并运算

设关系只与S均是n目关系,关系尺与S的并记

为:

R∪S={t∣t∈R∨t∈S}

其结果仍是n目关系,由属于R或S的元组组成。

2. 交运算

设关系R与S均为n目关系,关系尺与S的交记

为:

R∩S={t∣t∈R∧t∈S}

其结果仍是n目关系,由属于R也属于S的元组组

成。

3.差运算

R−S={t∣t∈R∧t∈ / S}

设关系R与S均为n目关系,关系R与S的差运算

其结果仍是n目关系,由属于R且不属于S的元组组成。

广义迪卡尔积

广义迪卡尔积不要求参加运算的两个关系具有相同的目数。

两个分别为m目和n目的关系R和S的广义迪卡尔积是一个有 m+n 个列的元组的集合。元组的前m列是关系R的一个元组,后n个是关系S的一个元组。若R有K1个元组,S有K2个元组,则R和S的广义迪卡尔积有 K1*K2个元组,记为:R×S={ t r t s ^∣t r ∈R∧t s∈S}

其中,  t r t s ^表示有两个元组前后有序连接成的一个元组。

专门的关系运算

选择

投影

连接

θ连接

等值连接

自然连接

外部连接

半连接

除法的一般形式

设关系R(X,Y)和S(Y,Z),其中X、Y、Z为关系的属性组,则:R ( X , Y ) ÷ S ( Y , Z ) = R ( X , Y ) ÷ ∏ Y ( S ) 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值