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