動的フラグ属性の外部キーのヌルリティ
MySQL データベース モデリングでは、外部キーは、関連するテーブル間のデータ整合性を確保する上で重要な役割を果たします。ただし、不確実な解像度で動的属性を表現する場合には制限が生じます。
外部キーのジレンマ
イメージ管理システムが次のようなイメージ フラグを追跡することを目的としたシナリオを考えてみましょう。不適切」または「著作権」。最初に提案されたデータベース スキーマには、次のテーブルが含まれます。
課題は次のとおりです。論理的な解決がまだ行われていないときのフラグの初期状態を表します。デフォルトでは、MySQL 外部キーは既存のレコードを参照する必要があり、null 許容解決タイプのジレンマが生じます。
解決策: 外部キーで NULL を許可
解決策は、許可することです。 tblImageFlags テーブルのsolutionTypeID 列の NULL 値。これにより、特定の解決策を割り当てずにフラグ エントリを作成できます。解像度が決定したら、luResolutionTypes の有効なレコードを参照するように列を更新できます。
構文:
<code class="sql">ALTER TABLE tblImageFlags ALTER COLUMN resolutionTypeID INT UNSIGNED NULL;</code>
文法的な正しさ: インデックスとインデックス
言語学的な余談ですが、データベースのコンテキストにおける「インデックス」の正しい複数形は、「インデックス」ではなく「インデックス」です。後者は接尾辞「es」が付いており、クエリを最適化するためのデータベース構造ではなくインジケーターまたは記号を表します。
外部キーに NULL 値を許可することで、動的フラグ属性を柔軟にモデル化し、データの整合性を確保できます。使いやすさを犠牲にします。
以上がMySQL で外部キーを使用して動的フラグ属性を処理する方法: NULL 値の解決策?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。