fields[1] // grade fields[2] // phone ?
몇 번째 칸에 무엇이 있는지 프로그램이 직접 알아야 하므로 파일 형식이 바뀌면 읽는 코드도 함께 바뀝니다.
핵심은 데이터 구조가 어디에 묶여 있느냐입니다. 파일 시스템은 읽는 코드가 파일 형식을 직접 가정하고, DBMS는 스키마와 SQL 사이에 그 가정을 분리해 둡니다.
customers.txt name|grade
customers.txt name|grade|phone
fields[1] // grade fields[2] // phone ?
몇 번째 칸에 무엇이 있는지 프로그램이 직접 알아야 하므로 파일 형식이 바뀌면 읽는 코드도 함께 바뀝니다.
SELECT name, grade FROM customers;
기존 질의가 새 컬럼을 쓰지 않는다면 그대로 동작합니다. 구조 정보는 DBMS가 관리합니다.
배치, 조회 화면, 보고서처럼 같은 파일을 보는 프로그램이 많을수록 수정 범위가 넓어지고 누락 위험도 커집니다.
새 컬럼을 사용하는 SQL만 추가로 작성하면 됩니다. 기존 기능은 대부분 그대로 유지됩니다.
파일 형식 변경 한 번이 여러 프로그램 장애로 이어질 수 있어 데이터가 늘수록 관리가 더 어려워집니다.
DBMS는 데이터 구조와 응용 프로그램을 느슨하게 연결해 변경 충격을 줄이고, 운영을 더 안정적으로 만듭니다.