wiki:ERModel

Version 6 (modified by 211101, 22 hours ago) ( diff )

--

Верзија 3

ER дијаграм

Податочни побарувања

Ентитети

  1. User - ентитет за корисникот кој се логира
    • user_id - SERIAL (примарен клуч)
    • user_name - VARCHAR(30) (атрибут)
    • email - VARCHAR(30) (атрибут)
    • password - VARCHAR(30) (атрибут)
  2. Transaction Account - секој корисник има една или повеќе трансакциски акаунти/сметки(кредитна картичка, дебитна картичка, кеш, девизи...)
    • transaction_account_id - SERIAL (примарен клуч)
    • user_id - INT (надворешен клуч)
    • account_name - VARCHAR(35) (атрибут)
    • balance - DECIMAL(10, 2) (атрибут)
  3. Transaction Breakdown - за секоја трансакција(акција на плаќање/добивање пари) да можe да менува различни акаунти(сте платиле пола со картица, пола со кеш) и секоја трансакција да биде посложена(ако платите вие за повеќе луѓе, и очекувате да бидете отплатени од нив) потребен е ваков механизам во вид на ентитет кој ќе го овозможи тоа
    • transaction_breakdown_id - SERIAL (примарен клуч)
    • transaction_id - INT (надворешен клуч)
    • transaction_account_id - INT (надворешен клуч)
    • spent_amount - DECIMAL(10, 2) (атрибут)
    • earned_amount - DECIMAL(10, 2) (атрибут)
  4. Transaction - трансакција, акција на трансфер на пари. Атрибутите amount и net_amount се потребни во случајот за сложени трансакции, кога пример вие плаќате на работа за јадењето на сите колеги во апликација за достава на храна и потоа колегите си го исплаќаат својот дел дали преку кеш директно вам или преку електронски трансфер со е-банкарство, вкупниот износ на целата нарачка кој го плаќате ќе се запише во amount, а додека со тригери ќе се ажурира net_amount со збир на сите вредности од атрибутите на помошните трансакции(earned_amount+spent_amount). Тие ќе бидат истата вредност доколку вие со трансакцијата го плаќате целиот износ за вас или пак добивате пари кои не треба да ги вратите
    • transaction_id - SERIAL (примарен клуч)
    • tag_id - INT (надворешен клуч)
    • transaction_name - VARCHAR(100) (атрибут)
    • date - TIMESTAMPZ (атрибут)
    • amount - DECIMAL(10, 2) (атрибут)
    • net_amount - DECIMAL(10, 2) (атрибут)
  5. Tag - помошни групи(тагови) со кои може да се класифицираат трансакциите, а со тоа да се изведуваат корисни статистики
    • tag_id - SERIAL (примарен клуч)
    • tag_name - VARCHAR(50) (атрибут)

Релации

  • TransactionHasTransactionBreakdown - 1:N една трансакција може да има повеќе помошни трансакции
  • TagAssignedToTransaction - N:N повеќе тагови можат да се доделат на повеќе трансакции
  • TransactionBreakdownModifiesTransactionAccount - 1:N една сметка може да биде менувана од повеќе помошни трансакции
  • UserHasTransactionAccount - 1:N еден корисник може да има повеќе сметки

Историјат

Верзија 1
Верзија 2
Верзија 3

Attachments (3)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.