1. ホーム
  2. database

[解決済み] この2つの関係は、ユニオンのオペレーションにとって互換性があるのでしょうか?

2022-01-28 16:45:02

質問

次の2つの関係が、ユニオンとして両立するのかどうか、よくわからない。

R: <- schema name
B
1
2
2
3
3

そして

Q: -< schema name
A  B
5  1
6  1
4  2
3  4

組合をやりたい。Q U R をしたいのですが、できますか?結果はどうなりますか?

どのように解決するのですか?

union演算子では、両方のリレーションがunion-compatibleであることが必要です。これは、両者が同じ属性のセットを持つことが要求されることを意味します。この概念は、同じ量の属性を共有する以上のものであることに注意してください。これは、属性の内容も考慮するからです。

これは、両方の属性が同じ名前であるべきという意味ではなく、両方の属性が似たようなデータ型を持っているべきだという意味です(この例では、関係代数から本当に離れていますが)。関係代数にはこのようなものはないが、プログラミングの素養がある人なら、この概念で考えると簡単に理解できると思う。

EG:次のような関係を考えてみましょう。

  • 人物 (ファーストネーム, ラストネーム)
  • 国名 (名前、人口)

この場合、PersonとCountryは、同じ量の属性を共有していても、同じセットの属性を共有していないため、ユニオンコンパチブルではありません。