다음을 통해 공유


테이블 관계 형식(Visual Database Tools)

관계는 일반적으로 두 테이블 모두에서 같은 이름을 갖는 키 열의 데이터를 일치시켜 작동합니다. 대부분의 경우 관계는 한 테이블에서 각 행의 고유 식별자를 제공하는 기본 키를 다른 테이블에 있는 외래 키 항목에 일치시킵니다. 예를 들어, 기본 키인 titles 테이블의 title_id 열과 외래 키인 sales 테이블의 title_id 열 사이에 관계를 만들어 도서 판매량과 판매된 특정 책의 제목을 연결할 수 있습니다.

테이블 간에는 세 가지 형식의 관계가 있습니다. 만들어지는 관계 형식은 관련 열을 정의하는 방법에 따라 다릅니다.

  • 일 대 다 관계

  • 다 대 다 관계

  • 일 대 일 관계

일 대 다 관계

일 대 다 관계는 가장 일반적인 관계 형식입니다. 이 관계 형식에서 A 테이블의 한 행은 B 테이블의 여러 행과 일치할 수 있지만 B 테이블의 한 행은 A 테이블의 한 행과만 일치할 수 있습니다. 예를 들어, publishers 테이블과 titles 테이블은 일 대 다 관계이므로 각 출판사는 여러 제목을 제공하지만 각 제목은 한 출판사에서만 나옵니다.

관련 열 중 하나만 기본 키이거나 UNIQUE 제약 조건을 갖고 있는 경우 일 대 다 관계를 만듭니다.

일 대 다 관계의 기본 키 쪽은 키 기호로 표시됩니다. 관계의 외래 키 쪽은 무한대 기호로 표시됩니다.

다 대 다 관계

다 대 다 관계에서 A 테이블의 한 행은 B 테이블의 여러 행과 일치할 수 있고, 또한 B 테이블의 한 행도 A 테이블의 여러 행과 일치할 수 있습니다. 병합 테이블이라는 제 3의 테이블을 정의하여 이런 관계를 만들 수 있습니다. 병합 테이블의 기본 키는 A 테이블과 B 테이블 모두의 외래 키로 구성됩니다. 예를 들어, authors 테이블과 titles 테이블은 각각의 테이블과 titleauthors 테이블의 일 대 다 관계에 의해 정의된 다 대 다 관계를 갖습니다. titleauthors 테이블의 기본 키는 au_id 열(authors 테이블의 기본 키)과 title_id 열(titles 테이블의 기본 키)의 조합입니다.

일 대 일 관계

일 대 일 관계에서 A 테이블의 한 행은 B 테이블의 한 행과만 일치할 수 있으며 B 테이블의 한 행도 A 테이블의 한 행과만 일치할 수 있습니다. 관련된 두 열 모두가 기본 키이거나 UNIQUE 제약 조건을 갖고 있는 경우 일 대 일 관계가 만들어집니다.

이런 방법으로 관련된 대부분의 정보는 테이블 하나에 모두 들어 있기 때문에 일 대 일 관계는 그리 흔하지 않습니다. 일 대 일 관계를 사용하여 아래와 같은 작업을 수행할 수 있습니다.

  • 테이블을 여러 열로 분할할 수 있습니다.

  • 보안상의 이유로 테이블의 일부를 분리할 수 있습니다.

  • 일시적으로 존재하며 테이블을 삭제하여 쉽게 삭제할 수 있는 데이터를 저장할 수 있습니다.

  • 주 테이블의 하위 집합에만 적용되는 정보를 저장할 수 있습니다.

일 대 일 관계의 기본 키 쪽은 키 기호로 표시됩니다. 외래 키 쪽도 키 기호로 표시됩니다.