같은 구조 변경, 다른 파급 범위

파일 시스템은 형식 변경이 프로그램까지 번지고, DBMS는 스키마가 그 충격을 흡수합니다

핵심은 데이터 구조가 어디에 묶여 있느냐입니다. 파일 시스템은 읽는 코드가 파일 형식을 직접 가정하고, DBMS는 스키마와 SQL 사이에 그 가정을 분리해 둡니다.

변경 전
customers.txt
name|grade
같은 변경 고객 데이터에 phone 컬럼 추가
customers.txt
name|grade|phone
비교 축
파일 시스템
DBMS
구조와 코드
파일 형식이 코드 안에 박혀 있음
fields[1]  // grade
fields[2]  // phone ?

몇 번째 칸에 무엇이 있는지 프로그램이 직접 알아야 하므로 파일 형식이 바뀌면 읽는 코드도 함께 바뀝니다.

스키마가 구조를 맡고 SQL은 의미를 말함
SELECT name, grade
FROM customers;

기존 질의가 새 컬럼을 쓰지 않는다면 그대로 동작합니다. 구조 정보는 DBMS가 관리합니다.

변경 전파
읽는 프로그램 전부 수정

배치, 조회 화면, 보고서처럼 같은 파일을 보는 프로그램이 많을수록 수정 범위가 넓어지고 누락 위험도 커집니다.

스키마 확장 후 필요한 곳만 반영

새 컬럼을 사용하는 SQL만 추가로 작성하면 됩니다. 기존 기능은 대부분 그대로 유지됩니다.

왜 중요한가
구조 변경이 곧 운영 리스크

파일 형식 변경 한 번이 여러 프로그램 장애로 이어질 수 있어 데이터가 늘수록 관리가 더 어려워집니다.

이 분리가 데이터 독립성입니다

DBMS는 데이터 구조와 응용 프로그램을 느슨하게 연결해 변경 충격을 줄이고, 운영을 더 안정적으로 만듭니다.