유튜브 교육자료2026-07-05

[비개발자 사고법 08강] 데이터베이스는 '창고'입니다 — 새로고침하면 다 사라지는 진짜 이유·테이블·CRUD·SQL vs NoSQL 한 방 정리

화면에 떴으니 저장된 줄 알았죠 — 새로고침하면 로그인·메모가 다 사라지는 진짜 이유

프론트엔드는 예쁘게 잘 만들었습니다. 화면에 떴으니까 당연히 저장된 줄 알았죠. 그런데 새로고침하면… 다 사라져 있습니다. 로그인도, 메모도, 회원가입도요. 이건 여러분 잘못이 아니라 '창고(데이터베이스)'를 안 만들어서 그런 겁니다. 딱 한 문장만 기억하세요 — "보여줘"는 식탁에 차리는 것(치우면 끝), "저장해줘"는 창고에 넣는 것(안 사라짐). 이 한 문장으로 시작해서 테이블·스키마·CRUD·SQL vs NoSQL까지, 코딩 한 줄 몰라도 오늘 데이터베이스를 끝냅니다.

▶ 먼저 영상을 보고 오시면 아래 글이 복습이자 심화가 됩니다.

왜 비개발자가 '데이터베이스'까지 알아야 할까

비개발자가 코딩을 포기할까 말까 하는 지점은 프론트엔드가 아닙니다. 프론트엔드는 눈에 보이니까 "예쁘게 고쳐줘"라고 하면 되거든요. 진짜 고비는 화면엔 멀쩡히 떴는데, 새로고침하면 다 사라질 때입니다. 로그인 페이지까지 만들었는데 아이디·비밀번호를 쳐도 안 들어가지고, 메모를 적었는데 다시 켜면 텅 비어 있어요.

요즘 AI 에이전트(클로드 코드 등)는 안 시켜도 데이터베이스까지 알아서 잡아 줍니다. 그래서 작업하다 보면 이런 질문을 받게 돼요 — "데이터베이스를 넣어 드릴까요? 구글 파이어베이스에 연결해 드릴까요? 수파베이스에 연결해 드릴까요?" 이때 얼타지 않고 "어, 그래. 파이어베이스로 해줘"라고 자연스럽게 받아치려면 개념을 알아야 합니다. 김지백 강사에 따르면, 데이터베이스를 알아야 비로소 나만의 앱·나만의 프로젝트를 만들 수 있고, 회사에서 ERP 같은 프로젝트를 할 때도 내일도, 내일모레도 계속 쓸 수 있는 시스템이 됩니다.

오늘 목표는 데이터베이스를 '직접 설계하는 것'이 아닙니다. AI가 "Firestore에 저장할까요?", "스키마를 어떻게 잡을까요?"라고 물을 때 알아듣고, 콕 집어 지시하는 것 — 그거면 충분합니다. 그래서 어려운 말 대신 식탁과 창고 이야기로 풀어 봅니다.

🍽️ 화면은 식탁, 저장은 창고 — 왜 사라지는가

AI에게 "보여줘"라고 하는 건 식탁에 차리는 일입니다. 보기엔 그럴듯하지만, 치워 버리면(새로고침하면) 끝이에요. 반면 "저장해줘"창고에 넣는 일입니다. 창고에 넣은 물건은 다음 날 가게 문을 다시 열어도 그대로 있죠. 지난 두 시간 동안 배운 주방(백엔드)과 알바생(API) 이야기에서 빠지지 않고 등장했던 "주방 한 켠의 거대한 창고이자 냉장고" — 오늘은 그 창고 안으로 직접 들어가 봅니다.

식당웹 / 앱시리즈
손님 · 주문하는 홀사용자 · 화면(프론트엔드)05강
주방백엔드(서버)06강
주문을 들고 오가는 알바생API07강
창고 · 냉장고데이터베이스(DB)오늘 (08강)

그런데 창고에 물건을 그냥 아무렇게나 쌓아 두면 어떻게 될까요? 이사할 때 박스에 내용물을 안 적어 두면 나중에 아무것도 못 찾는 것처럼, 데이터도 정리해 두지 않으면 컴퓨터도 못 찾습니다. 줄을 맞춰 정리해 두면 1초 만에 꺼낼 수 있어요. 그 "줄 맞춰 정리하는 법"이 지금부터 나옵니다.

📦 창고 안은 이렇게 생겼다 — 테이블·행·열

데이터베이스를 한마디로 하면 잘 정리된 거대한 엑셀 표입니다. 엑셀이나 노션 표를 보신 적 있다면 이미 절반은 아는 거예요. 회원 명단을 예로 들어 볼게요.

이름이메일가입일
홍길동hong@example.com2026-02-02
김영희kim@example.com2026-02-15

여기서 딱 세 단어만 잡으면 됩니다. 맨 윗줄의 항목들(이름·이메일·가입일)처럼 세로 방향 한 칸 한 칸이 열(컬럼, column) — "어떤 정보를 담을지"입니다. 홍길동 씨의 정보 가로 한 줄이 행(레코드, record) — 데이터 하나하나죠. 회원 한 명이 가입하면 표에 한 줄이 추가되는 겁니다. 그리고 이런 표 전체를 테이블(table)이라고 불러요. 회원 테이블, 상품 테이블, 주문 테이블처럼 잘 짜인 표들이 모여 하나의 데이터베이스가 됩니다.

왜 영어 단어까지 알아야 하나요? 클로드 코드 같은 AI가 작업하면서 "컬럼을 추가했습니다", "레코드를 삭제할까요?"라고 말하기 때문입니다. 열=컬럼, 행=레코드·데이터 한 줄, 표=테이블. 이 세 쌍만 알아들으면 AI의 보고가 갑자기 한국어로 들리기 시작합니다.

🏷️ 스키마 — 칸마다 '들어갈 수 있는 형식'이 정해져 있다

테이블을 짤 때 정말 중요한 것이 스키마(schema)입니다. 어렵게 들리지만, "이 칸에는 어떤 형식의 값만 들어갈 수 있다"는 규칙이에요. 이름 칸에는 텍스트, 가입일 칸에는 날짜, 휴대폰 번호 칸에는 숫자 — 이렇게요.

사실 여러분은 이미 스키마를 겪어 봤습니다. 구글 폼이나 네이버 폼에서 전화번호 칸에 이름을 쓰면 "숫자를 입력하세요"라고 거절당하죠? 그 칸의 스키마가 '숫자'로 되어 있어서 텍스트를 인식하지 못하는 겁니다. 형식이 안 맞는 값을 넣으면 데이터를 제대로 읽지 못하는 사고가 나요. 다행히 스키마는 AI가 거의 다 잡아 줍니다 — 다만 이런 개념이 있다는 걸 알아야, AI가 "가입일 컬럼은 date 타입으로 잡을게요"라고 할 때 고개를 끄덕일 수 있습니다.

🧺 AI가 못 해 주는 단 한 가지 — "무슨 데이터를 모을까"

화면도, 테이블도, 스키마도 AI가 다 만들어 줍니다. 그런데 딱 하나, AI가 대신 정해 줄 수 없는 게 있어요. "입력단에서 어떤 데이터를 수집할 것인가" — 이건 사장님(여러분)의 결정입니다. 물론 이것도 AI에게 물어보며 정할 수 있습니다:

"쇼핑몰을 만들려고 하는데, 고객 맞춤형으로 대응하려면 기본 정보 말고 어떤 데이터를 더 입력받으면 좋을까?" → AI: "지역·취미·소득 수준 같은 항목은 어떨까요?" → 채택한 항목을 입력단에 넣으면, AI가 화면(UI)뿐 아니라 테이블에도 그 열을 추가해 줍니다.

한 가지 주의할 점 — 수집 항목은 처음에 잘 정하는 게 좋습니다. 입력 항목 7개로 회원 100명을 모은 뒤에 4개를 추가해 11개로 늘리면, 먼저 가입한 100명과 나중 가입자의 데이터가 달라서 충돌이 생길 수 있어요. 요즘 AI가 이런 변경도 곧잘 처리해 주지만, "처음 설계가 중요하다"는 감각은 사장님이 갖고 있어야 합니다.

🔁 창고 안에서 하는 일은 딱 4가지 — CRUD

창고에서 하는 일은 결국 네 가지뿐입니다. 넣고, 꺼내고, 바꾸고, 버리고. 이 네 동작의 앞글자를 딴 말이 CRUD(크러드)예요. 우리가 쓰는 거의 모든 앱이 이 네 가지를 끊임없이 반복합니다.

CRUD창고에서앱에서연결되는 API 동사(07강)
Create 만들기물건 넣기회원가입 = 표에 한 줄 추가POST
Read 읽기꺼내 보기내 정보·상품 목록·주문 내역 보기 (제일 많이 하는 일)GET
Update 고치기내용 바꾸기닉네임·비밀번호·배송 주소 변경PUT · PATCH
Delete 지우기버리기회원 탈퇴·글 삭제 = 그 줄을 통째로 삭제DELETE

지난 API편에서 배운 GET·POST·PUT·PATCH·DELETE가 바로 이 CRUD와 정확히 연결됩니다. 알바생(API)에게 "가져와(GET)·등록해(POST)"라고 시키면, 그 주문의 끝점에서 창고(데이터베이스)가 수정되고 고쳐지고 지워지는 것이죠. 이 연결이 보이면 백엔드가 어느 정도 잡힌 겁니다.

실전 사례 — 결제했는데 계속 '무료'로 뜬다면? 손님이 15,000원을 결제했는데 화면엔 여전히 무료 회원으로 뜹니다. 이건 결제 데이터가 들어왔을 때 회원 등급을 고치는 Update(PUT/PATCH)가 안 짜여 있는 것이에요. 이 흐름을 알면 "토스 결제 완료 데이터가 들어오면 회원 등급이 자동으로 VIP로 업데이트되게 해줘"라고 콕 집어 시킬 수 있습니다. 흐름을 모르면 시킬 수도 없어요.

🗄️ 창고의 종류 — 반듯한 SQL vs 자유로운 NoSQL

창고에도 두 종류가 있습니다. 하나는 SQL(에스큐엘) — 반듯한 엑셀 표 방식입니다. 칸이 미리 딱 정해져 있어서 이름 칸엔 이름만, 가입일 칸엔 날짜만 들어가는 정형 데이터죠. 규칙이 엄격하고 표들끼리 연결도 되기 때문에("이 주문은 저 회원 것") 은행·쇼핑몰처럼 돈과 중요한 정보를 다루는 곳에 안전합니다.

다른 하나는 NoSQL(노에스큐엘) — 메모지나 서류 봉투처럼 자유롭게 담는 방식입니다. 어떤 데이터는 항목이 많고 어떤 건 적어도 괜찮아요(비정형 데이터). 상품 리뷰를 생각해 보세요 — 사람들이 규격에 맞춰서 씁니까? 아니죠. 이렇게 형식이 자유롭거나, 데이터가 빠르게 변하고 양이 엄청날 때 NoSQL이 유리합니다.

SQL — 반듯한 엑셀 표NoSQL — 자유로운 서류함
데이터 성격정형 (규칙 엄격)비정형 (형식 유연)
어울리는 곳회원 명단·주문·결제 (돈·중요 정보)리뷰·로그처럼 자유 형식·대량 데이터
용어테이블 · 행(레코드) · 열(컬럼)컬렉션 · 문서(도큐먼트) · 필드(+필드 값)
대표 서비스Supabase(수파베이스), PostgreSQLFirebase의 Firestore(파이어스토어)

참고로 요즘 구글 파이어베이스에는 NoSQL(Firestore)뿐 아니라 SQL 커넥트(PostgreSQL)까지 추가되어 둘 다 쓸 수 있고, 사진·동영상 같은 파일은 데이터베이스가 아니라 스토리지(Storage)라는 자료실에 따로 보관합니다. 중요한 건 둘 중 뭐가 더 좋은 게 아니라 용도에 따라 골라 쓴다는 것 — 이 감각만 있으면 AI가 "Firestore로 할까요?"라고 물을 때 자신 있게 답할 수 있습니다.

한눈에 보는 데이터베이스 7단어 정리

용어창고 비유하는 일
데이터베이스 (DB)주방 한 켠의 거대한 창고·냉장고서비스의 모든 기억(회원·주문·글)을 정리해 보관
테이블줄 맞춰 정리한 선반 (엑셀 표)회원 테이블·주문 테이블처럼 종류별로 정리
열 (컬럼)선반의 칸 이름표이름·이메일·가입일 같은 항목
행 (레코드)물건 하나회원 한 명 = 표의 한 줄
스키마칸마다 붙은 "여긴 ○○만" 규칙이름=텍스트·가입일=날짜·전화번호=숫자
CRUD넣고·꺼내고·바꾸고·버리고POST·GET·PUT/PATCH·DELETE와 연결
SQL / NoSQL반듯한 엑셀 표 / 자유로운 서류함정형(Supabase) / 비정형(Firestore) — 용도별 선택

사장님처럼 AI에게 시키는 법 — "저장해줘"를 콕 집어서

데이터베이스를 모르면 이렇게 시킵니다 — "메모 적는 기능 만들어줘." 요즘 AI가 똑똑해서 알아서 잡아 주기도 하지만, 창고 없이 식탁만 차려 주면 새로고침하는 순간 텅 빕니다. 이제는 이렇게 시키세요:

❌ "메모 적는 기능 만들어줘" (식탁만 차려 줄 수 있음 — 새로고침하면 증발)
✅ "내가 쓴 메모를 저장 테이블에 한 줄씩 넣어서, 새로고침해도 사라지지 않고 다시 켜면 그대로 불러와서 보여지게 해줘."
더 디테일하게는 — "파이어베이스에 NoSQL(Firestore)로 저장해줘", "수파베이스에 저장해줘"처럼 창고까지 지정할 수 있습니다.
이런 증상이 보이면…이렇게 콕 집어 시키세요
새로고침하면 메모·로그인이 사라진다"이 데이터가 데이터베이스에 실제로 저장되는지 확인하고, 안 되면 저장 테이블에 넣어줘"
결제했는데 화면엔 무료로 뜬다"결제 완료 데이터가 들어오면 회원 등급이 자동 업데이트(PUT/PATCH)되게 해줘"
오늘 가입자 수가 궁금하다"회원 테이블에서 오늘 날짜 가입일 컬럼을 가져와서(GET) 집계해줘"
수집 항목을 뭘로 할지 모르겠다"이런 앱을 만들려는데 어떤 데이터를 입력받아야 할지부터 알려줘"
Firebase 연결·키 설정이 어렵다"Playwright 켜서 네가 직접 등록해줘" + 막히는 화면은 스크린샷을 찍어 "여기서 어떤 부분을 입력하면 되니?"

Firebase 프로젝트 등록, SDK·키 설정 같은 초기 세팅도 겁낼 필요 없습니다. 클로드 코드에게 브라우저(Playwright)를 켜서 직접 해 달라고 하면 아이디·비밀번호 입력 정도만 빼고 대부분 잡아 줍니다. 필요한 건 코딩 실력이 아니라 티키타카할 약간의 인내심이에요.

📝 5분 체크포인트

오늘 핵심 3가지를 점검합니다. 답을 고르고 [정답 확인]을 누르면 즉시 채점됩니다.

Q1. 화면에는 분명히 떴는데 새로고침하면 메모·로그인이 다 사라지는 가장 정확한 이유는?

정답: C — "보여줘"는 식탁에 차리는 것이라 치우면(새로고침하면) 끝입니다. "저장해줘" 즉 창고(데이터베이스)에 넣어야 다시 켜도 그대로 불러올 수 있어요. 화면에 떴다고 저장된 게 아닙니다.

Q2. 창고(데이터베이스) 안에서 하는 4가지 동작 CRUD를 순서대로 바르게 짝지은 것은?

정답: A — 넣고(Create)·꺼내고(Read)·바꾸고(Update)·버리고(Delete). 회원가입은 Create(한 줄 추가), 주문 내역 보기는 Read, 닉네임 변경은 Update, 탈퇴는 Delete입니다. API의 POST·GET·PUT/PATCH·DELETE와 정확히 연결돼요.

Q3. 상품 리뷰처럼 사람마다 길이도 형식도 제각각인 자유로운 데이터를 담기에 더 알맞은 창고는?

정답: D — 형식이 자유로운 비정형 데이터(리뷰 등)는 NoSQL(예: Firebase Firestore)이 어울립니다. 반대로 회원·주문·결제처럼 딱딱 맞아야 하는 정형 데이터는 SQL(예: Supabase)이 안전해요. 뭐가 더 좋은 게 아니라 용도별로 골라 씁니다.

🎯 데이터베이스 개념 이해 점수

해당되는 항목을 모두 클릭해 체크하세요. 마지막에 [내 점수 보기]를 누르면 등급이 나옵니다.

  • "보여줘(식탁)"와 "저장해줘(창고)"의 차이를 설명할 수 있다
  • 새로고침하면 사라지는 이유가 데이터베이스 부재임을 안다
  • 테이블(표)·열(컬럼)·행(레코드)을 구분할 수 있다
  • 스키마가 '칸마다 정해진 형식 규칙'임을 안다 (전화번호 칸=숫자)
  • CRUD 네 동작을 말할 수 있고 API 5동사와 연결할 수 있다
  • SQL(정형·엑셀 표)과 NoSQL(비정형·서류함)의 차이와 용도를 안다
  • 수집할 데이터 항목은 AI가 아니라 내가 정해야 한다는 걸 안다
  • "저장 테이블에 넣어서 새로고침해도 안 사라지게 해줘"처럼 콕 집어 시킬 수 있다
오늘 단 하나만 기억하세요 — "화면은 식탁, 저장은 창고(데이터베이스)다."
창고 = 데이터베이스 · 정리된 선반 = 테이블 · 칸 이름표 = 열(컬럼) · 물건 하나 = 행(레코드) · 칸의 규칙 = 스키마 · 창고에서 하는 4가지 일 = CRUD · 창고의 두 종류 = SQL(반듯한 표) vs NoSQL(자유로운 서류함). 이 그림 한 장이면, 새로고침하면 사라질 때 "왜 안 돼요" 대신 "창고에 저장되게 해줘"라고 콕 집어 AI에게 시킬 수 있습니다.
📩 이 시리즈를 놓치지 마세요
「비개발자 사고법」 식당 세계관 시리즈는 한 편이라도 놓치면 비유가 끊깁니다. 유튜브 채널 구독으로 새 영상을 가장 먼저 받아보시고, AI아카데미 자료실에서 다른 무료 자료도 함께 보세요.
🚀 한 걸음 더 — 실무에 진짜로 써먹고 싶다면
혼자 막힐 때 옆에서 잡아주는 사람이 있으면 속도가 다릅니다. 온라인 강의로 체계적으로 익히거나, 1:1 컨설팅·강의 문의로 우리 회사·내 업무에 맞춘 적용을 받아보세요. 외부강사 김지백이 직접 안내합니다.
다음 편 예고 — 소중한 창고(데이터베이스)를 만들었는데, 아무나 열 수 있다면요? 09강은 창고를 지키는 '자물쇠' — 인증과 보안 편입니다. 로그인·권한이 실제로 어떻게 우리 데이터를 지키는지, 다음 시간에 자물쇠 하나로 끝장냅니다. 구독·알림을 켜두면 새 글과 영상을 가장 먼저 받아보실 수 있습니다.
#비개발자 사고법#데이터베이스#DB#SQL#NoSQL#CRUD#테이블 스키마#Firebase#Firestore#Supabase#바이브 코딩#AI 코딩

자주 묻는 질문

Q. 화면에는 분명히 떴는데 왜 새로고침하면 다 사라지나요?
'보여줘'와 '저장해줘'가 다르기 때문입니다. 화면에 보여주는 것은 식탁에 차리는 일이라 치우면(새로고침하면) 끝이에요. 창고(데이터베이스)에 넣어야 다시 켜도 그대로 불러올 수 있습니다. 로그인·메모·회원가입이 증발한다면 데이터베이스가 없거나 저장 코드가 빠진 것이니, AI에게 '이 데이터를 저장 테이블에 넣어서 새로고침해도 사라지지 않게 해줘'라고 콕 집어 시키면 됩니다.
Q. 데이터베이스가 정확히 뭔가요?
서비스의 모든 기억(회원·주문·글·설정)을 잘 정리해 보관하는 '주방 한 켠의 거대한 창고이자 냉장고'입니다. 한마디로 잘 정리된 거대한 엑셀 표라고 보면 돼요. 창고가 있어야 오늘 넣은 데이터를 내일도, 내일모레도 계속 꺼내 쓸 수 있고, 나만의 앱이나 회사 ERP처럼 '계속 쓰는 시스템'이 됩니다.
Q. 테이블·행·열·스키마가 각각 뭔가요?
테이블은 회원 명단·주문 내역처럼 종류별로 줄 맞춰 정리한 표 전체입니다. 열(컬럼)은 이름·이메일·가입일 같은 세로 방향 항목이고, 행(레코드)은 회원 한 명의 정보 같은 가로 한 줄(데이터 하나)이에요. 스키마는 칸마다 정해진 형식 규칙 — 이름 칸엔 텍스트, 가입일 칸엔 날짜, 전화번호 칸엔 숫자만 들어가는 규칙입니다. 구글 폼에서 전화번호 칸에 글자를 쓰면 '숫자를 입력하세요'라고 거절당하는 게 바로 스키마예요.
Q. CRUD가 뭔가요? 지난 API편과 어떻게 연결되나요?
창고(데이터베이스)에서 하는 4가지 동작 — 만들기(Create)·읽기(Read)·고치기(Update)·지우기(Delete)의 앞글자입니다. 회원가입은 표에 한 줄 추가(Create), 주문 내역 보기는 Read, 닉네임 변경은 Update, 탈퇴는 Delete죠. API편의 5동사와 정확히 연결됩니다 — POST=Create, GET=Read, PUT/PATCH=Update, DELETE=Delete. 알바생(API)에게 시킨 주문의 끝점에서 창고가 수정되는 것입니다.
Q. SQL과 NoSQL 중 뭘 써야 하나요? Firebase와 Supabase는요?
둘 중 뭐가 더 좋은 게 아니라 용도별로 골라 씁니다. SQL은 칸이 딱 정해진 반듯한 엑셀 표(정형 데이터)라 회원·주문·결제처럼 돈과 중요한 정보에 안전하고, 대표적으로 Supabase(PostgreSQL)가 있습니다. NoSQL은 메모지·서류함처럼 자유롭게 담는 방식(비정형 데이터)이라 리뷰처럼 형식이 제각각이거나 양이 많고 빨리 변하는 데이터에 유리하고, 대표적으로 Firebase의 Firestore가 있어요. 참고로 요즘 Firebase에는 SQL 커넥트(PostgreSQL)도 추가됐고, 사진·동영상은 DB가 아니라 스토리지(Storage)에 따로 보관합니다.
Q. 코드를 모르는 비개발자가 데이터베이스를 직접 설계해야 하나요?
직접 설계는 AI가 거의 다 해 줍니다. 단, AI가 대신 못 정해 주는 게 하나 있어요 — '입력단에서 어떤 데이터를 수집할 것인가'는 사장님(여러분)의 결정입니다. 이것도 '이런 앱을 만들려는데 어떤 데이터를 입력받으면 좋을까?'라고 AI에게 물어보며 정하면 되고, 수집 항목은 처음에 잘 정하는 게 좋습니다(운영 중 항목을 늘리면 기존 가입자 데이터와 충돌할 수 있어요). Firebase 연결·키 설정 같은 초기 세팅도 'Playwright 켜서 네가 직접 해줘'라고 시키고, 막히는 화면은 스크린샷을 찍어 물어보면 됩니다.
AI DIAGNOSIS · 3분
이 글, 읽기만 하고 끝내긴 아깝죠
3분 진단으로 내 AI 활용 점수와, 오늘부터 30일 액션 플랜을 받아보세요.
무료 진단 시작
NEWSLETTER · 무료

주간 AI 실무 레터

이 글이 도움이 됐다면, 매주 현장에서 검증한 AI 활용법·새 자료를 이메일로 받아보세요. 광고 없이, 바로 쓰는 것만.

어떤 목적으로 오셨나요? (선택)
이 주제로 강의 문의

우리 조직에 맞는 AI 교육을
설계해드립니다.

위 자료의 내용을 기반으로 맞춤형 강의 커리큘럼을 구성해드립니다. 기업·공공기관·임원 대상 프로그램 모두 가능합니다.

강의 소개 보기강의 문의하기

조회수·다운로드 카운트 등 인터랙티브 기능은 자료실 인터랙티브 페이지에서 이용하실 수 있습니다.