sql - 将查询转换为关系代数

标签 sql relational-database relational-algebra

我有以下关系数据库架构:

schema

我想用关系代数编写以下查询,而不在选择运算符中使用不等式、析取或合取:

List the names of items that had bids of $50 that did not sell.

我尝试自己编写它并提出以下内容(尽管不确定它是否正确):

πiname(σprice=50((ITEM⨝BID) - πiid(SALE)))

我不知道如何使用 Stackoverflow 用正确的符号编写关系代数,所以我只使用了外部计算器。如果我的尝试不清楚,请告诉我,我会尽力解释(或者更好,如果有人可以编辑问题以使其更清楚,那也很棒)。

最佳答案

实际上我认为你的尝试几乎是好的。

当人们进行减法时,我不确定你的表格的尺寸。在我看来,一个人应该始终具有相同的维度。也就是说:

πinameprice=50((ITEM⨝BID) - πiid(ITEM⨝SALE)))

我请求确认。但在我看来this is how we do .

问题是,StackOverflow 没有 Mathjax 之类的工具来编写漂亮的关系代数方程,即使它们是该网站主题的一部分。 The debate on wehter to implement Latex has started three years ago 。要编写正确的关系代数,您应该使用 <sub></sub>特别是对于 sub,或者添加来自 math.stackexchange.com 的 Latex 图像

此外,即使这是一个关于 SO 的主题问题,为了获得更多答案,您应该考虑在 Database administrators site 上提出这些类型的问题。 。我们是好人,致力于关系代数、关系微积分......

关于sql - 将查询转换为关系代数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36150499/

相关文章:

mysql - 数据库结构-加入或不加入

database - 有没有支持分支的数据库?

python - PostgreSQL 中的关系设计

sql - 关系代数

relational-algebra - 包含相同列的表的笛卡尔积

sql - 创建一个 View ,其中 PostgreSQL 显示特定字段的前 100 行,然后移动到下一个

SQL DB 性能和短时间间隔内的重复查询

sql - 改进 SQL DateTime 的工作

sql - Postgres : delete rows order by without primary key

SQL 查询(在 SQL、关系代数和元组关系演算中)