[SQL] 우리는 다른 테이블의 기본 키가 아닌 외부 키를 가질 수있다?
SQL우리는 다른 테이블의 기본 키가 아닌 외부 키를 가질 수있다?
외래 키는 다른 테이블의 실제 기본 키하지만 우리가 다른 테이블의 기본 키가 아닌 외부 키를 가질 수있는 모든 책에 기록 된
해결법
-
==============================
1.예 - 당신이 외부 키를 가질 수 있습니다 참조하는 다른 테이블의 고유 인덱스.
예 - 당신이 외부 키를 가질 수 있습니다 참조하는 다른 테이블의 고유 인덱스.
CREATE UNIQUE INDEX UX01_YourTable ON dbo.YourTable(SomeUniqueColumn) ALTER TABLE dbo.YourChildTable ADD CONSTRAINT FK_ChildTable_Table FOREIGN KEY(YourFKColumn) REFERENCES dbo.YourTable(SomeUniqueColumn)
-
==============================
2.정의에 외래 키는 일부 테이블의 후보 키를 참조해야합니다. 그것은 반드시 기본 키가 될 필요가 없습니다.
정의에 외래 키는 일부 테이블의 후보 키를 참조해야합니다. 그것은 반드시 기본 키가 될 필요가 없습니다.
세부의 문제로서 제약은 SQL에서 FOREIGN KEY 관계형 모델의 외부 키의 교과서 정의에 정확히 일치하지 않는했다. SQL의 FOREIGN KEY 제약 다르기 때문에 :
-
==============================
3.예, 고유 키는 정확한 기본 키 기본 키의 일부가 아닌 같이 다른 테이블의 고유 키를하는 외래 키가있을 수 있습니다.
예, 고유 키는 정확한 기본 키 기본 키의 일부가 아닌 같이 다른 테이블의 고유 키를하는 외래 키가있을 수 있습니다.
그게 가능 그래서 외래 키는 다른 테이블의 고유 키는 것을.
-
==============================
4.일반 표준 대답은 no입니다. 외래 키는 다른 테이블에서 유일하게 모든 열을 참조하는 경우에만 가능하다. 그 말 외래 키는 다른 테이블과 기본 키의 후보 키도 후보 키 테이블입니다해야합니다.
일반 표준 대답은 no입니다. 외래 키는 다른 테이블에서 유일하게 모든 열을 참조하는 경우에만 가능하다. 그 말 외래 키는 다른 테이블과 기본 키의 후보 키도 후보 키 테이블입니다해야합니다.
from https://stackoverflow.com/questions/2895219/can-we-have-a-foreign-key-which-is-not-a-primary-key-in-any-other-table by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 행에서 최대 값을 얻기과 다른 테이블에 합류 (0) | 2020.06.05 |
---|---|
[SQL] 어떻게 SQL Server 2005의 테이블에 NTEXT 필드에 유니 코드 / 비 ASCII 문자를 찾을 수 있습니까? (0) | 2020.06.05 |
[SQL] SQL 서버 내에서 와일드 카드를 사용하여 (0) | 2020.06.05 |
[SQL] 어떤 SQL 문은 빠르다? (대 WHERE 음 ...) (0) | 2020.06.05 |
[SQL] 어떻게 테이블에서 최대 값을 가지는 오라클 시퀀스 시작을 만드는 방법? (0) | 2020.06.05 |