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를 빼시고 입력단에서 선택하여 입력하는 방식으로 잘못된 데이타가 안들어가도록 제어하시던가.