밀당 허브 학생 정보 조회 기능을 위한 데이터 구조 이해
1. 배경
•
학생 정보 조회 기능을 기획하기 위해서는 데이터가 어떻게 저장되어 있는지 이해가 필요합니다
•
현재 데이터는 서로 다른 DB에 분산되어 있어, 이를 고려한 기획이 필수적입니다
2. 데이터 저장 구조
2.1 두 개의 데이터베이스
1.
Mildang DB
•
기존 사용자(User) 정보가 저장된 공간
•
사용자를 구분하는 고유값으로 id를 사용
2.
CRM DB
•
CRM에서 관리하는 학생 관련 정보가 저장된 공간
•
mildang_id 필드에 사용자의 email 저장
•
소속팀, 수강과목 등 학생 관련 정보를 Join해서 접근할수 있음
2.2 데이터 연결 구조
•
CRM DB의 students 테이블의 mildang_id가 Mildang DB의 user email과 연결됨
•
이 연결을 통해 두 DB의 정보를 함께 활용할 수 있음
3. 기획 시 고려사항
3.1 필터와 검색 기능
•
필터 가능 항목:
◦
소속팀 (CRM DB의 team/teams 테이블)
◦
수강과목 (CRM DB에서 distinct 값으로 제공)
•
검색 가능 항목:
◦
이름, 이메일, 연락처, 소속팀, 수강과목 (모두 CRM DB 기반)
3.2 데이터 접근 제약사항
•
서로 다른 DB의 데이터를 병합해서 필터링하는 것은 불가능
•
현재 기획된 필터 기능은 CRM DB의 students 정보를 기준으로 이루어져야함
•
Mildang DB의 정보는 students의 mildang_id(email)를 통해서만 접근 가능
4. 주의사항
•
User와 Student는 서로 다른 개념으로 접근해야 함
◦
현재 구조(분리된 DB와 분리된 테이블) 에서 단순히 통합은 어려움
•
기능 기획 시 데이터가 어느 DB에 있는지 항상 고려 필요
•
데이터 연결 구조를 이해하고 이를 바탕으로 기획해야 함
참고: 학생정보 UID
@1/7/2025, 10:56:00 AM
CRM 테이블 관계도
contract : registration card ⇒ 1:1
registration card : assessments ⇒ 1:1