2014-02-20 4 views
0

어리석은 질문 일까 ...복수의 역할을 가진 테이블의 관계

나는 간단한 주문 데이터베이스를 실현하고 싶다. 고객이 주문을 보내고받을 수 있습니다.

주문에는 발송인과 발송인에 상대적인 날짜와 외래 키 두 개가있을 수 있습니다. 단순화 된 고객 테이블이

Customers(ID,name, surname,city) 

것이

Orders(ID,Date,id_sender,id_receiver) 

같은

뭔가 내가 /이 개 고객을 만들 수 없습니다 것으로 나타났습니다 하나는 외래 키 id_sender을 기준으로 주문 관계 다른 하나는 id_receiver입니다. 방금 OpenOffice DBMS를 사용해 보았는데 고객과 주문 간의 관계가 이미 존재하기 때문에 두 번째 관계를 설정하려고 할 때 오류가 발생합니다.

ID in statement [ALTER TABLE "Orders" ADD FOREIGN KEY("id_sender","id_receiver") REFERENCES "Customers"("ID","ID") 

어떻게해야합니까? 고마워요. 어쩌면 어리석은 질문 일지라도 미안합니다.

답변

0

귀하의 진술은 is_sender와 id_receiver라는 두 개의 열이있는 하나의 복합 외래 키를 만들려고합니다. 둘 다 동일한 열을 참조하며, 고객의 id입니다. 아마 당신이 원하는 것이 아닙니다. 대신 두 개의 별도 제약 조건을 정의하려고 할 수 있습니다.

alter table Orders add foreign key (id_sender) references Customers (id); 
alter table Orders add foreign key (id_receiver) references Customers (id); 
관련 문제