LIBRARY MODEL

도서관 모델의 핵심은 서지 정보와 실제 책의 분리다

같은 ISBN의 책이 여러 권 있을 수 있으므로, 공통 도서정보와 개별 소장도서를 분리해야 상태를 정확히 관리할 수 있습니다.

공통 정보
개별 상태
업무 규칙
BookInfoISBN, 제목, 저자
1:N
BookCopy소장번호, 상태
1:N
Loan대출일, 반납예정일
서지 정보한 번만 저장

제목, 저자, 출판사는 ISBN 기준으로 중복을 줄입니다.

소장도서한 권마다 상태 관리

같은 책 5권은 copy_id가 다른 5행으로 관리합니다.

대출/예약사건 기록

누가 언제 빌리고 반납했는지 이력으로 남깁니다.

규칙DDL만으로?구현 위치주의
최대 5권부분 가능트랜잭션/서비스동시성
연체 중 불가부분 가능쿼리+락상태 일관성
1회 연장제약 가능CHECK/로직버전 확인
정규화는 “같은 정보는 한 곳에, 실제 사건과 상태는 별도 테이블에”라는 역할 분리에서 힘이 나옵니다.