Relational algebra 关系代数-如何获得唯一的耦合值
假设我有这样一个关系(员工):Relational algebra 关系代数-如何获得唯一的耦合值,relational-algebra,Relational Algebra,假设我有这样一个关系(员工): +---------+-----------+---------+ | Manager | Researcher| Project | +---------------------+---------+ | A1 | A2 | P1 | | A2 | A1 | P2 | | A2 | A3 | P2 | | A3 | A2 | P3
+---------+-----------+---------+
| Manager | Researcher| Project |
+---------------------+---------+
| A1 | A2 | P1 |
| A2 | A1 | P2 |
| A2 | A3 | P2 |
| A3 | A2 | P3 |
| A1 | A3 | P3 |
--------------------------------+
上表描述了在哪个项目中担任经理和研究员的情况
我想找到作为研究员参与过另一名员工管理的项目的员工,而该员工作为研究员参与过另一名员工管理的其中一个项目
A1在P1担任经理,A2担任研究员。在项目P2中,A2担任经理,A1担任研究员。因此,我想把A1和A2的名字放在一起。顺序并不重要。A2和A3对相同,但A1和A3对不同
所以我想得到的结果是:
+-------+------------+
| Name1 | Name2 |
+--------------------+
| A1 | A2 |
| A2 | A3 |
----------------------
如何使用关系代数获得此关系。如果要返回名称为A1的元组,请使用SELECT子句(σ):
σName1=A1(成对)成对的
关系能否有一个Name1==Name2
的元组?如果不是,则两个名称中的一个较小:Name1
或Name1>Name2
。使用这两个条件对对夫妇进行两个限制。重命名属性(我会使用NameLT,NameGT
)。然后将二者合并。不要在结果中命名属性Name1,Name2
:A1
在结果中最初可能是Name2
。这不清楚。使用足够的单词、句子和引用部分例子,清楚、完整地说出你的意思。不要希望我们从一个例子中猜到。请展示你试过的东西。不要让我们做你的家庭作业。这是一个常见问题。在考虑发帖之前,请阅读本手册,谷歌搜索任何错误信息,或您的问题/问题/目标的许多清晰、简洁和准确的措辞,包括或不包括您的特定字符串/名称和网站:stackoverflow.com&tags;阅读许多答案。反思你的研究。请参见文本上方的投票箭头。有许多RAs(关系代数)。它们的运算符不同,甚至关系是什么。给操作员定义和您的参考。例如教科书名称、版本和页码。PS我们如何知道是将(A1,A2)还是(A2,A1)放入输出?清楚地说出你想要的。这能回答你的问题吗?这并不能回答问题。这还不清楚,但它似乎想问的是一个重复的问题。它不是“返回名称为A1的元组1”;您的查询与示例不符。但如果这是一个问题,它将是一个重复。不清楚的问题应该被否决和否决,而不是回答。重复的问题应进行投票表决,而不是回答。