2013-04-08 4 views
0

에 ViewType, 나는 세 개의 테이블 교사, 학생이 하나 개 이상의 테이블

table Teachers{ 
    Id uniqueidentifier, 
    Name nvarchar 
} 


table Student{ 
    Id uniqueidentifier, 
    Name nvarchar 
} 


table ViewType{ 
    Id uniqueidentifier, 
    Type String 
} 

참고 외부 키를 설정 : 이제 ViewType 정기적 룩업 테이블이 아니라는 예를 들어 가정 해 봅시다.
Teacher 또는 Studenttable 모델에 포함되어서는 안되기 때문에 Teacher 또는 Student를 제시하는 방법에 대한 데이터가 포함되어 있습니다.

에서 키가 적용되고 두 테이블에서만 키가 적용되는 두 테이블에 외래 키를 만드는 방법이 있습니까? 감사합니다. .

답변

1

선언적 무결성 제약 조건이 없습니다.

트리거와 함께 구현해야합니다. 그리고 세 테이블 (insert + update, ViewType, 다른 사람들은 delete + update)에 필요합니다.

당신은 제약에게 다른 방법으로 넣을 수 있습니다 : (당신이 학생 & 교사는 처리해야하는 것과 동일한 ID를 참조로 끝날 수) 완벽하지

alter table Student add constraint FK foreign key (Id) references ViewType (Id) 
alter table Teachers add constraint FK foreign key (Id) references ViewType (Id) 

을하지만, 아마도 당신이 할 수있는 최선의 방법 일 것입니다.