2024年最新数据库系统概论——关系代数详解,view事件分发面试

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

a

2

,

a

m

)

R

(

b

1

,

b

2

,

b

n

)

S

}

R×S={(a_1,a_2,…a_m,b_1,b_2,…b_n)| (a_1,a_2,…a_m) ∈R ∧ (b_1,b_2,…b_n) ∈ S}。

R×S={(a1​,a2​,…am​,b1​,b2​,…bn​)∣(a1​,a2​,…am​)∈R∧(b1​,b2​,…bn​)∈S}。

严格地讲应该是广义的笛卡尔积

  • R

R

R:

n

n

n目关系,

k

1

k_1

k1​个元组

  • S

S

S:

m

m

m目关系,

k

2

k_2

k2​个元组

R

×

S

R×S

R×S

  • 列:

m

n

m+n

m+n列元组的集合

+ 元组的前 
 
 
 
 
 n 
 
 
 
 n 
 
 
 n列是关系 
 
 
 
 
 R 
 
 
 
 R 
 
 
 R的一个元组
+ 后 
 
 
 
 
 m 
 
 
 
 m 
 
 
 m列是关系 
 
 
 
 
 S 
 
 
 
 S 
 
 
 S的一个元组
  • 行:

k

1

×

k

2

k_1×k_2

k1​×k2​个元组
在这里插入图片描述
具体如下图所示:
在这里插入图片描述

1.2 专门的关系运算

在讲解之前,我们先引入几个记号,这样有助于下面的理解,确实关系代数后半部分有点难理解。
**(1)

R

,

t

R

,

t

[

A

i

]

R,t\in R,t[A_i]

R,t∈R,t[Ai​]**
设关系模式为

R

(

A

1

A

2

A

n

)

R(A_1,A_2,…,A_n)

R(A1​,A2​,…,An​),它的一个关系设为

R

R

R,

t

R

t\in R

t∈R表示

t

t

t是

R

R

R的一个元组,

t

[

A

i

]

t[A_i]

t[Ai​]则表示元组t中相应于属性

A

i

A_i

Ai​的一个分量。

(2)

t

r

t

s

\overbrace{t_rt_s}

tr​ts​

​ ,

R

R

R为

n

n

n目关系,

S

S

S为

m

m

m目关系。

t

r

R

t

s

S

t

r

t

s

t_r\in R,t_s\in S, \overbrace{t_r t_s}

tr​∈R,ts​∈S,tr​ts​

​称为元组的连接。

t

r

t

s

\overbrace{t_r t_s}

tr​ts​

​是一个

n

m

n + m

n+m列的元组,前

n

n

n个分量为

R

R

R中的一个

n

n

n元组,后

m

m

m个分量为

S

S

S中的一个

m

m

m元组。
(3)象集

Z

x

Z_x

Zx​
给定一个关系

R

X

,

Z

R(X,Z)

R(X,Z),

X

X

X和

Z

Z

Z为属性组。当

t

[

X

]

=

x

t[X]=x

t[X]=x时,

x

x

x在

R

R

R中的象集(Images Set)为:

Z

x

=

t

[

Z

]

t

R

t

[

X

]

=

x

Z_x={t[Z]|t \in R,t[X]=x}

Zx​=t[Z]∣t∈R,t[X]=x

它表示

R

R

R中属性组

X

X

X上值为

x

x

x的诸元组在

Z

Z

Z上分量的集合。

举例如下:
在这里插入图片描述
上面抽象的例子可能并不是特别容易理解,那么我们就拿生活中的实际例子进行解释:

学生-课程-选修关系:
学生关系Student、课程关系Course和选修关系SC

在这里插入图片描述
在上面的关系表中,我们可以把SC表看作一个关系R,它的属性组为学号,课程号以及成绩,即

R

(

S

n

o

,

C

n

o

,

G

r

a

d

e

)

R(Sno, Cno, Grade)

R(Sno,Cno,Grade)。这时我们将SC表与上面那个例子对比可以看出,Sno为200215121的学号在关系R(SC表)中的象集为

S

n

o

200215121

=

{

1

2

3

}

Sno_{200215121}={1,2,3}

Sno200215121​={1,2,3},以此类推,这样就比较容易理解一点。

1.2.1 选择运算
  • 选择又称为限制

  • 选择运算符的含义

    • 关系R上的选择操作是根据某些条件对关系R做水平分割,即从行的角度选择符合条件的元组。
  • 在关系R中选择满足给定条件的诸元组

    • 记作:

    σ

    F

    R

    =

    {

    t

    t

    R

    F

    (

    t

    )

    =

    ‘真’

    }

    σF(R)={t|t∈R∧F(t)=‘真’}

    σF(R)={t∣t∈R∧F(t)=‘真’}

  • F:选择条件,是一个逻辑表达式,取逻辑值“真”或“假”。

  • 选择运算是从关系R中选取使逻辑表达式F为真的元组,是从行的角度进行的运算

在这里插入图片描述

F:选择条件,是一个逻辑表达式

  • 基本形式为:

X

1

θ

Y

1

X_1θY_1

X1​θY1​

  • θ

θ

θ:比较运算符

(>,

,<,

,=或

<

(>,≥,<,≤,=或<>)

(>,≥,<,≤,=或<>)

  • X

1

Y

1

X_1,Y_1

X1​,Y1​:属性名、常量、简单函数.

  • 属性名也可以用它的序号来代替;

以最上面的学生-课程-选修关系表举例说明更好理解:

[例1] 查询信息系(IS系)全体学生

σ

S

d

e

p

t

=

I

S

(

S

t

u

d

e

n

t

)

σ

5

=

I

S

(

S

t

u

d

e

n

t

)

σ_{Sdept} = ‘IS’ (Student) 或 σ_5 =‘IS’(Student)

σSdept​=′IS′(Student)或σ5​=′IS′(Student)

结果:
在这里插入图片描述

[例2] 查询年龄小于20岁的学生

σ

S

a

g

e

<

20

(

S

t

u

d

e

n

t

)

σ

4

<

20

(

S

t

u

d

e

n

t

)

σ_{Sage< 20}(Student) 或 σ_{4 < 20}(Student)

σSage<20​(Student)或σ4<20​(Student)

结果:
在这里插入图片描述

1.2.2 投影(Projection)

投影运算符的含义:

  • 从R中选择出若干属性列组成新的关系

    • π

    A

    (

    R

    )

    =

    t

    [

    A

    ]

    t

    R

    π_A® = { t[A] | t \in R }

    πA​®=t[A]∣t∈R

    • A:R中的属性列

投影操作主要是从列的角度进行运算:
在这里插入图片描述
但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行)

举例说明一下:
[例3] 查询学生的姓名和所在系
即求Student关系上学生姓名和所在系两个属性上的投影

π

S

n

a

m

e

S

d

e

p

t

(

S

t

u

d

e

n

t

)

π

2

5

(

S

t

u

d

e

n

t

)

π_{Sname,Sdept}(Student) 或 π_{2,5}(Student)

πSname,Sdept​(Student)或π2,5​(Student)

结果:
在这里插入图片描述
[例4] 查询学生关系Student中都有哪些系

π

S

d

e

p

t

(

S

t

u

d

e

n

t

)

π_{Sdept}(Student)

πSdept​(Student)

结果:
在这里插入图片描述
由此可见,使用投影操作可以将关系表中的列单独拿出来组成新的关系表,这样方便我们可以更加清楚的查看自己想要的信息。

1.2.3 连接(Join)

连接也称为

θ

θ

θ连接

连接运算的含义:
从两个关系的笛卡尔积中选取属性间满足一定条件的元组
在这里插入图片描述
连接运算从

R

S

R和S

R和S的广义笛卡尔积

R

×

S

R×S

R×S中选取(

R

R

R关系)在

A

A

A属性组上的值与(

S

S

S关系)在

B

B

B属性组上值满足比较关系

θ

θ

θ的元组

举例说明一下:
[例5]关系R和关系S 如下所示:
在这里插入图片描述
在这里插入图片描述

1.2.4 两类常用连接运算

(1)等值连接(equijoin)

  • 什么是等值连接?
    • θ为“=”的连接运算称为等值连接
  • 等值连接的含义
    • 从关系R与S的广义笛卡尔积中选取A、B属性值相等的
      那些元组,即等值连接为:
      在这里插入图片描述
      举例说明:
      在这里插入图片描述
      在这里插入图片描述

(2)自然连接(Natural join)

  • 自然连接是一种特殊的等值连接
    • 两个关系中进行比较的分量必须是相同的属性组
    • 在结果中把重复的属性列去掉
  • 自然连接的含义
    • R和S具有相同的属性组B

在这里插入图片描述
举例:
在这里插入图片描述
在这里插入图片描述
一般的连接操作是从行的角度进行运算。
在这里插入图片描述
自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。

1.2.5 除(Division)

给定关系

R

(

X

Y

)

R (X,Y)

R(X,Y)和

S

(

Y

Z

)

S (Y,Z)

S(Y,Z),其中

X

Y

Z

X,Y,Z

X,Y,Z为属性组。

R

R

R中的

Y

Y

Y与

S

S

S中的

Y

Y

Y可以有不同的属性名,但必须出自相同的域集。

R

R

R与

S

S

S的除运算得到一个新的关系

P

(

X

)

P(X)

P(X),

P

P

P是

R

R

R中满足下列条件的元组在

X

X

X 属性列上的投影:

元组在

X

X

X上分量值

x

x

x的象集

Y

x

Y_x

Yx​包含

S

S

S在

Y

Y

Y上投影的集合,记作:
在这里插入图片描述
关于象集的概念我们在前面已经提到了,在此直接举例子说明除:

[例6]设关系

R

S

R、S

R、S分别为下图的(a)和(b),

R

÷

S

R÷S

R÷S的结果为图©

在这里插入图片描述

通过上面的结果我们可以发现,关系

R

R

R中的

B

C

B、C

B、C属性组,和关系

S

S

S中的

B

C

B、C

B、C属性组的域都是相同的,

R

S

R与S

R与S的除运算得到了一个新的关系,我们将它当做

P

(

A

)

P(A)

P(A),

P

P

P是

R

R

R中满足上述条件的元组在

A

A

A属性列中的投影。

分析:
设关系

R

S

R,S

R,S,分别为例6中的(a)和(b),

R

÷

S

R÷S

R÷S的结果为图©,关系

R

R

R中

A

A

A可以取四个值

{

a

1

a

2

a

3

a

4

}

,

{ a_1,a_2,a_3,a_4},

{a1​,a2​,a3​,a4​}, 其中:

  • a

1

a_1

a1​的象集为

{

b

1

c

2

,

b

2

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

Y

Y

Y可以有不同的属性名,但必须出自相同的域集。

R

R

R与

S

S

S的除运算得到一个新的关系

P

(

X

)

P(X)

P(X),

P

P

P是

R

R

R中满足下列条件的元组在

X

X

X 属性列上的投影:

元组在

X

X

X上分量值

x

x

x的象集

Y

x

Y_x

Yx​包含

S

S

S在

Y

Y

Y上投影的集合,记作:
在这里插入图片描述
关于象集的概念我们在前面已经提到了,在此直接举例子说明除:

[例6]设关系

R

S

R、S

R、S分别为下图的(a)和(b),

R

÷

S

R÷S

R÷S的结果为图©

在这里插入图片描述

通过上面的结果我们可以发现,关系

R

R

R中的

B

C

B、C

B、C属性组,和关系

S

S

S中的

B

C

B、C

B、C属性组的域都是相同的,

R

S

R与S

R与S的除运算得到了一个新的关系,我们将它当做

P

(

A

)

P(A)

P(A),

P

P

P是

R

R

R中满足上述条件的元组在

A

A

A属性列中的投影。

分析:
设关系

R

S

R,S

R,S,分别为例6中的(a)和(b),

R

÷

S

R÷S

R÷S的结果为图©,关系

R

R

R中

A

A

A可以取四个值

{

a

1

a

2

a

3

a

4

}

,

{ a_1,a_2,a_3,a_4},

{a1​,a2​,a3​,a4​}, 其中:

  • a

1

a_1

a1​的象集为

{

b

1

c

2

,

b

2

[外链图片转存中…(img-Y6T5YEzK-1714919830926)]
[外链图片转存中…(img-MKKK4FFV-1714919830927)]
[外链图片转存中…(img-HnfB2YaN-1714919830927)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值