initial commit
This commit is contained in:
71
backend/tables.md
Normal file
71
backend/tables.md
Normal file
@@ -0,0 +1,71 @@
|
||||
# BatchuKis Database Schema Definition
|
||||
|
||||
이 문서는 데이터베이스 설계를 위한 테이블 명세서입니다. 모든 컬럼명은 [models.md](./models.md)의 필드명과 일치해야 합니다.
|
||||
|
||||
## 1. api_settings (사용자 및 API 설정)
|
||||
- 단일 사용자 환경이므로 `id=1` 레코드만 사용.
|
||||
- `aiConfigs`는 별도의 `ai_configs` 테이블과 Join하여 처리.
|
||||
|
||||
## 2. ai_configs (AI 엔진 프로필)
|
||||
- `id`: TEXT (PK)
|
||||
- `name`: TEXT
|
||||
- `providerType`: TEXT (gemini | openai-compatible)
|
||||
- `modelName`: TEXT
|
||||
- `baseUrl`: TEXT (Nullable)
|
||||
|
||||
## 3. holdings (현재 보유 종목)
|
||||
- `code`: TEXT (PK)
|
||||
- `name`: TEXT
|
||||
- `avgPrice`: REAL
|
||||
- `quantity`: INTEGER
|
||||
- `market`: TEXT (Domestic | Overseas)
|
||||
|
||||
## 4. auto_trade_configs (자동매매 로봇)
|
||||
- `id`: TEXT (PK)
|
||||
- `stockCode`: TEXT (Nullable)
|
||||
- `stockName`: TEXT
|
||||
- `groupId`: TEXT (Nullable)
|
||||
- `type`: TEXT (ACCUMULATION | TRAILING_STOP)
|
||||
- `quantity`: INTEGER
|
||||
- `frequency`: TEXT (DAILY | WEEKLY | MONTHLY)
|
||||
- `specificDay`: INTEGER
|
||||
- `executionTime`: TEXT
|
||||
- `trailingPercent`: REAL
|
||||
- `active`: BOOLEAN
|
||||
- `market`: TEXT
|
||||
|
||||
## 5. reserved_orders (실시간 감시/예약 주문)
|
||||
- `id`: TEXT (PK)
|
||||
- `stockCode`: TEXT
|
||||
- `stockName`: TEXT
|
||||
- `type`: TEXT (BUY | SELL)
|
||||
- `quantity`: INTEGER
|
||||
- `monitoringType`: TEXT
|
||||
- `triggerPrice`: REAL
|
||||
- `trailingType`: TEXT
|
||||
- `trailingValue`: REAL
|
||||
- `status`: TEXT
|
||||
- `createdAt`: DATETIME
|
||||
- `expiryDate`: DATETIME
|
||||
|
||||
## 6. watchlist_groups (관심 종목 그룹)
|
||||
- `id`: TEXT (PK)
|
||||
- `name`: TEXT
|
||||
- `codes`: TEXT (JSON String Array - e.g. '["005930", "NVDA"]')
|
||||
- `market`: TEXT
|
||||
|
||||
## 7. [NEW] discovery_rank_cache (발굴 랭킹 캐시)
|
||||
- `category`: TEXT (PK - VOLUME, VALUE 등)
|
||||
- `market`: TEXT (PK)
|
||||
- `rank_json`: TEXT (JSON String - StockItem 리스트 보관)
|
||||
- `updated_at`: DATETIME
|
||||
- **용도**: 랭킹 연산은 리소스가 많이 들므로 1~5분 단위로 배치 처리 후 캐시된 데이터를 API로 제공.
|
||||
|
||||
## 8. [NEW] stock_stats (종목별 확장 통계)
|
||||
- `code`: TEXT (PK)
|
||||
- `tradingValue`: REAL
|
||||
- `buyRatio`: INTEGER
|
||||
- `sellRatio`: INTEGER
|
||||
- `foreignNetBuy`: INTEGER
|
||||
- `institutionalNetBuy`: INTEGER
|
||||
- **용도**: `StockItem` 테이블을 직접 확장하거나 별도 통계 테이블로 관리하여 발굴 데이터 조회 성능 최적화.
|
||||
Reference in New Issue
Block a user