
데이터베이스는 개발을 처음 배우는 사람에게
생각보다 훨씬 추상적이고 멀게 느껴지는 개념이다.
“그냥 파일에 저장하면 안 되나?”
“엑셀로 관리하면 되는 거 아닌가?”
데이터베이스가 왜 필요한지, 그리고 왜 ‘파일 저장’과는 본질적으로 다른지
카페 주문 시스템을 만든다고 가정해보자.
처음에는 간단하다.
그냥 파일에 저장하면 될 것 같다.
❌ 하지만 곧 문제가 터진다
이 모든 문제를 해결하기 위해 등장한 것이
데이터베이스(Database)다.
| 비교 항목 | 파일 저장 | 데이터베이스 |
|---|---|---|
| 검색 속도 | 처음부터 끝까지 읽음 | 인덱스로 즉시 검색 |
| 동시 접근 | 한 명만 가능 | 여러 명 동시에 가능 |
| 데이터 양 | 커질수록 느려짐 | 수백만 건도 안정적 |
| 안정성 | 손상 시 복구 어려움 | 백업·복구 시스템 내장 |
👉 쉽게 말하면
파일 저장은 개인 노트,
데이터베이스는 도서관이다
데이터베이스(Database)는
데이터를 체계적으로 저장·검색·관리하기 위한 프로그램이다
우리가 매일 쓰는 거의 모든 서비스는
데이터베이스 위에서 동작한다.
| 서비스 | 저장되는 데이터 |
|---|---|
| 🛒 쇼핑몰 | 상품, 주문, 회원 정보 |
| 💬 메신저 | 채팅 기록, 친구 목록 |
| 🏦 은행 | 계좌, 거래 내역 |
| 📺 스트리밍 | 영상 정보, 시청 기록 |
데이터베이스는 보통 다음 구조로 이루어진다.
엑셀로 비유하면 이해가 쉽다.
데이터베이스에서 가장 중요한 개념 중 하나다.
Primary Key는
각 행(Row)을 유일하게 구분하는 값이다
사람으로 치면 주민등록번호와 같다.
컬럼에는 아무 데이터나 들어갈 수 없다.
어떤 종류의 데이터인지 미리 정의해야 한다.
| 타입 | 설명 | 예시 |
|---|---|---|
| INT | 정수 | 1, 100 |
| VARCHAR | 짧은 문자열 | "홍길동" |
| TEXT | 긴 문자열 | 게시글 내용 |
| DATE | 날짜 | 2025-12-29 |
| DATETIME | 날짜+시간 | 2025-12-29 14:30 |
데이터베이스에서 하는 모든 일은
딱 네 가지로 정리된다.
| 작업 | 의미 | 예시 |
|---|---|---|
| Create | 생성 | 회원가입 |
| Read | 조회 | 게시글 보기 |
| Update | 수정 | 프로필 변경 |
| Delete | 삭제 | 회원 탈퇴 |
👉 앞으로 배우는 모든 SQL은
CRUD 중 하나다
대부분의 실무 DB는
관계형 데이터베이스다.
관계형 DB란?
테이블 간의 관계를 연결할 수 있는 데이터베이스
예를 들어,
주문 테이블에 user_id를 두면,
“누가 주문했는지”를 연결할 수 있다.
👉 중복을 줄이고,
👉 데이터 정합성을 유지한다
SQL은 데이터베이스와 대화하는 언어다.
중요한 특징이 하나 있다.
SQL은 “어떻게”가 아니라
“무엇을” 원하는지 말하는 언어다
🗄️ “데이터베이스는 데이터를 쌓는 기술이 아니라,
데이터를 ‘질서 있게 관리하는 기술’이다”