《舔🐕》答案:
问题回顾:
最优解:
肉眼去看,很容易知道是狗剩 ,毕竟就没有多少元组
( ^ー^)人(^▽^ )
非碳基生物的答案:
首先计算出一个由非最大存款构成的关系,然后计算关系
π
存
款
余
额
(
a
c
c
o
u
n
t
)
\pi_{存款余额}(account)
π存款余额(account)和前面算出的关系的集合差。
优秀碳基生物的答案:
1、用笛卡尔积联系这张表和它本身得到新关系(account × customer)它们联系后得出结果如下:
2、构造一个选择来比较任意两个出现在同一元组中的存款金额。
首先,我们需要区别两个account关系,这就要用到更名运算,把其中一个更名为d
这样我们就可以无歧义的引用这个关系了
3、现在我们写出一个关系,它包含所有存款金额,只是缺少最大的那一个:
π
a
c
c
o
u
n
t
.
存
款
金
额
(
σ
a
c
c
o
u
n
t
.
存
款
金
额
<
d
.
存
款
金
额
(
a
c
c
o
u
n
t
×
ρ
(
a
c
c
o
u
n
t
)
)
)
\pi_{account.存款金额}(\sigma_{account.存款金额<d.存款金额}(account × \rho(account)))
πaccount.存款金额(σaccount.存款金额<d.存款金额(account×ρ(account)))
4、所以我们就得出来了最总答案
π
存
款
金
额
(
a
c
c
o
u
n
t
)
−
π
a
c
c
o
u
n
t
.
存
款
金
额
(
σ
a
c
c
o
u
n
t
.
存
款
金
额
<
d
.
存
款
金
额
(
a
c
c
o
u
n
t
×
ρ
(
a
c
c
o
u
n
t
)
)
)
\pi_{存款金额}(account)-\pi_{account.存款金额}(\sigma_{account.存款金额<d.存款金额}(account × \rho(account)))
π存款金额(account)−πaccount.存款金额(σaccount.存款金额<d.存款金额(account×ρ(account)))
该题目出自
链接: link.