Cikgu ingin bertanya, kenapa tidak buat pautan kunci asing terus dalam MySQL? Hubungan antara kunci asing yang memautkan kedua-dua jadual secara langsung
Secara amnya, tidak digalakkan menggunakan kekangan kunci asing dalam pangkalan data Memandangkan ia dipanggil kekangan, ia pasti akan mempunyai kelemahan:
Prestasi: Apabila memasukkan data ke dalam sub-jadual, jadual utama mesti dinilai
Concurrency: Jika anda mengubah suai jadual utama, sub-jadual (Apabila terdapat banyak data berkaitan) Anda mungkin menangis
Skalabilitas: Ia tidak sesuai untuk pengembangan Sebagai contoh, jika anda mempunyai tapak web yang berkembang dari kecil besar, apabila bilangan lawatan dan volum data meningkat, ia mungkin dibahagikan kepada pangkalan data dan jadual... Mempunyai kunci asing sangat menyusahkan.
Jadi: data dalam dua jadual anda boleh dikaitkan, tulis komen sahaja; tidak perlu menetapkan kunci asing dalam struktur jadual.
Secara amnya, tidak digalakkan menggunakan kekangan kunci asing dalam pangkalan data Memandangkan ia dipanggil kekangan, ia pasti akan mempunyai kelemahan:
Prestasi: Apabila memasukkan data ke dalam sub-jadual, jadual utama mesti dinilai
Concurrency: Jika anda mengubah suai jadual utama, sub-jadual (Apabila terdapat banyak data berkaitan) Anda mungkin menangis
Skalabilitas: Ia tidak sesuai untuk pengembangan Sebagai contoh, jika anda mempunyai tapak web yang berkembang dari kecil besar, apabila bilangan lawatan dan volum data meningkat, ia mungkin dibahagikan kepada pangkalan data dan jadual... Mempunyai kunci asing sangat menyusahkan.
Jadi: data dalam dua jadual anda boleh dikaitkan, tulis komen sahaja; tidak perlu menetapkan kunci asing dalam struktur jadual.