방법: 다대다 관계 매핑
업데이트: 2007년 11월
다대다 관계를 사용하면 한 테이블의 각 행을 다른 테이블의 여러 행에 연결하거나 그 반대로 행을 연결할 수 있습니다. 예를 들어, 각 작가를 해당 작가의 모든 저서에 연결하고 각 도서를 해당 작가에게 연결하도록 authors 테이블과 titles 테이블 사이에 다대다 관계를 만들 수 있습니다. 각 테이블에서 일대다 관계를 만드는 것만으로는 모든 도서가 한 명의 작가에게만 연결되거나 모든 작가가 한 권의 책만 쓴 것으로 잘못 표시될 수 있습니다.
테이블 사이의 다대다 관계는 정션 테이블을 통해 데이터베이스에 적용됩니다. 정션 테이블에는 연결하려는 두 테이블의 기본 키 열이 포함됩니다. 정션 테이블의 열에 일치하도록 이러한 두 테이블 각각의 기본 키 열에서 관계를 만듭니다. pubs 데이터베이스에서 정션 테이블은 titleauthor 테이블입니다.
참고: |
---|
실제 설정이나 버전에 따라서 화면에 나타나는 대화 상자와 메뉴 명령이 도움말의 설명과 다를 수 있습니다. 설정을 변경하려면 도구 메뉴에서 설정 가져오기 및 내보내기를 선택합니다. 자세한 내용은 Visual Studio 설정을 참조하십시오. |
테이블 사이에 다대다 관계를 만들려면
데이터베이스 다이어그램에서 다대다 관계를 만들려는 두 테이블을 추가합니다.
다이어그램을 마우스 오른쪽 단추로 클릭하고 바로 가기 메뉴에서 새 테이블을 선택하여 세 번째 테이블을 만듭니다. 이 테이블은 정션 테이블로 사용됩니다.
이름 선택 대화 상자에서 자동으로 지정된 테이블 이름을 변경합니다. 예를 들어, titles 테이블과 authors 테이블 사이의 정션 테이블 이름으로 titleauthors를 지정할 수 있습니다.
다른 두 테이블 각각의 기본 키 열을 정션 테이블에 복사합니다. 일반적인 테이블 작업의 경우와 마찬가지로 다른 열을 이 테이블에 추가할 수 있습니다.
정션 테이블에서 다른 두 테이블의 기본 키 열이 모두 포함되도록 기본 키를 설정합니다. 자세한 내용은 방법: 기본 키 만들기를 참조하십시오.
두 개의 각 기본 테이블과 정션 테이블 사이에 일대다 관계를 정의합니다. 정션 테이블은 작성된 두 관계 모두에서 "다" 쪽에 있어야 합니다. 자세한 내용은 방법: 테이블 간의 관계 만들기를 참조하십시오.
참고: 데이터베이스 다이어그램에서 정션 테이블을 만들어도 관련 테이블의 데이터가 정션 테이블에 삽입되지는 않습니다. 테이블에 데이터를 삽입하는 데 대한 자세한 내용은 방법: 결과 삽입 쿼리 만들기를 참조하십시오.