J'essaie d'en apprendre davantage sur les bases de données relationnelles et j'ai pensé qu'il n'y a pas de meilleur moyen d'apprendre à faire quelque chose. J'ai décidé de tenter une tentative personnelle de regarder la comptabilité et la prévision du budget personnel. J'ai fait des recherches jusqu'à présent et j'aimerais avoir une idée de ma conception et de la normalisation actuelles de la base de données.
Quelles sont vos pensées et suggestions sur ma conception actuelle de la base de données? J'ai inclus certaines informations ci-dessous pour mieux vous aider à m'aider :)
DIVULGATION: Ceci est un projet personnel. Pas pour les devoirs ou pour le travail.
Une banque ACCOUNT
peut avoir beaucoup ENTRIES
Un ENTRY
peut être un CREDIT
ou DEBIT
ENTRY
a une date à laquelle il a été crédité ou débité surENTRY
a un seul PAYEE
Un ENTRY
peut être associé à un BUDGET CATEGORY
A CREDIT
a une quantité de ENTRY
CREDIT
a une description du ENTRY
CREDIT
peut être programmé à l'avenirUn CREDIT
peut être récurrent de la fréquence et du montant
A DEBIT
a une quantité de ENTRY
DEBIT
a une description du ENTRY
DEBIT
peut être programmé à l'avenirUn DEBIT
peut être récurrent de la fréquence et du montant
A PAYEE
a un nom
Un BUDGET
a beaucoup BUDGET CATEGORIES
Un BUDGET
ne peut être associé qu'à un seul mois civil
UNE BUDGET CATEGORY
peut contenir beaucoup ENTRIES
BUDGET CATEGORY
a un nomUNE BUDGET CATEGORY
a un BUDGET
montant
A FORECAST
a une date de début
FORECAST
a une date de finFORECAST
a un solde débutantFORECAST
a beaucoup FORECASTED DAYS
A FORECAST
a un seul FORECASTED BUDGET
UNE FORECASTED DAY
a une seule date
FORECASTED DAY
peut avoir beaucoup FORECASTED DEBITS
UNE FORECASTED DAY
peut avoir beaucoup FORECASTED CREDITS
UNE FORECASTED DEBIT
a un montant
FORECASTED DEBIT
a une descriptionFORECASTED DEBIT
a un FORECASTED BUDGET CATEGORY
FORECASTED DEBIT
a un seul PAYEE
UNE FORECASTED DEBIT
peut être récurrent
UNE FORECASTED CREDIT
a un montant
FORECASTED CREDIT
a une descriptionFORECASTED CREDIT
a un FORECASTED BUDGET CATEGORY
FORECASTED CREDIT
a un seul PAYEE
UNE FORECASTED CREDIT
peut être récurrent
UNE FORECASTED BUDGET
a beaucoup FORECASTED BUDGET CATEGORIES
UNE FORECASTED BUDGET CATEGORY
peut avoir beaucoup PAYEES
A PAYEE
a un nom
+----------------+----------+------------------+----------------+---------------+--------------+------------------+
| Account Number | Date | Description | Payee Name | Credit Amount | Debit Amount | Budget Category |
+----------------+----------+------------------+----------------+---------------+--------------+------------------+
| 25178 | 10/01/18 | Payroll | My Work | $1000.00 | | Income |
| 25178 | 10/02/18 | McRibs for Lunch | McDonalds | | $13.12 | Fast Food |
| 25178 | 10/03/18 | Electric Bill | FPL | | $133.68 | Electric |
| 25178 | 10/04/18 | Water Bill | City Water Co. | | $58.12 | Water and Sewage |
| 25178 | 10/05/18 | Clothes for Work | Target | | $65.02 | Clothes |
| 99875 | 10/28/18 | Bonus Check | My Work | $1300.00 | | Income |
+----------------+----------+------------------+----------------+---------------+--------------+------------------+
+----------+-------------+--------------+---------------+-----------------+------------------+
| Due Date | Payee | Debit Amount | Credit Amount | Budget Category | Re-Occurs On Day |
+----------+-------------+--------------+---------------+-----------------+------------------+
| 10/28/18 | Mortgage Co | $1500.00 | | Mortgage | 28 |
| 10/01/18 | My Work | | $990.00 | Income | 1 |
| 10/03/18 | FPL | $110.00 | | Electric | 3 |
+----------+-------------+--------------+---------------+-----------------+------------------+
Je pensais que ce serait utile de savoir pourquoi j'ai fait quelque chose afin que vous puissiez comprendre ma logique et ma raisonnement.
isActive
sur les deux Budgets
et BudgetCategories
au cas où je souhaitais réactiver une catégorie de budget ou de budget différent.Debits
et Credits
Comme je l'ai vu, il y avait deux types de transactions.ScheduledTransactions
qui m'a permis d'avoir deux quantités différentes, une quantité attendue en ScheduledTransactions
et un montant réel dans l'un ou l'autre des Debits
ou Credits
.Plus généralement: je commencerais par une liste de questions que je veux répondre. Comme:
Qui suis-je payé le plus? Est-ce que j'ai payé la facture de transport d'épuration ce mois-ci? Quelles sont mes exigences en espèces pour ce mois-ci? Aurai-je besoin de sortir et de tuer des trucs pour la nourriture?
La nature de ces questions devrait conduire la conception du schéma.
Cela dit, ce schéma a l'air plutôt bien.
Je suis d'accord avec l'idée que les débits et les crédits pourraient être dans une seule table.
J'identifierais les bénéficiaires, en termes de budget et de type de compte. Dites que vous devez énumérer ou consulter les bénéficiaires. J'aurais aussi une colonne active pour les bénéficiaires. Il pourrait être agréable de savoir quel compte paie quel budget à l'avenir.