chatgpt

ChatGPT 데이터베이스 설계 프롬프트 - DB 스키마 모델링

ChatGPT로 관계형 데이터베이스와 NoSQL 스키마를 설계하는 프롬프트입니다. 정규화, ERD, 인덱스 최적화까지 체계적인 DB 설계 방법을 안내합니다.

수정
💡

프롬프트 사용 방법

  1. 1단계: 아래 입력 칸에 각 항목에 맞는 정보를 적어주세요
  2. 2단계: 입력하면 아래 프롬프트가 자동으로 업데이트됩니다
  3. 3단계: '프롬프트 복사' 버튼을 눌러 ChatGPT/Claude에 붙여넣으세요

💡 입력 칸의 회색 글씨는 예시입니다. 참고해서 작성해보세요!

📝 필요한 정보를 입력해주세요 (총 6개)

프로젝트명에 대한 값을 입력하세요

비즈니스 도메인에 대한 값을 입력하세요

DB 유형에 대한 값을 입력하세요

데이터 규모에 대한 값을 입력하세요

기능적 요구사항에 대한 값을 입력하세요

비기능적 요구사항에 대한 값을 입력하세요

📋 완성된 프롬프트 (복사해서 사용하세요)

당신은 10년 이상의 실무 경력을 보유한 수석 데이터베이스 아키텍트입니다. 확장 가능하고 성능이 최적화된 데이터베이스 스키마를 설계해 주세요.


## 프로젝트 정보
- 프로젝트명: {{프로젝트명}} (예: 이커머스 플랫폼, SNS 앱)
- 비즈니스 도메인: {{비즈니스_도메인}} (예: 이커머스, 핀테크, 소셜)
- 데이터베이스 유형: {{DB_유형}} (예: MySQL, PostgreSQL, MongoDB)
- 예상 데이터 규모: {{데이터_규모}} (예: 소규모 GB, 중규모 TB)

## 요구사항
- 기능적 요구사항: {{기능적_요구사항}} (예: 사용자 인증, 상품 검색)
- 비기능적 요구사항: {{비기능적_요구사항}} (예: 100ms 이하 응답)

## 출력 형식
1. ERD 다이어그램 (ASCII 아트)
2. DDL 스크립트 (CREATE TABLE)
3. 관계 정의 및 제약조건
4. 정규화 검증 (1NF~3NF)
5. 인덱스 최적화 전략
6. 대표 쿼리 예시 (CRUD)

입력하지 않은 항목은 원래 표시를 유지합니다.

간단 버전

데이터베이스 스키마를 설계해 주세요.

- 프로젝트: {{프로젝트명}}
- 도메인: {{비즈니스_도메인}}
- 핵심 엔티티: {{핵심_엔티티}}
- 주요 기능: {{주요_기능}}

ERD, 테이블 정의서, 인덱스 전략을 제공하세요.

입력값 가이드

입력 항목 한국어 설명 placeholder 예시
프로젝트명 프로젝트나 서비스의 이름을 입력해주세요 예: 이커머스 플랫폼 이커머스 플랫폼, SNS 앱, 예약 시스템
비즈니스_도메인 서비스가 속한 업종이나 분야를 선택해주세요 예: 이커머스 이커머스, SNS, 예약, 금융, 헬스케어
DB_유형 사용할 데이터베이스 종류를 선택해주세요 MySQL, PostgreSQL, MongoDB 중 선택 MySQL, PostgreSQL, MongoDB, Redis
데이터_규모 예상되는 데이터 규모를 선택해주세요 소규모, 중규모, 대규모 중 선택 소규모(GB), 중규모(TB), 대규모(PB)
기능적_요구사항 DB가 지원해야 할 핵심 기능들을 입력해주세요 예: 사용자 인증, 상품 검색 사용자 인증, 상품 검색, 주문 처리
비기능적_요구사항 성능이나 가용성 목표를 입력해주세요 예: 100ms 이하 응답 100ms 이하 응답, 99.9% 가용성
핵심_엔티티 DB에 저장할 주요 데이터(엔티티)들을 입력해주세요 예: 사용자, 주문, 상품 사용자, 주문, 상품, 리뷰

인풋 필드

[프로젝트명]
▼ 텍스트 입력
placeholder: "예: 이커머스 플랫폼"
설명: 프로젝트나 서비스의 이름을 입력해주세요

[비즈니스_도메인]
▼ 드롭다운 선택
옵션: 이커머스, SNS, 예약, 금융, 헬스케어, 교육, 게임, 기타
placeholder: "예: 이커머스"
설명: 서비스가 속한 업종이나 분야를 선택해주세요

[DB_유형]
▼ 라디오 버튼 선택
옵션: ☐ MySQL  ☐ PostgreSQL  ☐ MongoDB  ☐ Redis
설명: 사용할 데이터베이스 종류를 선택해주세요

[데이터_규모]
▼ 드롭다운 선택
옵션: 소규모(GB), 중규모(TB), 대규모(PB)
placeholder: "소규모(GB)"
설명: 예상되는 데이터 규모를 선택해주세요

[기능적_요구사항]
▼ 텍스트 입력 (쉼표로 구분)
placeholder: "예: 사용자 인증, 상품 검색"
설명: DB가 지원해야 할 핵심 기능들을 쉼표로 구분해서 입력해주세요

[비기능적_요구사항]
▼ 텍스트 입력
placeholder: "예: 100ms 이하 응답"
설명: 성능이나 가용성 목표를 입력해주세요

[핵심_엔티티]
▼ 텍스트 입력 (쉼표로 구분)
placeholder: "예: 사용자, 주문, 상품"
설명: DB에 저장할 주요 데이터(엔티티)들을 쉼표로 구분해서 입력해주세요

정규화 가이드

정규형 조건 위반 예시
1NF 모든 속성 원자값 product_ids = "1,2,3"
2NF 부분 함수 종속 제거 복합키에서 일부 속성만 종속
3NF 이행 함수 종속 제거 user_id → city → state

DBMS 선택 가이드

DBMS 장점 적합한 경우
MySQL 오픈소스, 빠른 읽기 웹 앱, 일반 비즈니스
PostgreSQL 고급 기능, ACID 금융, 복잡한 쿼리
MongoDB 유연한 스키마 콘텐츠, 로그
Redis 초고속 캐싱, 세션

인덱스 설계 원칙

  1. WHERE 절에서 자주 사용하는 컬럼
  2. JOIN 조건에 사용하는 컬럼
  3. ORDER BY, GROUP BY 컬럼
  4. 카디널리티가 높은 컬럼 우선
-- 단일 인덱스
CREATE INDEX idx_users_email ON users(email);

-- 복합 인덱스 (카디널리티 높은 순)
CREATE INDEX idx_orders_user_date ON orders(user_id, created_at);

주의사항

주의사항 설명
과도한 정규화 성능 저하 유발, 밸런스 중요
조인 남용 N+1 문제, 조인 횟수 제한
인덱스 과다 쓰기 성능 저하
외래키 제약 대용량에서는 성능 저하 가능

자주 묻는 질문 (FAQ)

Q: RDBMS와 NoSQL 중 어떤 것을 선택해야 하나요?

A: 데이터 특성에 따라 다릅니다:

  • RDBMS (MySQL, PostgreSQL): 관계형 데이터, 트랜잭션이 중요한 경우, 복잡한 쿼리가 필요한 경우
  • NoSQL (MongoDB): 유연한 스키마, 대량의 비정형 데이터, 수평 확장이 중요한 경우
  • 하이브리드: 많은 프로젝트에서 두 가지를 함께 사용합니다

Q: 정규화를 어디까지 해야 하나요?

A: 일반적으로 **3NF(제3정규형)**까지 권장합니다:

  • 1NF: 모든 컬럼이 원자값을 가져야 함
  • 2NF: 부분 함수 종속 제거
  • 3NF: 이행 함수 종속 제거
  • 참고: 읽기 성능이 중요한 경우 역정규화(Denormalization)를 고려하세요

Q: 인덱스는 얼마나 만들어야 하나요?

A: 테이블당 5~10개를 권장합니다:

-- 너무 많은 인덱스는 쓰기 성능 저하
-- 카디널리티가 높은 컬럼 우선
CREATE INDEX idx_users_email ON users(email);  -- O
CREATE INDEX idx_users_name ON users(name);    -- X (중복 많음)

Q: 외래키(FK) 제약을 항상 걸어야 하나요?

A: 상황에 따라 다릅니다:

  • 소규모: FK 제약 권장 (데이터 무결성 보장)
  • 대규모/마이크로서비스: FK 제약 제거 (성능, 유연성 확보)
  • 대안: 애플리케이션 레벨에서 무결성 검증

🚀 AI 바로 열기

🔗 관련 프롬프트

chatgpt

ChatGPT 시스템 설계 프롬프트 - 대규모 시스템 아키텍처 설계 가이드

ChatGPT로 확장 가능한 대규모 시스템 아키텍처를 설계하는 프롬프트입니다. 마이크로서비스, 분산 시스템, 캐싱, 로드밸런싱까지 체계적인 시스템 설계 방법을 안내합니다.

시스템설계아키텍처
프롬프트와 사용 가이드
chatgpt

ChatGPT API 엔드포인트 설계 프롬프트 - RESTful/GraphQL API

ChatGPT로 RESTful API와 GraphQL API 엔드포인트를 설계하는 프롬프트입니다. HTTP 메서드, 상태 코드, 인증까지 체계적인 API 설계 방법을 안내합니다.

API설계RESTful
프롬프트와 사용 가이드
chatgpt

AI 출력 평가 세트 프롬프트: 정상·경계·공격 입력과 채점표 설계

작업 명세를 바탕으로 정상, 경계, 모호한 입력과 지시 덮어쓰기 사례를 포함한 AI 평가 세트를 설계합니다. 기대 결과와 실제 실행 결과를 분리하고 필드별 채점 기준을 정합니다.

AI평가평가세트
프롬프트와 사용 가이드
chatgpt

Codex AGENTS.md 작성 프롬프트: 저장소 근거로 작업 규칙 만들기

저장소 구조와 실제 명령어를 바탕으로 Codex AGENTS.md 초안을 만드는 가이드입니다. 적용 범위, 검증 명령, 중단 조건을 분리하고 모르는 명령어는 질문으로 남깁니다.

CodexAGENTS.md
프롬프트와 사용 가이드