5과5-3

데이터베이스 기초

데이터 저장의 원리, SQL/NoSQL, CRUD 개념을 쉽게 이해합니다

데이터베이스란?

데이터베이스(Database, DB)는 데이터를 체계적으로 저장하고 빠르게 찾을 수 있게 하는 시스템입니다. 엑셀 스프레드시트를 상상해보세요. 열(Column)과 행(Row)으로 데이터가 정리되어 있고, 원하는 데이터를 빠르게 검색할 수 있습니다. 데이터베이스는 그 엑셀의 매우 강력한 버전입니다. 웹사이트의 회원 정보, 게시글, 주문 내역, 상품 정보 등 모든 데이터는 데이터베이스에 저장됩니다. AI가 이전 대화를 기억하는 것도 대화 내용이 데이터베이스에 저장되기 때문입니다.

CRUD — 데이터의 4가지 기본 동작

데이터베이스를 다루는 모든 작업은 4가지로 요약됩니다. 이를 CRUD라고 합니다. C — Create(생성): 새 데이터 추가 (신규 회원 가입, 새 게시글 작성) R — Read(조회): 데이터 읽기 (로그인 시 비밀번호 확인, 게시글 목록 불러오기) U — Update(수정): 기존 데이터 변경 (비밀번호 변경, 게시글 수정) D — Delete(삭제): 데이터 제거 (회원 탈퇴, 게시글 삭제) Claude Code에게 기능을 요청할 때 'CRUD 기능을 만들어줘'라고 하면 네 가지 동작을 모두 구현해줍니다.
# SQL 예시 — 직원 데이터베이스

-- 직원 테이블 만들기
CREATE TABLE employees (
  id      INTEGER PRIMARY KEY,
  name    TEXT NOT NULL,
  dept    TEXT,
  salary  INTEGER,
  hire_date DATE
);

-- 새 직원 추가 (Create)
INSERT INTO employees (name, dept, salary, hire_date)
VALUES ('김철수', '인사팀', 3500000, '2024-03-01');

-- 직원 조회 (Read)
SELECT * FROM employees WHERE dept = '인사팀';

-- 급여 수정 (Update)
UPDATE employees SET salary = 4000000 WHERE name = '김철수';

-- 직원 삭제 (Delete)
DELETE FROM employees WHERE id = 1;
TIP: SQL을 직접 외울 필요 없습니다. '직원 이름과 부서로 검색하는 기능을 만들어줘'라고 하면 Claude Code가 SQL을 작성해줍니다. SQL의 존재와 기본 구조를 이해하는 것만으로 충분합니다.

SQL vs NoSQL — 어떤 데이터베이스를 쓸까?

데이터베이스는 크게 두 종류로 나뉩니다. SQL 데이터베이스 (관계형 DB): 엑셀처럼 표 형태로 데이터를 저장합니다. 데이터 간 관계(직원-부서-급여)를 엄격하게 관리합니다. 대표적으로 PostgreSQL, MySQL, SQLite가 있습니다. 비즈니스 데이터, 금융 데이터처럼 정확성이 중요할 때 적합합니다. NoSQL 데이터베이스: 표 형태가 아닌 더 유연한 구조(JSON 형태)로 데이터를 저장합니다. 대표적으로 MongoDB, Firebase Firestore가 있습니다. 소셜 미디어 게시글, 사용자 설정처럼 형태가 다양하고 빠른 개발이 필요할 때 적합합니다. 바이브코딩으로 빠르게 만들 때는 Firebase Firestore(NoSQL)나 Supabase(SQL)가 초보자에게 편리합니다.

핵심 정리

  • 데이터베이스는 데이터를 체계적으로 저장하고 빠르게 검색할 수 있게 하는 시스템입니다.
  • 모든 데이터 작업은 CRUD(생성/조회/수정/삭제) 4가지로 요약됩니다.
  • SQL은 엄격한 표 형태, NoSQL은 유연한 구조로 각각 다른 상황에 적합합니다.

자주 묻는 질문

엑셀로 데이터를 관리하면 안 되나요?+

간단한 데이터는 엑셀로 충분합니다. 하지만 동시 접속자가 여러 명이거나, 데이터가 수만 건을 넘거나, 웹/앱에서 실시간으로 데이터를 읽고 쓰는 경우에는 데이터베이스가 필요합니다. AI가 데이터를 기억하거나 사용자별로 다른 결과를 보여주려면 반드시 데이터베이스가 있어야 합니다.

무료로 쓸 수 있는 데이터베이스가 있나요?+

Supabase(PostgreSQL 기반), Firebase(Google), Neon(PostgreSQL) 등이 무료 티어를 제공합니다. 개인 프로젝트나 소규모 서비스는 무료 플랜으로 충분합니다. Vercel과 연동도 잘 됩니다.

이 강의가 어떠셨나요?