아래와 같은 문제를 어떻게 관계시켜야할지 설계 힌트 좀 부탁.
[회원 테이블]의 컬럼
[UNIQUEorPK_회원_ID], [FK_ID]
[다른 테이블]의 컬럼
[PK_다른_ID]
여기에서 [회원 테이블]의 [FK_ID]가 [UNIQUEorPK_회원_ID]을 참조하고,
또한 [PK_다른_ID]도 참조하려고 해.
근데 이렇게 관계를 2번 맺어두면 문제가 [FK_ID]의 데이터가 두 쪽 모두하고 동일한(무결성이 지켜지는) 내용만 삽입이 가능하다는 것.
나의 목적은 [FK_ID]에 들어갈 내용이 [UNIQUEorPK_회원_ID] 또는 [PK_다른_ID] 둘 중 하나하고만 같으면 되는데 말이지.
이러한 상황을 어떻게 해결?
[회원 테이블]의 컬럼
[UNIQUEorPK_회원_ID], [FK_ID]
[다른 테이블]의 컬럼
[PK_다른_ID]
여기에서 [회원 테이블]의 [FK_ID]가 [UNIQUEorPK_회원_ID]을 참조하고,
또한 [PK_다른_ID]도 참조하려고 해.
근데 이렇게 관계를 2번 맺어두면 문제가 [FK_ID]의 데이터가 두 쪽 모두하고 동일한(무결성이 지켜지는) 내용만 삽입이 가능하다는 것.
나의 목적은 [FK_ID]에 들어갈 내용이 [UNIQUEorPK_회원_ID] 또는 [PK_다른_ID] 둘 중 하나하고만 같으면 되는데 말이지.
이러한 상황을 어떻게 해결?
내가 생각한 방법은 서버단이나 SP에서 프로그래밍 적으로 각 테이블에 FK_ID가 참조하려는 데이터가 이미 있는지 검사하여 없으면 예외 처리를 하는 것인데, 이걸 DB 설계단에서 처리할 수 있는 방법은 없는 건가?