Kunci Asing kepada Satu daripada Pelbagai Jadual: Adakah Mungkin?
Dalam pangkalan data hubungan, kunci asing digunakan untuk mewujudkan hubungan antara jadual. Biasanya, kunci asing dalam satu jadual menunjuk ke kunci utama dalam jadual lain. Walau bagaimanapun, persoalan timbul: bolehkah kunci asing merujuk kepada satu daripada berbilang jadual?
Jawapannya: Tidak
Kekangan kunci asing sentiasa merujuk tepat satu jadual induk. Ini bermakna tidak mungkin untuk menentukan kunci asing yang menunjuk kepada salah satu daripada beberapa jadual yang mungkin. Tingkah laku ini adalah sama dalam kedua-dua MySQL dan PostgreSQL.
Implikasi untuk Perhubungan Polimorfik
Perhubungan polimorfik ialah apabila jadual mungkin mempunyai hubungan dengan salah satu daripada beberapa jadual lain. Dalam contoh yang diberikan, jadual "imej" mempunyai hubungan dengan salah satu daripada dua jadual: "orang bawahan" atau "produk."
Dalam kes sedemikian, tidak mungkin untuk mencipta kunci asing secara langsung yang menghala ke sama ada "orang bawahan" atau "produk." Sebaliknya, jadual gabungan mesti ditakrifkan secara eksplisit untuk mewujudkan perhubungan. Jadual gabungan mengandungi kunci asing kepada kedua-dua "orang bawahan" dan "produk", dan jadual "imej" kemudiannya mempunyai kunci asing yang merujuk jadual gabungan.
Sumber Tambahan
Untuk penerokaan lanjut mengenai topik ini, pertimbangkan sumber berikut:
Atas ialah kandungan terperinci Adakah Kunci Asing kepada Berbilang Jadual Mungkin dalam Pangkalan Data Hubungan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!