탑승권 테이블의 PK 를 인조식별자 탑승권ID(일련번호) 하나로 두었더… | [SQLD] SQL 개발자 기출유형 모의고사 4회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 4회
탑승권 테이블의 PK 를 인조식별자 탑승권ID(일련번호) 하나로 두었더니 같은 편명·출발일·좌석번호로 탑승권이 두 장 발급되었다. PK 는 유지할 때 가장 적절한 보완책은?
1
탑승권ID 를 더 긴 번호로 바꾼다
2
탑승권ID 에 NOT NULL 을 추가한다
3
탑승권ID 를 무작위 문자열로 바꾼다
4
편명·출발일·좌석에 UNIQUE 를 둔다
해설

인조식별자는 행마다 새 값이 붙어 업무상 같은 탑승권도 다른 행으로 저장되므로, 본질 속성 조합(편명·출발일·좌석번호)에 UNIQUE 제약을 두어 업무 중복을 막는다.

인조식별자 PK 는 조인 편의를 위해 그대로 두고 본질식별자의 유일성은 별도 제약으로 보장한다.

  • 일련번호 길이를 늘려도 업무 중복은 그대로 들어온다.
  • NOT NULL 은 값의 존재만 강제할 뿐 중복을 막지 않는다.
  • 무작위 문자열도 행마다 다른 값이라 중복을 막지 못한다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[SQLD] SQL 개발자 기출유형 모의고사 4회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요SQLD SQL 개발자 실전 모의고사 암기장 전체 보기