Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Melaksanakan Hubungan Satu-dengan-Satu, Satu-dengan-Ramai, dan Banyak-ke-Banyak dalam Reka Bentuk Pangkalan Data?

Bagaimanakah Saya Melaksanakan Hubungan Satu-dengan-Satu, Satu-dengan-Ramai, dan Banyak-ke-Banyak dalam Reka Bentuk Pangkalan Data?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-21 06:31:09740semak imbas

How Do I Implement One-to-One, One-to-Many, and Many-to-Many Relationships in Database Design?

Hubungan dalam reka bentuk pangkalan data: satu-dengan-satu, satu-dengan-banyak dan banyak-dengan-banyak

Apabila mereka bentuk jadual pangkalan data, perhubungan mesti diwujudkan antara entiti data untuk memastikan integriti data. Mari kita terokai tiga jenis perhubungan biasa: satu-dengan-satu, satu-ke-banyak dan banyak-ke-banyak, dan cara melaksanakannya.

Hubungan satu dengan satu

Dalam perhubungan satu dengan satu, setiap baris dalam satu jadual mempunyai baris unik yang sepadan dalam jadual lain. Untuk mencapai matlamat ini, gunakan lajur kunci asing dalam jadual anak untuk merujuk lajur kunci utama dalam jadual induk. Contohnya:

<code>学生表:学生ID,名字,姓氏,地址ID
地址表:地址ID,地址,城市,邮政编码,学生ID</code>

Kunci asing (id_pelajar) dalam jadual alamat memautkan setiap alamat kepada pelajar tertentu.

Hubungan satu-dengan-banyak

Dalam perhubungan satu-dengan-banyak, setiap baris dalam "satu" bahagian (jadual induk) boleh mempunyai berbilang baris rakan sejawatan dalam bahagian "banyak" (jadual anak). Gunakan lajur kunci asing dalam jadual anak untuk memaut kembali ke lajur kunci utama jadual induk. Contohnya:

<code>教师表:教师ID,名字,姓氏
课程表:课程ID,课程名称,教师ID</code>

Setiap guru boleh mempunyai berbilang kursus, tetapi setiap kursus hanya milik seorang guru. Kunci asing (id_guru) dalam kurikulum mewujudkan hubungan ini.

Hubungan ramai-ke-banyak

Perhubungan banyak-ke-banyak wujud apabila setiap baris dalam satu jadual boleh dikaitkan dengan berbilang baris dalam jadual lain, dan begitu juga sebaliknya. Untuk mencapai matlamat ini, cipta jadual gabungan untuk mengekalkan hubungan antara dua jadual yang berkaitan. Contohnya:

<code>学生表:学生ID,名字,姓氏
课程表:课程ID,名称,教师ID
学生课程表:课程ID,学生ID</code>

Jadual kelas pelajar menjejaki pelajar yang tergolong dalam setiap kelas dan begitu juga sebaliknya.

Data berkaitan pertanyaan

Perhubungan ini membenarkan pertanyaan yang cekap. Contohnya:

  • Dapatkan semula semua pelajar dalam kursus tertentu: PILIH * DARI jadual pelajar DI MANA ID kursus = X;
  • Dapatkan semua kursus yang didaftarkan oleh pelajar tertentu: PILIH * DARI jadual kursus pelajar DI MANA ID pelajar = Y;

Atas ialah kandungan terperinci Bagaimanakah Saya Melaksanakan Hubungan Satu-dengan-Satu, Satu-dengan-Ramai, dan Banyak-ke-Banyak dalam Reka Bentuk Pangkalan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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