Files
sam-docs/system/database/stats.md

68 lines
2.1 KiB
Markdown
Raw Normal View History

# 통계 도메인
> **모델 수**: 21
> **DB 연결**: sam_stat (별도 데이터베이스)
> **핵심**: 일별/월별 집계, 차원 테이블, 통계 서비스 15개
---
## 주요 테이블
### 일별 집계 (Daily)
| 테이블 | 모델 | 역할 |
|--------|------|------|
| stat_finance_daily | StatFinanceDaily | 일별 재무 통계 |
| stat_production_daily | StatProductionDaily | 일별 생산 통계 |
| stat_sales_daily | StatSalesDaily | 일별 영업 통계 |
| stat_hr_daily | StatHrDaily | 일별 인사 통계 |
| stat_inventory_daily | StatInventoryDaily | 일별 재고 통계 |
### 월별 집계 (Monthly)
| 테이블 | 모델 | 역할 |
|--------|------|------|
| stat_finance_monthly | StatFinanceMonthly | 월별 재무 통계 |
| stat_production_monthly | StatProductionMonthly | 월별 생산 통계 |
| stat_sales_monthly | StatSalesMonthly | 월별 영업 통계 |
### 차원 테이블 (Dimensions)
| 테이블 | 모델 | 역할 |
|--------|------|------|
| dim_clients | DimClient | 거래처 차원 |
| dim_dates | DimDate | 날짜 차원 |
| dim_products | DimProduct | 제품 차원 |
| dim_departments | DimDepartment | 부서 차원 |
### 기타
| 테이블 | 모델 | 역할 |
|--------|------|------|
| base_stat_model | BaseStatModel | 통계 모델 베이스 |
| stat_* | 기타 통계 모델 | 도메인별 집계 |
---
## 아키텍처
```
[samdb] ──Observer 이벤트──→ [통계 서비스 15개] ──집계──→ [sam_stat DB]
StatEventObserver
├─ 주문 이벤트 → StatSalesDaily 업데이트
├─ 생산 이벤트 → StatProductionDaily 업데이트
├─ 재무 이벤트 → StatFinanceDaily 업데이트
└─ ... (도메인별)
```
---
## 특이사항
- **별도 DB 연결**: `sam_stat` (samdb와 분리)
- **마이그레이션**: 22개 (별도 관리)
- **서비스**: 15개 전용 서비스 (Stats/ 디렉토리)
- **차원 테이블**: 스타 스키마 기반 (DimClient, DimDate 등)
- **이벤트 기반**: Observer 패턴으로 실시간 집계
- API 엔드포인트: 5개 (stats.php) — 대부분 조회용