关系数据库

1.关系模型

在用户观点下,关系模型中数据的逻辑结构是一张二维表,由行和列组成。

用表格结构表达实体集,用外键(外码)表示实体间联系。

           

b8c06fb5dfba4bdc243247efd7e701d3.jpg

                

2.基本概念

(1)域

(2)笛卡尔积

给定一组域D1,D2,…,Dn,这些域中可以有相同的。 D1,D2,…,Dn的笛卡尔积为: D1×D2×…×Dn = {(d1,d2,…,dn)|di ∈ Di,i=1,2,…,n} 

所有域的所有取值的一个组合 

不能重复

6da28688cae2d4b1bbb87e786ef575a1.jpg

 

 

(3)关系

D1×D2×…×Dn的子集叫做在域D1,D2,…,Dn上的关系,表示为 R(D1,D2,…,Dn)

R:关系名

n:关系的目或度(Degree)

 

a.关系的表示 ---二维表

b.属性

c.候选码(Candidate key)

若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码

d.主码(Primary key)

若一个关系有多个候选码,则选定其中一个为主码

e.关系的三种类型:基本关系、查询表 、视图表

基本关系具有的性质:

(1)列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。

(2)不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。

(3)列的顺序无所谓,即列的次序可以任意交换。

 

4.完整性约束

(1)实体完整性(Entity integrity)

是指关系的主关键字不能重复也不能取“空值"。如主关键字是多个属性的组合,则所有主属性均不得取空值。

 

(2)参照完整性(Referential Iintigrity)

是定义建立关系之间联系的主关键字与外部关键字引用的约束条件。

 

(3)用户定义完整性(user defined integrity)

则是根据应用环境的要求和实际的需要,对某一具体应用所涉及的数据提出约束性条件。

5.关系运算

常用的关系操作 

查询:选择、投影、连接、除、并、交、差 

数据更新:插入、删除、修改 查询的表达能力是其中最主要的部分 

传统的集合运算是二目运算,包括并、交、差、广义笛卡儿积 

专门的关系运算包括:选择、投影、连接、除4种运算。

dbf6c495032b61bb866d42d14ef8c95a.jpg

关系运算

关系数据库还有一些专门的运算,主要有投影、选择、连接、除法和外连接。

在关系代数中,由五种基本代数操作经过有限次复合的式子称为关系代数运算表达式。表达式的运算结果仍是一个关系。

 

例:关系R和关系S 如下所示,一般连接242dc8959b808baafc2540c1b76d2e04.jpg的结果如下:

5315391ec8c736852f96e61a5cedb891.jpg

 

(2)等值连接(equijoin)

θ为“=”的连接运算称为等值连接

等值连接的含义

从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组,即等值连接为:

9834b6d4a2f29c4c8f7aac6c03281437.jpg

 

(3)自然连接(Natural join)

自然连接是一种特殊的等值连接 

两个关系中进行比较的分量必须是相同的属性组 

在结果中把重复的属性列去掉

自然连接的含义 R和S具有相同的属性组B

2bf307f777ef99ef611158cf6aac3754.gif

(4)外连接(OUTER JOIN)

关系R、S 进行自然连接时,如果把舍弃的元组也保存在结果关系中,而在其他属性上填空值(Null),这种连接就叫做外连接。

(5)左外连接

关系R、S 进行自然连接时,如果只把左边关系R中要舍弃的元组保留就叫做左外连接(LEFT OUTER JOIN或LEFT JOIN)

(6)右外连接

关系R、S 进行自然连接时,如果只把右边关系S中要舍弃的元组保留就叫做右外连接(RIGHT OUTER JOIN)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值