데이터 계층 구축을 AI에게 지시하기
AI는 스키마 설계와 쿼리 작성에 탁월하다 — 단, 설계할 제약을 줄 때 그렇다. "데이터베이스 만들어"라고 말하지 말라. 도메인, 관계, 그리고 타협 불가능한 것들을 묘사하라.
강력한 프롬프트는 이렇게 생겼다:
Design a PostgreSQL schema for a task-management app.
Entities and relationships:
- A user can own many projects.
- A project has many tasks.
- A task belongs to one project, has a status
(todo / doing / done), and an optional due date.
Requirements:
- Use UUID primary keys and created_at timestamps.
- Enforce relationships with foreign keys.
- Add indexes for the columns we'll filter on.
- Give me the schema as SQL, plus a forward migration file.
- Explain any trade-offs you made.
그런 다음 이 장의 체크리스트로 출력을 검토하라: 정직한 타입, 외래 키와 제약이 존재하는지, 합리적인 인덱스, 중복 데이터 없음. 쿼리를 요청할 때는 사용자 입력이 에 절대 연결되지 않도록 파라미터화된 쿼리를 명시적으로 요구하라. 그리고 무언가를 드롭하거나 이름을 바꾸는 마이그레이션이라면, 먼저 백업할 수 있도록 AI에게 그것을 짚어달라고 요청하라.
데이터베이스는 당신 앱에서 실수를 되돌리기가 가장 어려운 부분이다 — 데이터는 한번 손상되거나 잃으면 항상 돌아오지는 않는다. 바로 그래서 이 기본기를 알아둘 가치가 있다: 모든 줄을 직접 쓰기 위해서가 아니라, AI를 자신 있게 지시하고 위험한 수가 출시되기 전에 잡아내기 위해서다.