다음 진료예약 테이블은 시퀀스로 부여한 인조식별자 예약ID를 기본키로 … | [SQLD] SQL 개발자 기출유형 모의고사 6회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 6회
다음 진료예약 테이블은 시퀀스로 부여한 인조식별자 예약ID를 기본키로 쓴다. '의사 한 명은 같은 일시에 한 건만 예약받는다'는 규칙을 어긴 두 행의 예약ID는?[진료예약]
| 예약ID | 환자번호 | 의사번호 | 예약일시 |
|---|---|---|---|
| 1 | P01 | D1 | 2026-03-02 09:00 |
| 2 | P02 | D1 | 2026-03-02 09:30 |
| 3 | P03 | D2 | 2026-03-02 09:00 |
| 4 | P04 | D1 | 2026-03-02 09:30 |
| 5 | P01 | D2 | 2026-03-03 10:00 |
| 6 | P02 | D1 | 2026-03-03 10:00 |
1
1, 3
2
2, 4
3
5, 6
4
1, 5
해설
예약ID 2와 4는 같은 의사 D1 의 같은 일시 03-02 09:30 예약이라 규칙을 어기지만, 예약ID 가 서로 달라 인조식별자 기본키로는 막히지 않는다.
이런 업무 중복은 (의사번호, 예약일시)에 UNIQUE 제약을 따로 걸어야 방지할 수 있다.
- 1과 3은 같은 일시이지만 의사가 달라 허용된다.
- 5와 6도 같은 일시이지만 의사가 D2·D1 로 다르다.
- 1과 5는 같은 환자의 다른 일시 예약이다.
오류나 개정된 내용이 보이면 알려주세요