SQLにはDISTINCT演算子があります。しかし、私はテーブルからいくつかの異なる値を取得する必要があり、リレーショナル代数のみを使用することができます。方法はありますか?関係代数のDISTINCT行の選択
答えて
関係投影は常に別個のタプルを返します。したがって、DISTINCTは決して必要ありません。リレーショナル・モデルとSQLモデルの大きな違いの1つは、RA内に重複したタプルが許可されていないことです。
これは古い質問ですが、私は対称代数のような別の演算子があります。私のUllmans Database Systems The Complete Bookの版では、次の章にあります:「5.2.1重複排除」 –
こんにちはDDavid、私はあなたがMolina、Ullman、Widom(途方もない優れた本と私が頻繁に作った点を見逃しているかもしれないと思うのですが、それは普通のセットでは許されません。セクション5.2からの引用:「リレーショナル・モデルを使用するDBMSが最初に開発されたとき、それらの問合せ言語は主に関係代数を実装しました。しかし、これらのシステムでは、リレーションをバッグではなくセットとみなしていました」(私の強調)彼らは、バッグ操作がRAによってサポートされているセット操作と異なることを指摘しています。SQLのDISTINCT「演算子」は、 RAはタプルのセットを排他的に扱います。 – sqlvogel
関係代数は集合理論に基づいています。 SQLはマルチセット理論の実装です。セットには常に別個の要素があります。したがって、タプルは、リレーショナル代数ではデフォルトで区別されます。
- 1. 関係代数の選択条件内の関数
- 2. 関係代数 - 述語なしで選択
- 3. 複数のテーブルでdistinctを選択
- 4. フォームドロップダウンの選択関係
- 5. ElasticSearchを行う方法Distinctを選択
- 6. DISTINCTを選択してCOUNTを選択
- 7. 関係代数のデカルト積
- 8. 関係代数の更新
- 9. 関係代数クエリ
- 10. Jpa関係で選択
- 11. 親子関係と親子関係のペアごとに1行を選択
- 12. Distinct Sum SQL Serverを選択
- 13. サブクエリ(DISTINCTとCOUNTを選択)
- 14. NHibernate Criteria Query - Distinctを選択
- 15. JPAでDISTINCTを選択
- 16. N:MのDISTINCTとCOUNT MySQLの関係
- 17. ベストプラクティスデータの関係とFirebaseでの選択
- 18. MAX(列値)、SQLの別の列でDISTINCTの行を選択
- 19. JavaFX/TreeTableView:選択とフォーカスの関係
- 20. JavaScriptとフォームの選択関係
- 21. JPAと選択ManyToOneの関係
- 22. 1対1の関係を選択
- 23. データベースからDISTINCT行を別のフィールドの順に選択する
- 24. Scala DB?関係代数?
- 25. 関係代数構文
- 26. MYSQL - 2列のdISTINCT値を選択
- 27. MongoDBのArrayからDistinct値を選択
- 28. LINQ Distinct By One列のタイムアウトエラーを選択
- 29. フォームベースの複数選択による多対多の関係
- 30. MySQL:関係のない複数のテーブルから選択する
おそらく、除算演算子Rel1÷Rel1を使うことができます! –