关系数据库

以下内容均个人理解,若有出错的地方,请指出,感谢不吝赐教
…………………………………………………………………………

数据库模型

  1. 三级模式
    模式(逻辑模式、概念模式)一个数据库只有一个模式
    外模式(子模式、用户模式)一个数据库可以有多个外模式
    内模式(存储模式)一个数据库只能有一个内模式,他是数据物理结构和存储方式的描述
  2. 二级映像
    外模式/模式映像:逻辑独立性
    模式/内模式映像:物理独立性

关系模型

  • 基本概念
    关系:一张表
    元组:表中的一行
    属性:表中的一列
    码(主键):表中某个属性组,可以唯一确定一张表
    域:属性的取值范围来自某个域(也就是属性的取值范围)
    分量:元组中的一个属性值

关系数据库

  • 基本定义
    域:一组具有相同数据类型的值得集合
    笛卡尔积:域的乘积
    目(度):关系中的列
    候选码:某个属性组的值能唯一标识一个元组,而其他子集不能
    主码:一个关系中有多个候选码,选取其中的一个为主码
    主属性:候选码的所有属性为主属性
    全码:最极端的情况,关系模式的所有属性都是主属性

关系是笛卡尔积的有限子集
关系必须有候选码,不可能出现两行完全相同的属性

关系的完整性

  1. 实体完整性
    限制主属性不为空
  2. 参照完整性
    限制外码的取值:空值or主码的值
  3. 用户定义完整性
    反映用户的需求

关系代数

(关系代数操作以一个或多个关系输入,其结果仍是一个新的关系)
传统的集合运算:并、差、交、笛卡尔积
在这里插入图片描述

要进行传统的集合运算,必须要满足的关系:
关系R和关系S具有相同的目(两个关系都有相同的属性,每一列的属性相同)
相应的属性取自同一个域,t∈R表示t是R的一个元组(t属于R)

并(union)R∪S={t|t∈R∨t∈S}

关系内不能出现相同的行,若有相同的,只保留一个
关键词:或者……或者……

在这里插入图片描述

在这里插入图片描述

差(except)R-S={t|t∈R∧t∉S}

R-S=R-R与S相同的行
R-S与S-R的结果不同
关键词:是……但不含……,除了什么…… ,没有……

在这里插入图片描述
在这里插入图片描述

交(intersection)R∩S={t|t∈R∧t∈S}

R∩S=R与S相同的部分
R∩S=R-(R-S)
关键词:既……又……,……并且……

在这里插入图片描述
在这里插入图片描述

笛卡尔积RxS={trts|tr∈R∧ts∈S}(tr和ts之间的符号实在没找到)

设关系R是x行y列,关系S是m行n列:
RXS=(x*m,y+n)
运算不要求RS具有相同的元素,且他们的对应属性的数据类型也相同
关系运算中花费时间可是是最长的运算

在这里插入图片描述
例:若D1={a1,a2,a3},D2={1,2,3},则D1×D2集合中共有元组9

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

student表
在这里插入图片描述
course表
在这里插入图片描述
sc表(学生选课表)
在这里插入图片描述
选择(selection)σF®={t|t∈R∧F(t)=‘真’}

对行的运算

例:选择19岁的全部学生
在这里插入图片描述
在这里插入图片描述

投影(projection)πA®={t [A] | t∈R}

对列的运算
取出关系中的某些列,并消去重复元组的关系代数运算

例:查询学生的姓名和所在系
在这里插入图片描述
在这里插入图片描述
连接(join)在这里插入图片描述

等值连接
自然连接:内连接,外连接(外连接、左外连接、右外连接)

在这里插入图片描述
等值连接
在这里插入图片描述

自然连接(先等值连接再再去掉相同的列)
在这里插入图片描述

两个关系在没有公共属性时,其自然连接操作表现为笛卡尔积操作

有两个关系R(A,B,C)和S(B,C,D),则R∞S结果的属性个数是4

悬浮元组:自然连接时,选择两个关系在公共属性上值相等的元组构成新的关系。此时,被舍弃的元组称为悬浮元组

如果把悬浮元组也保留在新的关系中,而其他属性上为空值(NULL),那么就把这种连接称为外连接(两边的悬浮元组都保留)
左外连接(只保留左边关系中的悬浮元组)
右外连接(只保留右边关系中的悬浮元组)
在这里插入图片描述
除运算(division)

新的关系包含所有在R但不在S中的属性(T中的属性不包含S的属性,也就是说T的属性只有例题中关系R的A属性),且T的元组与S的元组的所有组合都在R中

关键词:至少包含……

思路1、
在这里插入图片描述

在这里插入图片描述
此时,若将红色的a2改为a1,其结果仍为a1

思路2(象集)
关系R:
a1的象集{(b1,c1),(b1,c2),(b2,c2)}
a2的象集{(b3,c3),(b1,c1)}
关系S(与关系R属性相同的投影)
{(b1,c1),(b1,c2),(b2,c2)}
很显然,只有a1的象集包含S的投影,所以R÷S={a1}

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值