DBMS — 데이터를 지키는 사서(司書)
데이터베이스와 DBMS는 다른 것입니다
여러분은 창고에 직접 들어가지 않습니다. 사서에게 부탁할 뿐입니다.
많은 사람이 헷갈리는 지점을 먼저 정리하고 갑시다.
📚 데이터베이스 (DB)
데이터 그 자체입니다.
서가에 꽂힌 책들, 캐비닛 안의 표들.
school.db 라는 파일.
🤖 DBMS
데이터를 관리하는 프로그램입니다.
서가를 지키는 사서.
SQLite, MySQL, PostgreSQL 같은 소프트웨어.
DBMS는 DataBase Management System(데이터베이스 관리 시스템)의 줄임말입니다.
여러분은 창고 문을 열고 직접 들어가지 않아요. 사서에게 쪽지를 건넬 뿐입니다.
그 쪽지에 쓰는 언어가 바로 SQL입니다.
나
SQL 쪽지 →
DBMS
사서
← 결과 표
DB 파일
트랜잭션 — "전부 아니면 전무"
DBMS의 능력 중 가장 극적인 것을 직접 봅시다. 민준이가 서연이에게 5000원을 보냅니다.
이 작업은 두 단계죠 — 민준이 통장에서 빼고, 서연이 통장에 넣기.
만약 첫 단계만 끝나고 컴퓨터가 꺼지면? 5000원이 세상에서 증발합니다.
DBMS는 이런 일이 절대 일어나지 않게 해 줍니다.
BEGIN … COMMIT / ROLLBACK — 은행이 믿고 쓰는 안전장치.
🎮 5,000원을 보내 보세요 — 사고가 나는 채로
트랜잭션 없이 이체하면 돈이 어떻게 되는지 직접 보세요.
그다음 같은 조건에서 트랜잭션으로 이체해 보세요.
두 경우의 은행 전체 금액을 꼭 비교해 보세요.
어떤 사서를 고용할까?
| DBMS | 성격 | 어울리는 곳 |
| SQLite | 파일 하나. 설치 불필요. 가볍고 빠름 | 스마트폰 앱, 작은 웹앱, 학습 ⭐ |
| MySQL | 서버형. 웹에서 가장 널리 쓰임 | 일반적인 웹 서비스 |
| PostgreSQL | 서버형. 기능이 가장 풍부하고 엄격 | 대규모 서비스, 복잡한 분석 |
| Oracle | 기업용. 비싸지만 강력 | 은행, 대기업 |
놀라운 사실 하나 — 여러분의 스마트폰 안에는 이미 SQLite가 수십 개 돌아가고 있습니다.
카카오톡 대화 기록, 사진 앱의 앨범 정보, 브라우저 방문 기록이 전부 SQLite 파일이에요.
세상에서 가장 많이 배포된 데이터베이스입니다.
🤔 확인 문제
school.db 파일과 SQLite 프로그램의 관계로 옳은 것은?
해설 DB = 데이터(책), DBMS = 관리 프로그램(사서)입니다. 일상에서는 둘 다 '데이터베이스'라 부르지만 시험에서는 구분합니다.