외부/개념 매핑이 완충지대

테이블 구조는 바뀌어도, 뷰가 지키는 계약은 그대로 둘 수 있습니다

논리적 데이터 독립성은 개념 스키마의 변화사용자가 보는 외부 스키마를 직접 1:1로 묶지 않는다는 뜻입니다.

매핑의 역할 새 컬럼을 추가해도 뷰가 노출할 열은 따로 유지합니다.
개념 스키마 쪽에서는 무엇이 바뀌는가
외부 스키마 쪽에서는 무엇이 유지되는가
변경

조직 전체 논리 구조의 수정

users 테이블 확장
ALTER TABLE users
ADD phone VARCHAR(20);

업무 요구가 늘어나면 테이블 정의는 더 풍부해질 수 있습니다.

user_view는 그대로
SELECT id, name
FROM users;

`phone`을 노출하지 않으면, 기존 사용자 관점은 변하지 않습니다.

보이는 결과

같은 변경이 두 단계에 다르게 나타남

DB 내부 논리: 이제 `users`는 id, name, phone을 포함하는 더 큰 구조가 됩니다.

앱이 보는 계약: 여전히 id, name만 받으므로 기존 화면과 API는 그대로 동작합니다.

운영 의미

왜 독립성이라고 부르는가

개념 스키마는 진화해도 됩니다. 변경 부담은 뷰와 매핑 관리로 모입니다.

외부 스키마를 안정적으로 유지하면, 이를 쓰는 애플리케이션은 즉시 수정하지 않아도 됩니다.

주의

이 독립성은 특히 컬럼 추가처럼 단순한 변화에서 잘 드러납니다. 하지만 테이블 분할·병합처럼 구조가 크게 바뀌면 `user_view` 자체를 다시 정의해야 할 수 있어, 물리적 데이터 독립성보다 실현이 더 어렵습니다.