집 >데이터 베이스 >MySQL 튜토리얼 >MySQL 데이터베이스에 학생당 여러 강좌를 효율적으로 저장하는 방법은 무엇입니까?
MySQL 데이터베이스에 학생을 위한 여러 강좌 저장
질문:
다음을 수행해야 합니다. 학생들이 여러 강좌를 첨부할 수 있는 데이터베이스 구조를 만듭니다. 이 데이터를 효율적으로 저장하도록 테이블을 설계하려면 어떻게 해야 합니까?
답변:
테이블 내의 배열에 데이터를 저장하는 것이 편리해 보일 수 있지만 성능 및 효율성 향상으로 이어질 수 있습니다. 데이터 무결성 문제. 더 나은 접근 방식은 별도의 테이블을 만들고 외래 키를 사용하여 테이블 간의 관계를 설정하는 것입니다.
다음은 권장되는 데이터베이스 구조입니다.
1. 학생 테이블 만들기
CREATE TABLE student ( studentId INT AUTO_INCREMENT PRIMARY KEY, fullName VARCHAR(100) NOT NULL );
2. 코스 테이블 만들기
CREATE TABLE course ( courseId INT AUTO_INCREMENT PRIMARY KEY, courseName VARCHAR(100) NOT NULL );
3. 접합 테이블 만들기(Student_Course)
CREATE TABLE student_course ( studentId INT, courseId INT, PRIMARY KEY (studentId, courseId), FOREIGN KEY (studentId) REFERENCES student(studentId), FOREIGN KEY (courseId) REFERENCES course(courseId) );
관계:
예제 데이터:
-- 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);
정션의 장점 테이블:
위 내용은 MySQL 데이터베이스에 학생당 여러 강좌를 효율적으로 저장하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!