Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyimpan Berbilang Kursus dengan Cekap setiap Pelajar dalam Pangkalan Data MySQL?
Menyimpan Pelbagai Kursus untuk Pelajar dalam Pangkalan Data MySQL
Soalan:
Saya perlu cipta struktur pangkalan data yang membolehkan pelajar mempunyai beberapa kursus yang dilampirkan kepada mereka. Bagaimanakah saya boleh mereka bentuk jadual untuk menyimpan data ini dengan cekap?
Jawapan:
Menyimpan data dalam tatasusunan dalam jadual mungkin kelihatan mudah, tetapi ia boleh membawa kepada prestasi dan isu integriti data. Pendekatan yang lebih baik ialah mencipta jadual berasingan dan mewujudkan perhubungan di antaranya menggunakan kekunci asing.
Berikut ialah struktur pangkalan data yang dicadangkan:
1. Cipta Jadual Pelajar
CREATE TABLE student ( studentId INT AUTO_INCREMENT PRIMARY KEY, fullName VARCHAR(100) NOT NULL );
2. Cipta Jadual Kursus
CREATE TABLE course ( courseId INT AUTO_INCREMENT PRIMARY KEY, courseName VARCHAR(100) NOT NULL );
3. Cipta Jadual Persimpangan (Kursus_Pelajar)
CREATE TABLE student_course ( studentId INT, courseId INT, PRIMARY KEY (studentId, courseId), FOREIGN KEY (studentId) REFERENCES student(studentId), FOREIGN KEY (courseId) REFERENCES course(courseId) );
Perhubungan:
Contoh Data:
-- Insert Students INSERT INTO student (fullName) VALUES ('Alice Jones'), ('Bob Smith'), ('Carol White'); -- Insert Courses INSERT INTO course (courseName) VALUES ('History 101'), ('Math 201'), ('English 301'); -- Enroll Students in Courses INSERT INTO student_course (studentId, courseId) VALUES (1, 1), (1, 2), (2, 1), (2, 3);
Kebaikan Junction Jadual:
Atas ialah kandungan terperinci Bagaimana untuk Menyimpan Berbilang Kursus dengan Cekap setiap Pelajar dalam Pangkalan Data MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!