작성
·
703
·
수정됨
0
테이블 구조에 관해 몇가지 문의드립니다.
coffee_menu_log 쿼리문이 없어 기존 테이블을 삭제(학습하면서 테스트한다고 무작위로 들어간 데이터도 삭제할 겸)했습니다. 그런데 테이블을 작성하면서 좀 아리송한 부분이 있어 문의드립니다.
cust_info 테이블의 cust_id 컬럼 구조가 유니크한 큐로 유지되는 구조가 맞나요?
그리고 order_list의 외래 키의 이름이 조금 달라 문의드립니다.
이러한 질문을 드리는 이유는 sql 파일에 존재하는 테이블 수정의
ALTER TABLE order_list
ADD CONSTRAINT fk_cust_id
FOREIGN KEY(cust_id)
REFERENCES cust_info(cust_id)에서
키가 유니크한 키가 아닌 포린키로 지정되어 있어. 문의드립니다. 유니크한 키에서 이후 포린 키로 변경해야 하나요?
답변 2
0
0
안녕하세요. 열심히 하시는 모습이 보기 좋습니다. ^^
말씀하신대로 외부에서 포린키로 지정하기 위한 참조키는 유니크 인덱스로 되어 있어야 합니다.
당연하지만, 해당 키값이 2개가 된다면 포린키로서의 의미가 없어지게 되겠죠.
외래키는 자동으로 만들게되면 임의의 명칭이 들어가게 되고
위와같이 명칭을 넣게 되면 해당 명칭으로 생성이 됩니다.
기존 포린키를 삭제하고 다시 생성해보시면 아래와 같이 생성될것으로 보입니다.
아~!! 키값을 삭제 후 다시 추가하면 명칭이 바뀌나 봐요.
어제 이 문제로 유니크 키값을 포린 키로 변경하니 cust_id로의 이름값이 변경되어 당황했는데, 문제는 없는 건가 봐요?