출석과 출전을 분리하는 농구 운영툴 데이터 모델
농구 운영툴에서 출석, 출전 가능, 실제 로테이션을 분리하고 AI 자동화에 활용하는 데이터 모델을 정리합니다.
농구 모임을 기록할 때 처음에는 “참석자 목록” 하나면 충분해 보였어요. 하지만 출석했다고 모두 코트에 들어가는 건 아니에요. 늦게 도착한 사람, 잠시 쉬는 사람, 팀 균형을 위해 대기하는 사람까지 구분해야 실제 운영 기록이 됩니다.
플랜비(plan-b)를 만들며 가장 먼저 분리한 값도 이 지점이었어요. 멤버가 모임에 응답한 상태, 현장에 도착한 상태, 실제 출전한 구간은 같은 값이 아니었어요. 작은 예제로 직접 만들어 보니 1개의 출석 필드에 모두 넣을 때보다 운영 규칙을 설명하기 쉬워졌습니다.
데이터는 최소 2개 층으로 나눌 수 있어요. 첫 번째는 모임별 멤버 상태예요. attending, absent, unknown처럼 3가지 상태를 둘 수 있습니다. 두 번째는 출전 기록이에요. 이 기록에는 멤버 ID, 시작 시각, 종료 시각, 팀 ID처럼 4개 이상의 값을 남깁니다. 한 사람이 한 모임에서 여러 번 코트에 들어갈 수 있으므로, 멤버 상태와 출전 기록은 1:N 관계가 자연스럽습니다.
직접 만들어 보니 출석 데이터는 “누가 왔는가”를 답하고, 로테이션 데이터는 “언제 누구와 뛰었는가”를 답해야 했어요. 두 질문을 하나의 테이블로 합치면 쉬는 시간이나 교체 순서를 나중에 복원하기 어려워집니다. 테스트해 보면 출석자는 12명인데 특정 구간의 출전자는 10명인 상황도 바로 표현할 수 있어요.
AI 자동화는 이 분리된 데이터를 읽는 쪽에서 도움이 됩니다. 예를 들어 모임 종료 뒤 출석 상태와 출전 구간을 입력으로 전달하고, “누적 출전 시간이 적은 멤버를 먼저 확인하되 확정하지 말 것”이라는 프롬프트를 만들 수 있어요. AI의 결과는 제안일 뿐이고, 운영자가 최종 로테이션을 확인하는 흐름이 안전합니다.
돌려 보니 자동화는 결정 자체보다 확인 목록을 만드는 데 더 잘 맞았어요. 3단계 워크플로우로도 충분합니다. 기록을 수집하고, 누락된 종료 시각을 찾고, 운영자가 검토할 요약을 만드는 방식이에요. 이렇게 하면 AI가 출석 여부를 추정하거나 출전 사실을 지어낼 여지를 줄일 수 있습니다.
- 출석은 참여 의사
- 출전은 시간 구간
- AI는 검토용 제안
농구 운영툴의 핵심은 복잡한 기능 수가 아니라 질문마다 맞는 데이터를 남기는 데 있어요. 플랜비(plan-b)처럼 멤버, 회비, 출전 로테이션, 전술보드를 함께 다룰 때도 출석과 출전을 분리해 두면 이후 자동 요약과 운영 규칙을 연결하기 편해집니다.
관련 글
댓글
아직 댓글이 없어요. 첫 댓글을 남겨주세요.