교차 테이블은 두 엔티티 간의 관계를 정의합니다. 이것이 익명의 관계라면 별도의 서로 게이트 키가 필요하지 않습니다.
예를 들어 부품 테이블과 유닛 테이블은 각 유닛을 만드는 데 사용되는 부품을 정의하는 테이블을 가질 수 있습니다. 각 부분은 여러 단위로 사용될 수 있으며 각 단위는 여러 부분으로 구성됩니다 (때로는 특정 부분의 여러 부분으로 구성됩니다). 이러한 테이블은 다음과 같이 보일 수 있습니다.
UnitID PartID Qty
이러한 교차 테이블에는 대용 키가 없을 가능성이 큽니다. 관계에 대해 묻는 일반적인 질문은 다음과 같습니다.
- Unit X를 만드는 데 사용되는 부품은 무엇입니까?
- Unit X를 만들기 위해 가장 저렴하고 값 비싼 부분은 무엇입니까?
- 파트 P를 포함하는 단위는 무엇입니까?
- 가장 많은 수의 부품 P가 필요한 단위는 무엇입니까?
이 관계의 별도 키가 사용되는 상황을 생각할 수 없습니다. 모든 질문은 특정 부분 또는 특정 단위에 관한 것입니다.
반면에, 코스와 학기를 가져 가십시오. 교차 테이블은 강좌가 수립되는 특정 세션 인 강좌를 수립합니다. 같은 학기에 특정 코스에 대한 몇 가지 사례가있을 수 있습니다. 스미스 교수는 m-w-f를 매일 1 시간 동안, 그리고 존스 교수는 매일 1.5 시간 동안 수학 -101 수업을 진행할 수 있습니다.
등록 및 기타 미래의 기록 유지하는 동안, 그것은 수학-101 또는 추적 할 수 학기 만 사용되는 특정 클래스하지 것입니다. 이러한 이유로 별도의 대리 키가 필요합니다.
귀하의 인스턴스에서 관계가 익명인지 여부가 결정됩니다.
이러한 상황을 자세히 설명하거나 올바른 방향으로 나를 가리 키시겠습니까? 나는이 문제에 대해 봤지만 특히 도움이되는 것을 찾을 수 없었다. – user388600