이 문서는 AI로 번역되었습니다. 부정확한 내용이 있을 경우 영어 버전을 참조하세요
수강 신청 시스템에는 학생과 강좌라는 두 가지 엔티티(개체)가 있습니다. 한 학생이 여러 강좌를 수강할 수 있고, 한 강좌에도 여러 학생이 등록할 수 있는데, 이것이 바로 다대다 관계를 형성합니다. 관계형 데이터베이스에서는 학생과 강좌 간의 다대다 관계를 표현하기 위해 일반적으로 수강 신청 컬렉션과 같은 중간 컬렉션을 사용합니다. 이 컬렉션은 각 학생이 어떤 강좌를 선택했는지, 그리고 각 강좌에 어떤 학생들이 등록했는지를 기록할 수 있습니다. 이러한 설계는 학생과 강좌 간의 다대다 관계를 효과적으로 표현합니다.
ER 다이어그램은 다음과 같습니다.

필드 구성은 다음과 같습니다.

현재 필드가 속해 있는 소스 컬렉션입니다.
연결할 대상 컬렉션입니다.
두 엔티티(개체) 사이에 다대다 관계가 있을 때, 이 관계를 저장하기 위해 중간 컬렉션을 사용합니다. 중간 컬렉션에는 두 개의 외래 키가 있으며, 이 외래 키는 두 엔티티 간의 연결을 유지하는 데 사용됩니다.
외래 키 제약 조건이 참조하는 소스 컬렉션의 필드입니다. 이 필드는 고유해야 합니다.
중간 컬렉션의 필드로, 소스 컬렉션과의 연결을 설정하는 데 사용됩니다.
중간 컬렉션의 필드로, 타겟 컬렉션과의 연결을 설정하는 데 사용됩니다.
외래 키 제약 조건이 참조하는 타겟 컬렉션의 필드입니다. 이 필드는 고유해야 합니다.
ON DELETE는 부모 컬렉션의 레코드를 삭제할 때 관련 자식 컬렉션의 외래 키 참조에 적용되는 규칙을 의미합니다. 이는 외래 키 제약 조건을 정의할 때 사용하는 옵션입니다. 일반적인 ON DELETE 옵션은 다음과 같습니다.
CASCADE: 부모 컬렉션의 레코드를 삭제할 때, 자식 컬렉션의 모든 관련 레코드가 자동으로 삭제됩니다.SET NULL: 부모 컬렉션의 레코드를 삭제할 때, 자식 컬렉션의 관련 레코드에 있는 외래 키 값이 NULL로 설정됩니다.RESTRICT: 기본 옵션으로, 부모 컬렉션의 레코드를 삭제하려고 할 때 관련 자식 컬렉션 레코드가 존재하면 부모 컬렉션 레코드의 삭제를 거부합니다.NO ACTION: RESTRICT와 유사하게, 관련 자식 컬렉션 레코드가 존재하면 부모 컬렉션 레코드의 삭제를 거부합니다.