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

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

DDD
DDDasal
2025-01-21 06:16:08369semak imbas

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

Menguasai Perhubungan Jadual Pangkalan Data

Reka bentuk pangkalan data yang berkesan bergantung pada pemahaman dan pelaksanaan pelbagai jenis perhubungan antara jadual dengan betul. Panduan ini menjelaskan cara mereka bentuk jadual untuk hubungan satu-dengan-satu, satu-ke-banyak dan banyak-ke-banyak.

Hubungan Satu dengan Satu:

Perhubungan satu dengan satu menandakan bahawa setiap rekod dalam satu jadual sepadan dengan maksimum satu rekod dalam jadual lain. Pelaksanaan melibatkan kunci asing dalam jadual bergantung yang merujuk kepada kunci utama jadual induk. Yang penting, kekangan unik harus ditambahkan pada lajur kunci asing dalam jadual bergantung untuk menguatkuasakan sekatan satu sama satu.

Contoh:

Pertimbangkan jadual 'pelajar' dan 'alamat':

<code>student: student_id, first_name, last_name
address: address_id, address, city, zipcode, student_id (foreign key)</code>

Kekangan UNIQUE pada address.student_id memastikan setiap pelajar hanya mempunyai satu alamat.

Hubungan Satu-dengan-Banyak:

Dalam perhubungan satu dengan banyak, satu rekod dalam jadual induk boleh dikaitkan dengan berbilang rekod dalam jadual anak. Ini dicapai dengan meletakkan kunci asing dalam jadual anak yang merujuk kunci utama jadual induk.

Contoh:

Jadual 'guru' dan 'kelas' menggambarkan hubungan satu-dengan-banyak:

<code>teacher: teacher_id, first_name, last_name
class: class_id, class_name, teacher_id (foreign key)</code>

Berbilang kelas boleh dimiliki oleh seorang guru.

Hubungan Ramai dengan Ramai:

Perhubungan banyak-ke-banyak melibatkan senario di mana rekod dalam kedua-dua jadual boleh mempunyai berbilang rekod sepadan dalam satu lagi. Jadual simpang (atau jadual bersekutu) menyelesaikan perkara ini. Jadual perantara ini mengandungi kunci asing yang merujuk kepada kunci utama kedua-dua jadual asal.

Contoh:

Pelajar dan kelas di sekolah menunjukkan perhubungan ramai-ke-banyak:

<code>student: student_id, first_name, last_name
class: class_id, name, teacher_id
student_class: class_id (foreign key), student_id (foreign key)</code>

Pelajar boleh mendaftar dalam berbilang kelas dan setiap kelas boleh mempunyai berbilang pelajar. student_class bertindak sebagai meja simpang.

Dengan menggunakan strategi reka bentuk jadual ini, integriti pangkalan data dan pemodelan data yang cekap dapat dipastikan.

Atas ialah kandungan terperinci Bagaimanakah Saya Melaksanakan Perhubungan Satu-dengan-Satu, Satu-dengan-Ramai, dan Banyak-dengan-Banyak dalam Reka Bentuk Jadual 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