Rumah > pangkalan data > tutorial mysql > Bilakah Anda Harus Menggunakan Kunci Utama dan Asing untuk Menyertai Jadual?

Bilakah Anda Harus Menggunakan Kunci Utama dan Asing untuk Menyertai Jadual?

Susan Sarandon
Lepaskan: 2025-01-04 09:22:35
asal
200 orang telah melayarinya

When Should You Use Primary and Foreign Keys for Joining Tables?

Apabila Perhubungan Utama-Asing Penting dalam Menyertai Jadual

Walaupun mungkin untuk menyertai jadual berdasarkan lajur biasa, bahasa asing utama perhubungan utama mempunyai tujuan penting selain daripada memudahkan menyertai.

Penguatkuasaan Ketekalan Data

Kunci utama dan asing direka bentuk untuk mengekalkan ketekalan data.

  • Kunci utama: Pastikan keunikan nilai dalam lajur. Tanpa kunci utama, menjadi mustahil untuk membezakan antara baris dengan nilai yang sama, yang membawa kepada isu integriti data.
  • Kunci asing: Wujudkan hubungan antara jadual, memastikan data merujuk kepada entiti luaran yang sebenarnya wujud. Ini menghalang rekod "yatim piatu" yang menunjuk kepada entiti yang tidak wujud.

Contoh Ketidakkonsistenan Data

Pertimbangkan contoh jadual:

test1 (id, lname, fname, dob)
-- no primary and foreign key and not unique
-- (no constraints)

test2 (id, native_city)
-- no relations and no constraints
Salin selepas log masuk

Dalam senario ini, adalah mungkin untuk menyertai jadual ini berdasarkan lajur id. Walau bagaimanapun, tanpa kunci utama dan asing:

  • Baris dalam test1 mungkin mempunyai nilai id pendua, menjadikannya sukar untuk mengenal pasti rekod tertentu.
  • Rekod dalam test2 mungkin merujuk nilai id yang tidak wujud dalam test1, yang membawa kepada salah atau tidak lengkap data.

Kesimpulan

Perhubungan utama asing-utama menyediakan lapisan integriti data tambahan selain mendayakan gabungan. Ia menghalang rasuah data, memastikan perhubungan data dikekalkan dan memudahkan manipulasi data yang tepat dan konsisten.

Atas ialah kandungan terperinci Bilakah Anda Harus Menggunakan Kunci Utama dan Asing untuk Menyertai Jadual?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan