다 대 다 관계 매핑(Visual Database Tools)Map Many-to-Many Relationships (Visual Database Tools)

다 대 다 관계를 사용하면 한 테이블의 각 행을 다른 테이블의 여러 행에 연결하거나 그 반대로 행을 연결할 수 있습니다.Many-to-many relationships let you relate each row in one table to many rows in another table, and vice versa. 예를 들어, 각 작가를 해당 작가의 모든 저서에 연결하고 각 도서를 모든 해당 작가에 연결하도록 authors 테이블과 titles 테이블 사이에 다 대 다 관계를 만들 수 있습니다.For example, you could create a many-to-many relationship between the authors table and the titles table to match each author to all of his or her books and to match each book to all of its authors. 각 테이블에서 일 대 다 관계를 만드는 것만으로는 모든 도서가 한 명의 작가에게만 연결되거나 모든 작가가 한 권의 책만 쓴 것으로 잘못 표시될 수 있습니다.Creating a one-to-many relationship from either table would incorrectly indicate that every book can have only one author, or that every author can write only one book.

테이블 사이의 다 대 다 관계는 병합 테이블을 통해 데이터베이스에 적용됩니다.Many-to-many relationships between tables are accommodated in databases by means of junction tables. 병합 테이블에는 연결하려는 두 테이블의 기본 키 열이 포함됩니다.A junction table contains the primary key columns of the two tables you want to relate. 병합 테이블의 열에 일치하도록 이러한 두 테이블 각각의 기본 키 열에서 관계를 만듭니다.You then create a relationship from the primary key columns of each of those two tables to the matching columns in the junction table. pubs 데이터베이스에서 병합 테이블은 titleauthor 테이블입니다.In the pubs database, the titleauthor table is a junction table.

테이블 사이에 다 대 다 관계를 만들려면To create a many-to-many relationship between tables

  1. 데이터베이스 다이어그램에서 다 대 다 관계를 만들려는 두 테이블을 추가합니다.In your database diagram, add the tables that you want to create a many-to-many relationship between.

  2. 다이어그램을 마우스 오른쪽 단추로 클릭하고 바로 가기 메뉴에서 새 테이블 을 선택하여 세 번째 테이블을 만듭니다.Create a third table by right-clicking the diagram and choosing New Table from the shortcut menu. 이 테이블이 병합 테이블로 사용됩니다.This will become the junction table.

  3. 이름 선택 대화 상자에서 시스템 할당 테이블 이름을 변경합니다.In the Choose Name dialog box, change the system-assigned table name. 예를 들어, titles 테이블과 authors 테이블 사이의 병합 테이블 이름으로 titleauthors를 지정할 수 있습니다.For example, the junction table between the titles table and the authors table is now named titleauthors.

  4. 다른 두 테이블 각각의 기본 키 열을 병합 테이블에 복사합니다.Copy the primary key columns from each of the other two tables to the junction table. 일반적인 테이블 작업의 경우와 마찬가지로 다른 열을 이 테이블에 추가할 수 있습니다.You can add other columns to this table, just as you can to any other table.

  5. 병합 테이블에서 다른 두 테이블의 기본 키 열이 모두 포함되도록 기본 키를 설정합니다.In the junction table, set the primary key to include all the primary key columns from the other two tables. 자세한 내용은 방법: 기본 키 만들기(Visual Database Tools)를 참조하세요.For details, see How to: Create Primary Keys (Visual Database Tools).

  6. 두 개의 각 기본 테이블과 병합 테이블 사이에 일 대 다 관계를 정의합니다.Define a one-to-many relationship between each of the two primary tables and the junction table. 병합 테이블은 작성된 두 관계 모두에서 "다" 쪽에 있어야 합니다.The junction table should be at the "many" side of both of the relationships you create. 자세한 내용은 방법: 테이블 간의 관계 만들기(Visual Database Tools)를 참조하세요.For details, see How to: Create Relationships Between Tables (Visual Database Tools).

    참고

    데이터베이스 다이어그램에서 병합 테이블을 만들어도 관련 테이블의 데이터가 병합 테이블에 삽입되지는 않습니다.The creation of a junction table in a database diagram does not insert data from the related tables into the junction table. 테이블에 데이터를 삽입하는 방법에 대한 자세한 내용은 결과 삽입 쿼리 만들기(Visual Database Tools)를 참조하세요.For information about inserting data into a table, see Create Insert Results Queries (Visual Database Tools).

관련 항목:See Also

데이터베이스 다이어그램 작업(Visual Database Tools)Work with Database Diagrams (Visual Database Tools)