在MySQL 資料庫中為學生儲存多門課程
問題:
我需要🎜>問題:
我需要🎜>問題:
我需要🎜>問題:
我需要🎜>問題:我需要建立一個資料庫結構,允許學生附加多個課程。如何設計一個表格來有效地儲存這些資料?
CREATE TABLE student ( studentId INT AUTO_INCREMENT PRIMARY KEY, fullName VARCHAR(100) NOT NULL );
答案:
將資料儲存在表中的陣列中可能看起來很方便,但它可能會導致效能和效能下降。資料完整性問題。更好的方法是建立單獨的表並使用外鍵在它們之間建立關係。CREATE TABLE course ( courseId INT AUTO_INCREMENT PRIMARY KEY, courseName VARCHAR(100) NOT NULL );
以下是建議的資料庫結構:
1。建立學生表CREATE TABLE student_course ( studentId INT, courseId INT, PRIMARY KEY (studentId, courseId), FOREIGN KEY (studentId) REFERENCES student(studentId), FOREIGN KEY (courseId) REFERENCES course(courseId) );
2.建立課程表
關係:
-- 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);
student_course表充當連接表,將學生與他們所選擇的課程連結起來已註冊。 student_course 中的 StudentId 欄位引用了學生表格中的學生 ID。
以上是如何在 MySQL 資料庫中有效率地儲存每個學生的多門課程?的詳細內容。更多資訊請關注PHP中文網其他相關文章!