[[Image(normalized-er-diagram.png, 1000px)]] ---- == Податочни барања== === Ентитети === 1. **User** – ентитет кој чува општи информации за сите корисници - user_id (bigint) - email (text, not null) - username (text, not null) - password (text, not null) 2. **Finance user** – ентитет кој чува финансиски податоци за корисникот - user_id* (bigint) - spending_budget (numeric) - saving_budget (numeric) - investing_budget (numeric) - donation_budget (numeric) - credit (numeric) 3. **Income** – ентитет кој чува податоци за месечниот приход - income_id (bigint) - user_id* (bigint) - date (date, not null) - amount (numeric, not null) 4. **Training user** – ентитет кој чува податоци за тренинг корисниците - user_id* (bigint) - gender (text) - age (integer) - weight (numeric) 5. **Training session** – ентитет кој чува податоци за тренинг сесиите - training_id* (bigint) - training_user_id (bigint) - duration (numeric) - calories (numeric) - date (date) - type (text) 6. **Weight user** – ентитет кој чува податоци за следење на тежина и калории - user_id* (bigint) - weight (numeric) - height (numeric) - goal_weight (numeric) - goal_calories (numeric) 7. **Daily intake** – ентитет за дневен внес на калории - daily_intake_id* (bigint) - user_id (bigint) - calories (numeric) - date (date) 8. **Discipline user** – ентитет кој чува податоци за дисциплински навики на корисникот - user_id* (bigint) 9. **Task** – ентитет за индивидуални задачи - task_id* (bigint) - name (text, not null) - is_finished (boolean) - discipline_user_id (bigint) - custom_tracking_id (bigint) 10. **Daily completion** – ентитет што бележи дневни извршувања на задачи - daily_completion_id* (bigint) - user_id (bigint) - date (date) - procent (numeric) 11. **Task daily completion** – поврзувачки ентитет помеѓу Task и Daily completion (N:M) - task_id* (bigint) - daily_completion_id* (bigint) 12. **Investor user** – ентитет кој чува податоци за инвеститорски корисници - user_id* (bigint) 13. **Asset** – ентитет што чува податоци за средства во кои корисникот инвестира - asset_id* (bigint) - user_id (bigint) - ticker_symbol (text, not null) - buy_price (numeric) - buy_date (date) - quantity (numeric) 14. **Custom tracking category** – ентитет што претставува кориснички дефинирана категорија за следење - custom_tracking_id* (bigint) - user_id (bigint) - name (text, not null) === Релации === 1. **earned_monthly** (Finance user ↔ Income, 1:N) Финансискиот корисник има повеќе записи за приход по месеци. 2. **train** (Training user ↔ Training session, 1:N) Тренинг корисникот може да има повеќе тренинг сесии. 3. **consumes** (Weight user ↔ Daily intake, 1:N) Корисникот може да внесува дневни калории. 4. **contains** (Discipline user ↔ Task, 1:N) Дисциплински корисник може да има повеќе задачи. 5. **finish** (Task ↔ Daily completion, N:M) Задачите може да бидат извршени дневно и се бележи процент. Врската се остварува преку junction табелата Task daily completion. 6. **owns** (Investor user ↔ Asset, 1:N) Инвеститорскиот корисник може да поседува повеќе средства. 7. **categorizes** (Custom tracking category ↔ Task, 1:N) Секоја категорија на задачи може да содржи повеќе задачи. 8. **creates** (User ↔ Custom Tracking Category, 1:N) Еден User може да креира повеќе custom tracking категории. Секоја custom tracking категорија припаѓа на точно еден User. 9. **completes** (User ↔ Daily completion (1:N)) Eден user има многу дневни completion записи. == Историјат [[html(Верзија 1 - Почетна верзија)]] [[html(Верзија 2 - Ер дијаграм после нормализација)]]