这两种关系对于联合操作是否兼容?

amo*_*luc 4 database union relational-algebra relational-database

我不确定以下两个关系是否适合联合:

R: <- schema name
B
1
2
2
3
3
Run Code Online (Sandbox Code Playgroud)

和:

Q: -< schema name
A  B
5  1
6  1
4  2
3  4
Run Code Online (Sandbox Code Playgroud)

我想做工会:QU R。可以吗?结果如何?

Mos*_*cho 6

联合运算符要求两个关系是联合兼容的。这意味着它们必须具有相同的属性集。请注意,此概念略高于共享相同数量的属性。这是因为它还考虑了属性的内容。

这并不意味着两个属性都应该具有相同的名称,而是两个属性都应该具有类似的“数据类型”,而且我在这个示例中真正摆脱了关系代数。在关系代数中没有这样的东西,但我认为如果你有编程背景,你会很容易通过思考这个概念来获得它。

EG:考虑以下关系:

  • 人(名字,姓氏)
  • 国家(姓名、人口)

在这种情况下,Person 和 Country 不是联合兼容的,因为它们不共享相同的属性集,即使它们共享相同数量的属性。