공동명의 데이터에서 주택 속성과 소유관계를 별도 테이블로 나누기
발행
공동명의 기록에서 주택 한 건과 소유자 여러 명은 일대다 관계다. 주소 행을 소유자 수만큼 복제하면 주택 정보가 서로 다르게 수정될 수 있고, 소유자 이름을 한 칸에 모으면 각 지분의 유효기간을 관리하기 어렵다. 주택과 사람 사이에 소유관계 행을 두면 이 두 오류를 함께 줄일 수 있다.
한 주택과 여러 관계를 잇는 구조
주택 1건 ── 소유관계 여러 건 ── 소유자
├─ 지분 원문
├─ 유효 시작일
├─ 유효 종료일
└─ 근거 문서 ID
특정 날짜의 공동명의 상태를 볼 때는 그 날짜가 유효 시작일 이후이고 종료일 이전인 관계만 주택에 연결한다. 현재 행과 과거 행을 한 화면에 표시하더라도 상태를 구분하며, 확인일과 관계의 유효기간을 같은 날짜로 간주하지 않는다.
관계 오류를 막는 세 가지 검사
- 고아 참조 방지: 등록되지 않은 주택 ID나 소유자 ID에는 소유관계 행을 연결하지 않는다.
- 중복 기간 점검: 같은 주택과 소유자의 유효기간이 뜻하지 않게 겹치면 새 행을 현재 상태로 채택하기 전에 근거를 확인한다.
- 원문 보존: 지분율은 등기 자료의 표기와 문서 ID를 함께 저장하고, 계산한 비율이나 내부 분담값으로 원문을 대체하지 않는다.
소유자별 지분정보를 확인하는 참고자료는 필요한 확인 항목을 살피는 데 쓸 수 있다. 실제 관계 행은 해당 주택의 자료에 근거해 만들고, 참고자료만으로 존재하지 않는 연결을 생성하지 않는다.
소유자가 바뀌면 기존 행을 수정할까?
기존 관계에는 종료일을 남기고 새 근거 문서와 시작일을 가진 후속 관계를 추가한다.
지분 합계가 다르게 보이면 자동으로 고칠까?
자료 버전과 기준일이 같은지 먼저 확인하고 불일치 상태를 기록한다. 시스템이 법률상 소유관계를 추정해 값을 보정하지 않는다.