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

別のデータベースからのテーブルの外部キー

    できればこれは避けたいのですが、両方のテーブルを 1 つのデータベースに保持し、FK を使用することはできますか?

    親テーブルと子テーブルが異なるデータベースにあります。

    この状況では外部キーを使用できませんが、回避策があります。チェック制約でラップされたトリガーまたは UDF を使用できます。いずれにせよ、データの整合性は完全には守られていません。親テーブルを含むデータベースがクラッシュし、バックアップから復元すると、簡単に孤立してしまう可能性があります.

    親子関係はトリガーによって強化されます。

    以下のように、トリガーが起動しない状況がかなりあります:

    · テーブルが削除されました。

    · テーブルが切り詰められています。

    · ネストされたトリガーや再帰的トリガーの設定により、トリガーが起動されなくなります。

    また、トリガーが正しくない場合もあります。いずれにせよ、データベースに孤児が残る可能性があります。



    1. 接続プール戦略:良い、悪い、または醜い?

    2. WordPressインストールのwp_optionsテーブルのトランジェントを削除できますか?

    3. Oracle SQLの置換機能

    4. IDEF1X表記