web-dev-qa-db-ja.com

関係代数でDISTINCT行を選択する

SQLにはDISTINCT演算子があります。ただし、テーブルからいくつかの個別の値を取得する必要がある割り当てがあり、関係代数しか使用できません。方法はありますか?

17
Karan

リレーショナルプロジェクションは常に別個のタプルを返すため、DISTINCTは必要ありません。 RAでは重複タプルは許可されていません。これはリレーショナルモデルとSQLモデルの大きな違いの1つです。

36
nvogel

関係代数は集合論に基づいています。 SQLは、マルチセット理論の実装です。セットには常に異なる要素があります。したがって、関係代数では、タプルはデフォルトで区別されます。

5
Ujjwal Ojha

関係代数での射影は、個別の選択と同等です。 SQLのselectステートメントでは、多重集合理論に基づいているため重複が許可されますが、集合論に基づく関係代数の射影では、重複は許可されません。

したがって、selectdistinctに相当する関係代数は射影です。

0
Ojasv singh