스키마(Schema) — 데이터베이스와 머릿속이 같은 단어를 쓰는 이유

작성자

카테고리:

요약 — 먼저 결론

스키마는 “데이터가 어떤 모양이어야 하는지 미리 정해둔 틀”이다. 데이터베이스에선 테이블 설계도를, 심리학에선 머릿속 지식의 틀을 가리킨다.

같은 단어를 쓰는 건 우연이 아니다. 둘 다 핵심이 같다 — 틀이 먼저 있어야, 새로 들어오는 것이 자리를 잡는다.

개발할 땐 스키마가 쓰레기 데이터를 막고, 공부할 땐 스키마가 새 지식을 붙잡는다.

은행 신청서 양식을 떠올리면 된다

은행 신청서엔 칸마다 규칙이 있다. 이름 칸엔 글자, 생년월일 칸엔 숫자 8자리, 서명은 필수.

이렇게 칸의 종류·형식·필수 여부를 미리 정해둔 약속이 스키마다. 내용물이 아니라 틀이다. 누가 써넣든 양식은 같다.

개발에서 — 데이터의 설계도

개발에서 스키마는 “이 데이터는 이 모양이어야 한다”는 선언이다. 쓰이는 곳마다 뜻이 같다.

맥락 스키마가 정하는 것
DB 스키마 어떤 테이블에 어떤 컬럼(이름·타입·필수)이 있나
API 스키마 요청·응답에 어떤 필드가 와야 하나
폼·설정 스키마 입력값이 어떤 형식이어야 하나

스키마의 힘은 들어오는 순간 거른다는 데 있다. 나이 칸에 “abc”가 오면 저장 전에 거부된다. 스키마가 없으면 틀린 데이터가 조용히 쌓이다가 몇 달 뒤에 터진다.

심리학에서 — 머릿속 지식의 틀

1932년 심리학자 바틀릿(Bartlett)이 유명한 실험을 했다. 영국 학생들에게 낯선 북미 원주민 설화 “유령들의 전쟁”을 들려주고 시간이 지난 뒤 다시 말하게 했다.

사람들은 이야기를 그대로 기억하지 못했다. 자기에게 익숙한 틀에 맞게 바꿔서 기억했다. 낯선 카누는 익숙한 배로, 낯선 의식은 익숙한 사냥으로.

머릿속에 이미 있는 지식의 틀 — 이게 심리학의 스키마다. 우리는 새 정보를 원본 그대로 저장하지 않는다. 기존 틀에 끼워 넣으며 저장한다. “식당 스키마”가 있으면 처음 가는 식당에서도 헤매지 않는 것처럼 — 들어가고, 앉고, 주문하고, 계산한다.

왜 같은 단어인가

어원은 그리스어 skhēma(형태·모양). 두 분야가 같은 단어를 고른 건 같은 일을 하기 때문이다.

DB 스키마 머릿속 스키마
테이블·컬럼 기존 지식 구조
새 데이터 행으로 삽입 기존 틀에 연결
틀에 안 맞으면 거부 (에러 발생) 조용히 왜곡되거나 잊힘

마지막 줄이 무섭다. 컴퓨터는 안 맞으면 에러라도 띄운다. 뇌는 조용히 왜곡하거나 버린다. 바틀릿의 학생들은 자기 기억이 바뀐 줄도 몰랐다.

실전 — 공부와 개발에 그대로 쓴다

이 개념은 책상 양쪽에서 다 쓰인다.

공부: 새 지식이 안 외워지는 건 머리가 나빠서가 아니라 걸어둘 틀이 없어서일 때가 많다. 새 개념을 만나면 “내가 아는 것 중 무엇과 닮았나”부터 찾아라. 비유 하나가 반복 열 번보다 오래간다.

개발: 데이터를 받기 전에 스키마부터 정하라. “일단 저장하고 나중에 정리”는 거의 항상 쓰레기 산으로 끝난다. 그리고 스키마 변경은 그 위의 데이터 전부에 영향을 주는 수술이다 — 바꾸기 전에 백업.

한 줄 정리

스키마 = 틀. 틀이 먼저 있어야 새것이 자리를 잡는다 — 데이터베이스에서도, 머릿속에서도.

참고한 것

글에 쓴 실험·용어의 출처다.

  • Frederic Bartlett, Remembering (1932) — “유령들의 전쟁” 실험, 스키마 이론의 출발
  • Jean Piaget — 아이는 동화(assimilation)·조절(accommodation)로 스키마를 키운다
  • JSON Schema — 개발 쪽 스키마 표준의 예

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다