SQLP
시험 직전 요약장
판단 기준과 헷갈리는 개념, 대표 예제를 짧게 확인하세요.
이력 데이터 조회: 점이력·선분이력·기간 겹침과 Temporal Validity
원래 이론 →판단 기준
표를 좌우로 밀어 나머지 열을 확인하세요. 키보드: ←·→, Home·End
| 단순 판단 | 정확한 기준 |
|---|---|
| 최대 종료일 행이 현재 행이다 | 현재 시점이 실제 유효 구간에 포함되는지 확인 |
| 변경 시각만 내림차순이면 최신 행이 결정된다 | 동률을 해소하는 유일한 Tie-Breaker 필요 |
BETWEEN은 기간 조회에 항상 편리하다 | 양쪽 경계 포함 여부와 Column의 시각 정밀도 확인 |
| 기간이 접하면 항상 겹친다 | 닫힌 구간과 반개구간의 업무 규칙에 따라 판단 |
| Index가 있으면 모든 Key 최신 조회도 빠르다 | Key 수와 반복 Probe 총량을 일괄 처리 방식과 비교 |
| PK가 있으면 선분이력 겹침도 방지된다 | 다른 행과의 기간 겹침은 별도 Transaction 규칙 필요 |
| DATE Column은 날짜만 저장한다 | DATE도 시·분·초를 저장한다 |
| NVL 종료 Sentinel은 성능 영향이 없다 | 분포·타입·Index 표현식·업무 최대일을 검증한다 |
| 기간 Index의 모든 조건은 access Predicate다 | 선두 Range 이후 조건은 Filter가 될 수 있다 |
| Temporal Validity와 Flashback은 같은 시간 | Valid Time과 Transaction Time을 구분한다 |
| GREATEST·LEAST가 NULL 열린 기간을 자동 처리 | NULL을 먼저 업무 의미로 정규화한다 |
헷갈리는 개념
이력 테이블에는 서로 다른 두 종류의 시간이 등장할 수 있습니다.
표를 좌우로 밀어 나머지 열을 확인하세요. 키보드: ←·→, Home·End
| 시간 | 의미 | 예시 |
|---|---|---|
| 업무 유효시간 | 업무적으로 그 상태가 유효한 기간 | 보험 효력 시작일·종료일 |
| 기록시간 | 데이터베이스에 행이 입력되거나 변경된 시점 | 변경 처리 시각·감사 기록 시각 |
예를 들어 주소 변경을 7월 10일에 입력했지만 업무상 효력은 7월 1일부터라고 정할 수 있습니다.
예시·텍스트좌우로 이동해 전체 내용을 확인하세요. 키보드: ←·→, Home·End
업무 유효 시작: 2026-07-01
DB 기록 시각 : 2026-07-10 09:30:00
이때 “7월 5일의 유효 주소”를 묻는 Query와 “7월 5일에 Database에 저장되어 있던 주소”를 묻는 Query는 결과가 다를 수 있습니다. 이번 이론은 주로 업무 유효시간을 기준으로 한 조회를 다룹니다.
대표 계산·예제
예를 들어 7월 10일에 “7월 1일부터 주소가 변경되었다”고 소급 입력한 경우입니다.
내 최근 연습 오답
현재 브라우저의 연습 채점 기록에서 공개된 단원과 연결된 오답을 확인합니다.
오답 기록을 확인하고 있습니다.