SQL Server에 두 개의 테이블이 있습니다. 1 개 관계 :복합 기본 키의 일부로 외래 키 사용
CREATE TABLE Jobs(
JobNumber bigint PRIMARY KEY)
번째 테이블이 채용 '구성 요소와 (1)의 모든 목록이다 : 다음 선언 기본 키를 가지는, 개별 작업에 속한 하나 개의 관계 : 제 모든 1 .
각 구성 요소는 외래 키인 작업 번호로 단일 작업을 참조하며 여러 구성 요소가 동일한 작업을 참조 할 수 있습니다. 구성 요소는 작업 내에서 1, 2, 3 등으로 번호가 매겨집니다.
것이 가능하고, 기본 키 (JobNumber, ComponentNumber
)으로 구성 될 수 있도록 다음과 같이 2 차 테이블의 복합체 주요 키 내의 열 JobNumber
(외래 키)를 사용하는 것이 합리적이다
CREATE TABLE Components(
JobNumber bigint FOREIGN KEY REFERENCES Jobs(JobNumber) NOT NULL,
ComponentNumber int NOT NULL,
PRIMARY KEY(JobNumber, ComponentNumber)
)
다른 옵션은 물론 대리형 기본 키를 사용하지만 JobNumber
과 ComponentNumber
의 조합에 고유성 제약 조건을 적용하지 않습니다 (두 번째 테이블의 두 레코드에 JobNumber=1
및 ComponentNumber=1
이있을 수 있음). 따라서 복합 자연 기본 키를 사용하는 것을 선호합니다.