SQL/MS-SQL
외래키(foreign key)를 두가지 이상 사용할 경우 예시
박은주
2008. 4. 24. 10:05
create table member_temp_table ( member_id varchar(20) not null, member_pw varchar(20) not null, member_intro varchar(200), member_jumin char(13) not null unique, constraint event_key PRIMARY KEY (member_id,member_jumin) ) 위와 같이 테이블이 작성되었다고 가정한다. 이때 기본키는 두가지가 주어져 있다. sp_helpconstraint member_temp_table; 제약조건을 먼저 확인합니다. alter table member_temp_table add constraint aaa_fk foreign key (member_id, member_jumin) references member_temp_table(member_id, member_jumin) -- 이러한 경우는 "자기 참조 릴레이션"이라고 볼 수 있습니다. 다른 테이블을 참조할 경우(물론 이러한 경우가 당연히 많습니다)는 아래와 같겠죠. alter table member_temp_table add constraint member_fk_2 foreign key (member_id) references another_temp_table(id); 그러할 경우는 참조하는 테이블이 다음과 같이 작성되어 있어야 합니 다. create table another_temp_table ( id varchar(20) not null, constraint prim_key PRIMARY KEY (id) ) -- 외래키 "참조 무결성의 원칙"에 따라 당연히 값이 not null 임과 동시에 참조하는 쪽이나 참조를 당하는 쪽이나 서로 자료형이 동일해야 합니다. 이에 대해서는 온라인 도움말에서 "참조 무결성"과 "테이블 관계"를 살펴보시기 바랍니다. |