데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
CREATE TABLE 추가좌석유형(
유형번호 Char(10) PRIMARY KEY,
좌석유형 Char(10) NOT NULL,
비행구간 Char(10) NOT NULL,
추가요금 Money NOT NULL
);
CREATE TABLE 초과수하물(
초과수하물번호 Int PRIMARY KEY,
비행구간 Char(10) NOT NULL,
중량 Char(10) NOT NULL,
추가요금 Money
);
CREATE TABLE 기내식(
기내식번호 Int PRIMARY KEY,
메뉴 Char(30) NOT NULL,
가격 Money NOT NULL
);
CREATE TABLE 좌석(
좌석번호 Char(10) NOT NULL,
열 Int NOT NULL,
구역 Char(10) NOT NULL,
비행구간 Char(10) NOT NULL,
CONSTRAINT 좌석_PK PRIMARY KEY(좌석번호,비행구간)
);
CREATE TABLE 부가서비스(
부가서비스번호 Int PRIMARY KEY,
기내식번호 Int NULL,
사전구매좌석번호 Char(10) NULL,
추가좌석 Char(10) NULL,
초과수하물번호 Int NULL
CONSTRAINT 기내식번호_FK FOREIGN KEY(기내식번호) REFERENCES 기내식(기내식번호),
CONSTRAINT 초과수하물번호_FK FOREIGN KEY(초과수하물번호) REFERENCES 초과수하물(초과수하물번호),
CONSTRAINT 사전구매좌석번호_FK FOREIGN KEY(사전구매좌석번호) REFERENCES 좌석(좌석번호),
CONSTRAINT 추가좌석_FK FOREIGN KEY(추가좌석) REFERENCES 추가좌석유형(유형번호)
);
여기서 부가서비스 테이블의 3번째 constraint가 문제인 것 같은데 해결방법이 있을까요?
Comment 1
-
건우아빠
2017.05.28 13:36
1. 부가서비스테이블 에 비행구간을 추가하시고
CONSTRAINT 사전구매좌석번호_FK FOREIGN KEY(사전구매좌석번호,비행구간) REFERENCES 좌석(좌석번호,비행구간),
하시던가
2. 좌석테이블에 키를 좌석번호만 하시던가
3. FK를 빼시고 입력단에서 선택하여 입력하는 방식으로 잘못된 데이타가 안들어가도록 제어하시던가.