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?
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!