반응형
외부 키가 다른 외부 키를 참조할 수 있습니까?
다른 테이블에서 다른 외국 키를 참조하는 외국 키를 가질 수 있습니까? 아니면 기본 키와 고유 키만 참조할 수 있습니까?
외부 키는 고유하게 정의된 모든 필드를 참조할 수 있습니다.해당 고유 필드 자체가 외부 키로 정의되는 경우에는 아무런 차이가 없습니다.외국의 핵심은 단지 참조 무결성을 시행하는 것입니다.필드를 외부 키로 만든다고 해서 필드 자체가 변경되는 것은 아닙니다.고유 필드라면 다른 FK의 타깃이 될 수도 있습니다.
예를 들어,
create table Table1(
PK int identity primary key,
...
);
create table Table2( -- 1-1 relationship with Table1
PKFK int primary key,
...,
constraint FK_Table2_1 foreign key( PKFK ) references Table1( PK )
);
create table Table3( -- relates to Table2
PKFKFK int primary key,
...,
constraint FK_Table3_2 foreign key( PKFKFK ) references Table2( PKFK )
);
저는 DBMS가 없는 것으로 알고 있습니다.그리고 저도 호스의 의견에 동의합니다. 관행에는 아무런 문제가 없습니다.
다른 테이블에서 다른 외부 키를 참조하는 외부 키를 가질 수 있습니까?
네. 사실 허용된 답변과는 반대로, 참조되는 FK 열은 유일할 필요도 없습니다! - 적어도 MySQL에서는 마찬가지의 데모를 보려면 https://www.db-fiddle.com/f/6RUEP43vYVkyK2sxQQpBfj/0 을 참조하십시오.
이것은 만약 FK가 부모 테이블에서 유일하지 않다면, 누가 부모 행인가라는 질문을 제기합니다.FK의 목적은 부모와 자식의 관계를 맺는 것입니다.
언급URL : https://stackoverflow.com/questions/29528323/can-a-foreign-key-reference-another-foreign-key
반응형
'source' 카테고리의 다른 글
Pandas value_counts()에서 값 추출 (0) | 2023.09.14 |
---|---|
리액트 네이티브에서 SVG 파일을 표시하는 방법? (0) | 2023.09.14 |
jQuery로 쿠키 만들기, 읽기, 지우기 (0) | 2023.09.14 |
XML 렌더링 오류 Android 미리보기 N (0) | 2023.09.14 |
레일 4는 ajax, jquery, :remote => true로 부분을 렌더링하고 _에 응답합니다. (0) | 2023.09.14 |