sql >> データベース >  >> RDS >> Oracle

整合性制約を使用して「サブセット」関係を適用するための最良の方法は何ですか

    SQLの問題の1つは、整合性制約、特に参照制約のサポートレベルが低いことです。

    すべての実用的な目的で、テーブルに行を挿入するときに制約を無効にしない限り、SQL制約を使用して問題を解決することはできません。その理由は、SQLではテーブルを一度に1つずつ更新する必要があるため、新しい行が挿入されるたびに制約に違反する必要があるためです。これはSQLの基本的な制限であり、すべての主要なDBMSがSQLの影響を受けます。

    いくつかの回避策がありますが、どれも完璧ではありません。 DBMSにDEFERRABLE制約がある場合は、DEFERRABLE制約を使用できます(たとえば、Oracle)。 DEFERRABLE制約は、実際には制約を無効にする簡単な方法です。または、トリガーを使用することもできます。これは、適切なデータベース制約ではなく、手続き的にルールが適用されることを意味します。



    1. pipフリーズはhelp('modules')とは異なるモジュールを提供します

    2. Oracle SQL Developer:テストに失敗しました:ネットワークアダプタが接続を確立できませんでしたか?

    3. 削除クエリに大きなテーブルがあるIN句のサブクエリのパフォーマンス

    4. PHPの回転と配列への追加