理解关系代数

问题描述 投票:0回答:2

我正在尝试自学关系代数。我遇到了这个,想确切地理解它的含义。

𝜎(𝑂𝑟𝑑𝑒𝑟𝑠.𝑜𝑑𝑎𝑡𝑒= 𝑆ℎ𝑖𝑝𝑚𝑒𝑛𝑡.𝑆ℎ𝑖𝑝𝑑𝑎𝑡𝑎) ( 𝑂𝑟𝑑𝑒𝑟𝑠×𝑆ℎ𝑖𝑝𝑚𝑒𝑛𝑡×𝑂𝑟𝑑𝑒𝑟_𝐼𝑡𝑒𝑚)

∧(𝑂𝑟𝑑𝑒𝑟𝑠.𝑜𝑖𝑑=𝑆ℎ𝑖𝑝𝑚𝑒𝑛𝑡.𝑂𝑖𝑑)

⋀(𝑂𝑟𝑑𝑒𝑟𝑠.𝑂𝑖𝑑=𝑂𝑟𝑑𝑒𝑟𝐼𝑡𝑒𝑚.𝑂𝑖𝑑)

∧(𝑂𝑟𝑑𝑒𝑟_𝐼𝑡𝑒𝑚.𝑄𝑡𝑦>30)

第一行的这部分显示为上标:

(𝑂𝑟𝑑𝑒𝑟𝑠×𝑆ℎ𝑖𝑝𝑚𝑒𝑛𝑡×𝑂𝑟𝑑𝑒𝑟_𝐼𝑡𝑒𝑚)

sql database relational-algebra
2个回答
1
投票

这是一个选择,意味着您将仅选择满足括号内条件的行。在这种情况下,您有多个条件,^ 前面的所有条件都是 SELECT (𝜎) 运算符的条件。

Orders、Shipment 和 Order_Item 是您正在处理的表。

您首先要做这些表的乘积,这意味着您要获取每个表的每个元组,并将其与其他表的所有元组相结合。

选择后,得到所有数量大于30个且当天发货的订单。


0
投票
select * from ((Orders inner join Shipment on Orders.oid = Shipment.Oid) 
inner join Order_Item on Orders.Oid = Order_Item.Oid) 
where Order_Item > 30 ;

σ = 选择

χ = 叉积

内连接对我们的表进行了叉积。 我该怎么解释,我无法决定。

© www.soinside.com 2019 - 2024. All rights reserved.