입고 테이블의 기본키를 일련번호 입고ID 로 정했더니 다음처럼 같은 송… | [SQLD] SQL 개발자 기출유형 모의고사 8회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 8회
입고 테이블의 기본키를 일련번호 입고ID 로 정했더니 다음처럼 같은 송장이 두 번 입고 등록되었다. 이를 막는 조치로 가장 적절한 것은?

[입고]

입고ID거래처번호송장번호수량
1C10S-77140
2C20S-77115
3C10S-77140
4C10S-7728
1
입고ID 를 더 큰 숫자형으로 변경
2
입고ID 에 인덱스를 하나 더 생성
3
송장번호를 NULL 허용으로 변경
4
거래처번호·송장번호에 UNIQUE 지정
해설

입고ID 같은 인조식별자는 매번 새 값이 붙어 업무상 같은 입고(C10·S-771)가 중복돼도 막지 못하므로, 본질 속성 조합인 거래처번호·송장번호에 UNIQUE 제약을 둔다.

송장번호는 거래처마다 따로 매기므로 C20 의 S-771 은 정상이고 입고ID 3 이 중복이다.

  • 숫자형 범위를 넓혀도 중복 입력은 그대로 허용된다.
  • 입고ID 인덱스는 이미 유일한 값이라 중복 송장을 거르지 못한다.
  • NULL 을 허용하면 송장 없는 입고까지 늘어날 뿐이다.

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

이어서 풀어보기

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