• 서비스 배경
GPT를 통해 애자일한 개발환경에서 보다 빠르게 핵심적인 DB 설계하고 MVP 개발을 진행할 수 있는 업무효율화 프롬프트 시리즈 구성
데이터 초기 설계에 따라서 앱의 완성도와 개발 방향이 바뀌기 마련입니다.
그러나 아무리 좋은 앱 아이디어도 초기 데이터 설계에서 완벽하기 어렵고
Coding 과정에서 Test 과정에서 진행하면서 누락이 발견되면 결국 전체 개발을 몇 번을 뒤집어 엎어야 하는 비효율적인 과정이 반복됩니다.
이러한 비효율을 제거하고 기본적인 기능 구현에 필요한 모든 데이터를 빠르게 정리하고, 논리 구조를 시각화하고,
빠르게 앱을 시장 출시하기 위한 애자일한 앱 개발환경에 딱 맞는 GPT를 이용해봅시다.
• 서비스 기대효과
서비스 구상 후 DB 초기 스케치 후 최종적으로 다이어그램화 하는 한 사이클의 프롬프트 개발로,
개발 관련 구조화 또는 협업 시에 문서 작성에 제약 받지 않고 빠른 개발 투입과 서비스 개선이 가능할 것으로 기대할 수 있습니다.

• 프롬프트 엔지니어링








* Tip 간혹 출력되다가 일부 내용이 짤리는 경우가 있는데 (보통 6개 항목), 이 경우는 second를 넣어 전체 테이블을 다시 호출하거나 누락된 테이블을 지정한다.
(잘리는 경우의 출력 프롬프트 예시)



[테이블이 일부 잘리는 경우]



: ERD 다이어그램 마크다운 중 가장 시각적으로 뛰어난 머메이드 마크다운으로 다이어그램 코딩 결과
→ 그래프 표현시 일부 제약사항은 여전히 있지만 전체적인 데이터 초기 설계의 공수는 최소화하고 바로 검증부터 할 수 있다는 점에서 효율적이고 유의미한 작업이다.
※ 비주얼화하는 경우 제약사항 :
1) 필요에 따라서 GPT가 임의로 불필요한 컬럼을 제거하는 경우가 있으니 이 부분은 최종 검토 후 확정하는 것을 권장
2) 1차적인 markdown code는 data type과 컬럼명을 반대로 노출하는 경우가 있어 이 부분은 확인 후 조정하면 됨 (아래 2차코드 참고)
(최종 다이어그램 확인 링크) : Mermaidv10.1.0 Live Editor (https://mermaid.live/)

1차 : ERD Markdown Code 결과 (초안 - 데이터 타입이 먼저 나와 변경필요)
erDiagram
Organization {
int organization_id
varchar(50) organization_name
}
Personnel {
int personnel_id
int organization_id
varchar(50) personnel_name
}
Profile {
int profile_id
int personnel_id
varchar(50) question
varchar(50) answer
datetime created_at
datetime updated_at
}
Role {
int role_id
int personnel_id
varchar(50) role_name
}
AbsenteeismHistory {
int absenteeism_history_id
int personnel_id
datetime date
varchar(50) reason
}
WorkEvaluation {
int work_evaluation_id
int personnel_id
datetime date
varchar(50) content
varchar(50) result
}
Payroll {
int payroll_id
int personnel_id
decimal salary
datetime payment_date
}
QABulletinBoard {
int qa_bulletin_board_id
int personnel_id
varchar(50) question
varchar(50) answer
datetime created_at
datetime updated_at
}
Organization ||--o{ Personnel : has
Personnel ||--o{ Profile : has
Personnel ||--o{ Role : has
Personnel }o--|| AbsenteeismHistory : has
Personnel }o--|| WorkEvaluation : has
Personnel ||--|| Payroll : has
Personnel }o--|| QABulletinBoard : has
(1차 코드 결과)

2차(Final) ERD Markdown Code 결과 : 데이터 타입이 먼저 코딩된 제약사항을 극복하기 위한 2차 코드
출력결과 따라 다이어그램 마크다운 코드 조정작업이 필요한데, 이 경우 아래 코드를 활용한다.

erDiagram
Organization {
org_id int
org_name varchar
org_address varchar
created_at datetime
updated_at datetime
}
Personnel {
personnel_id int
org_id int
personnel_name varchar
personnel_email varchar
personnel_phone varchar
personnel_address varchar
personnel_dob date
created_at datetime
updated_at datetime
}
Profile {
profile_id int
personnel_id int
profile_description varchar
profile_start_date date
profile_end_date date
created_at datetime
updated_at datetime
}
Role {
role_id int
personnel_id int
role_name varchar
role_description varchar
created_at datetime
updated_at datetime
}
Absenteeism {
absenteeism_id int
personnel_id int
absenteeism_date date
absenteeism_status varchar
created_at datetime
updated_at datetime
}
Evaluation {
evaluation_id int
personnel_id int
evaluation_quarter varchar
evaluation_score float
created_at datetime
updated_at datetime
}
Payroll {
payroll_id int
personnel_id int
payroll_amount float
payroll_date date
created_at datetime
updated_at datetime
}
QandA {
qanda_id int
personnel_id int
qanda_question varchar
qanda_answer varchar
related_qanda_id int
created_at datetime
updated_at datetime
}
Organization ||--o{ Personnel : "has"
Personnel ||--o{ Profile : "has"
Personnel ||--o{ Role : "has"
Personnel ||--o{ Absenteeism : "has"
Personnel ||--o{ Evaluation : "has"
Personnel ||--o{ Payroll : "has"
Personnel ||--o{ QandA : "has"
Conclusion : Final ERD Diagram Visual
(2차 - 최종)

(작성 내용과 관련해 사전 협의된 AIFactory 외 제3자의 임의 배포와 상업적 활용을 금합니다.)
