SQLにはDISTINCT演算子があります。ただし、テーブルからいくつかの個別の値を取得する必要がある割り当てがあり、関係代数しか使用できません。方法はありますか?
リレーショナルプロジェクションは常に別個のタプルを返すため、DISTINCTは必要ありません。 RAでは重複タプルは許可されていません。これはリレーショナルモデルとSQLモデルの大きな違いの1つです。
関係代数は集合論に基づいています。 SQLは、マルチセット理論の実装です。セットには常に異なる要素があります。したがって、関係代数では、タプルはデフォルトで区別されます。
関係代数での射影は、個別の選択と同等です。 SQLのselectステートメントでは、多重集合理論に基づいているため重複が許可されますが、集合論に基づく関係代数の射影では、重複は許可されません。
したがって、selectdistinctに相当する関係代数は射影です。