Batal Kunci Asing untuk Atribusi Bendera Dinamik
Dalam pemodelan pangkalan data MySQL, kunci asing memainkan peranan penting dalam menguatkuasakan integriti data antara jadual yang berkaitan. Walau bagaimanapun, had timbul apabila mewakili atribut dinamik dengan resolusi yang tidak pasti.
Dilema dengan Kekunci Asing
Pertimbangkan senario di mana sistem pengurusan imej bertujuan untuk menjejak bendera imej seperti " tidak sesuai" atau "hak cipta." Skema pangkalan data pada mulanya dicadangkan melibatkan jadual berikut:
Cabarannya terletak pada mewakili keadaan awal bendera apabila tiada penyelesaian logik lagi. Secara lalai, kunci asing MySQL mesti merujuk rekod sedia ada, yang mewujudkan dilema untuk jenis resolusi boleh batal.
Penyelesaian: Benarkan NULL dalam Kunci Asing
Penyelesaiannya adalah untuk membenarkan Nilai NULL dalam lajur resolutionTypeID pada jadual tblImageFlags. Ini membenarkan penciptaan entri bendera tanpa memberikan resolusi tertentu. Setelah resolusi ditentukan, lajur boleh dikemas kini untuk merujuk rekod yang sah dalam luResolutionTypes.
Sintaks:
<code class="sql">ALTER TABLE tblImageFlags ALTER COLUMN resolutionTypeID INT UNSIGNED NULL;</code>
Ketepatan Tatabahasa: Indeks lwn. Indeks
Sebagai linguistik diketepikan, bentuk jamak yang betul bagi "indeks" dalam konteks pangkalan data ialah "indeks," bukan "indeks." Yang terakhir, dengan akhiran "es", menandakan penunjuk atau tanda dan bukannya struktur pangkalan data untuk mengoptimumkan pertanyaan.
Dengan membenarkan nilai NULL untuk kunci asing, anda boleh memodelkan atribusi bendera dinamik dengan fleksibiliti dan memastikan integriti data tanpa mengorbankan kebolehgunaan.
Atas ialah kandungan terperinci Bagaimana Mengendalikan Atribusi Bendera Dinamik dengan Kunci Asing dalam MySQL: Penyelesaian untuk Nilai NULL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!