[vibecoding] Day 3 : 데이터베이스와와 데이터 구조 설계
Day 3: 데이터베이스 연동과 데이터 구조 설계
마지막 Day3!
이제는 실제 DB까지 연동이 코앞으로 다가왔어요!!
그 전에 데이터베이스(DB)가 무엇인지 어떻게 생성하는지에 대해 학습한 내용을 정리합니다.
데이터와 데이터베이스의 중요성
데이터는 서비스를 기획할 때 필수불가결적으로 따라오는 요소입니다.
특히 데이터의 구조는 기획 단계에서 이미 결정되며, 잘못 설정하면 되돌리기 어렵습니다.
- 어떤 데이터가 어떻게 들어오고
- 어떤 방식으로 저장될 것인지
이 모든 것이 코드 구현 이전에 명확해야 합니다.
데이터에 대한 이해 없이 진행하면 초기 구조부터 꼬여 되돌릴 수 없는 코드가 될 수 있습니다.
필요한 데이터는 어떻게 도출할까?
데이터는 기획과 유스케이스를 통해 도출됩니다.
- 기획 -> 유스케이스 -> 데이터
- 기획을 구체적으로 작성
- 이를 통해 정확한 유스케이스를 도출
- 최종적으로 데이터베이스 구조까지 연결
데이터 플로우 검증하기
데이터플로우란 기능이 작동하면서 데이터를 어떻게 읽고 쓸 것인가를 의미합니다.
스키마를 무작정 설계하기보다 데이터플로우를 먼저 생각하는 것이 효율적입니다.
- 유저플로우 -> 데이터플로우 -> 데이터스키마
이 순서로 검증하면서 설계해야 안정적인 구조를 만들 수 있습니다.
유저플로우 프롬프트 활용
요구사항을 입력하면, 분석은 AI(LLM 모델)에게 맡깁니다.
다음은 유저플로우 설계를 위한 예시 프롬프트입니다.
다음 요구사항을 구현할 것이다. 이에 대한 세부 기능단위 유저플로우를 설계하라.
각 유저플로우는 다음 단계로 구성된다.
1. 입력: 사용자가 제공하는 모든 UI 입력 및 상호작용
2. 처리: 시스템 내부 로직을 단계별로 기술
3. 출력: 사용자로의 피드백 및 사이드이펙트
반드시 다음 규칙을 준수하라.
- 발생할 수 있는 엣지케이스를 대응하라.
- 구체적인 문구 등은 포함하지 않는다.
한번에 하나씩 유저플로우를 반환하고, 이해한 것이 맞는지 내게 되물어라.
---
(여기에 요구사항을 입력)
유저플로우가 모두 확정되면, cursor
를 활용해 /docs/userflow.md 경로에 최종 완성본을 저장합니다.
데이터플로우 & 스키마 구상 프롬프트 활용
확정된 유저플로우를 기반으로 데이터베이스 스키마를 설계합니다.
확정된 유저플로우를 기반으로, 이를 구현하기위한 최소 스펙의 데이터베이스 스키마 구상하고,
데이터베이스 관점의 데이터플로우 작성하라.
- 반드시 유저플로우에 명시적으로 포함된 데이터만 포함한다.
- 먼저 간략한 데이터플로우를 응답하고, 이후 구체적인 데이터베이스 스키마를 응답하라.
- PostgreSQL을 사용한다.
수정 과정
의도와 다른 경우에는 아래와 같이 수정 프롬프트를 작성합니다.
데이터플로우를 다음과 같이 변경한 뒤, 수정된 데이터플로우와 스키마를 최종 완성본으로 다시 응답하라.
---
(여기에 수정 필요 사항을 입력)
수정이 끝나면 /docs/database.md 경로에 최종 완성본을 저장합니다.
Day2와의 연결: 프롬프트 보완
Day2에서 사용한 모듈화 프롬프트(👉 Day2 모듈화 응용 프롬프트 활용법 보러가기) 중
“1. 요구사항을 분석하여 자세한 user flow, data flow를 작성한다”를
“1. /docs/userflow.md, /docs/database.md 내용을 통해 자세한 요구사항을 파악한다.”
로 변경합니다.
이후, 오버 엔지니어링 여부와 의도와의 일치 여부를 반드시 검증한 뒤, cursor에 프롬프트를 전달하여 바이브코딩을 진행합니다.
마무리
- DB 설계는 기획과 유스케이스에서 출발한다.
- 유저플로우 -> 데이터플로우 -> 데이터스키마의 순서로 단계적 검증이 필요하다.
- cursor + AI 프롬프트를 적극 활용하여 문서화하고 이를 기반으로 구현을 진행한다.
Leave a comment