바이브코딩을 할 때, AI에게 앱의 구조를 설명하려면 데이터베이스(DB)의 기본 개념을 아는 것이 필수적입니다. AI는 똑똑하지만, 여러분의 머릿속에 있는 데이터를 어떻게 분류하고 저장할지 명확히 짚어주면 결과물의 퀄리티가 훨씬 높아지거든요.
우리가 가장 많이 사용하는 '엑셀(Excel)'에 비유해서 아주 쉽게 핵심만 짚어드릴게요.
데이터의 뼈대, 테이블, 컬럼, 행
데이터베이스는 아주 거대한 '엑셀 프로그램'이라고 생각하시면 됩니다. 그 안에 데이터를 저장하는 기본 단위를 알아볼까요?
-
테이블: 엑셀의 '시트(Sheet)' 하나입니다. 예를 들어 쇼핑몰 앱이라면 회원 테이블, 상품 테이블, 주문 테이블을 각각 따로 만듭니다.
-
컬럼: 엑셀 시트 맨 윗줄의 '항목 이름'입니다. 회원 테이블이라면 [이름, 나이, 이메일, 가입일]이 컬럼이 됩니다. 앱이 저장해야 할 '속성'을 결정합니다.
-
행: 컬럼 아래에 한 줄씩 쌓이는 '실제 데이터'입니다. [김철수, 25, chulsoo@email.com, 2026-05-22] 이 한 줄이 바로 하나의 행입니다.
데이터 구별과 연결, 기본키, 관계
데이터가 수만 개로 늘어나면 똑같은 이름이나 정보가 겹치기 마련입니다. 이를 방지하고 데이터를 효율적으로 관리하기 위한 개념입니다.
-
기본키: 각 행(데이터)을 확실하게 구별해 주는 '고유 번호'입니다. 사람으로 치면 주민등록번호, 학생으로 치면 학번입니다.
-
바이브코딩 팁: "이름이 같은 '김철수'가 2명이면 AI가 헷갈릴 수 있으니, 유저 테이블에 고유한 user_id를 기본키로 만들어줘"라고 지시하면 명확해집니다.
-
-
관계: 흩어져 있는 테이블들을 서로 연결해 주는 기능입니다. (엑셀의 V-LOOKUP과 비슷합니다.)
-
예를 들어 게시글 테이블에는 글쓴이의 이름 대신 글쓴이의 user_id(기본키)만 저장해 두고, 나중에 이 값을 통해 회원 테이블과 연결하여 누군지 찾아냅니다.
-
대략적인 테이블 구조가 어떻게 시각화되는지, 아래 위젯에서 직접 테이블과 컬럼을 추가해 보며 감을 잡아보세요.
핵심 인사이트: 처음부터 모든 관계를 완벽하게 설계할 필요는 없습니다. 바이브코딩 시에는 "유저가 작성한 특정 게시글의 목록을 보여줘"라고 자연스럽게 말하면, AI가 알아서 유저 테이블과 게시글 테이블 간의 적절한 '관계'를 설정해 줍니다.
앱의 4가지 핵심 동작, CRUD
앱에서 일어나는 모든 데이터 처리는 결국 CRUD라는 4가지 동작으로 요약됩니다. AI에게 기능을 요청할 때 이 4가지를 기준으로 설명하면 누락되는 기능 없이 기획을 구체화할 수 있습니다.
| 용어 | 의미 | 실제 서비스 예시 | 바이브코딩 프롬프트 예시 |
| Create | 생성 (데이터 추가) | 회원가입, 새 글 쓰기 | "유저가 이메일로 회원가입(Create)할 수 있게 해줘" |
| Read | 읽기 (데이터 조회) | 목록 보기, 상세 조회 | "최신 작성일 순으로 게시글 목록(Read)을 보여줘" |
| Update | 수정 (데이터 변경) | 내 정보 수정, 글 수정 | "유저가 자신의 프로필 사진을 변경(Update)하게 해줘" |
| Delete | 삭제 (데이터 제거) | 회원 탈퇴, 댓글 삭제 | "본인이 쓴 댓글만 지울 수 있는(Delete) 버튼을 만들어줘" |
앱을 기획할 때 "이 버튼을 누르면 새로운 데이터가 생성(C)되는 건가, 아니면 저장된 데이터를 조회(R)만 하는 건가?"를 고민해 보면, 머릿속의 막연한 아이디어를 AI가 정확히 이해할 수 있는 언어로 바꿀 수 있습니다.