2011-08-14 8 views
0

Je prévois d'écrire une application qui m'aidera à suivre la façon dont je dépense de l'argent. Pour ce faire, je voudrais pouvoir enregistrer les transactions dans le système puis ma première pensée pour le stockage persistant était de charger les transactions dans une base de données. Ma question est la suivante, étant donné que je ne ferai que comptabiliser une transaction, est-ce que c'est excessif d'utiliser une base de données comme stockage quand elle aura seulement une table, c'est-à-dire transaction ??MySql Design Question

Sinon, quelqu'un peut-il penser à d'autres tables qui pourraient être dans la base de données. Ma pensée initiale était juste d'avoir une table transactions, mais je pourrais voir le besoin d'un categories qui a des données comme Food, Entertainment, Gas ..etc.

Toutes les idées/pointeurs serait génial Merci

+1

Pas vraiment une réponse à votre question, mais vous pourriez envisager SQLite au lieu de mysql car il est sans serveur mais toujours SQL (http://sqlite.org/) – Inca

+0

@Inca, merci. Cela pourrait être mieux puisque ce sera une très petite base de données. –

Répondre

1

Il est Okey avoir qu'une seule table dans une base de données. Parfois, il peut être plus simple d'utiliser un fichier plat pour le stockage de données (par exemple, csv, json) mais une base de données correcte peut fournir de meilleures performances sur le filtrage, le tri et la jonction de données.

En outre, transaction n'est pas un nom idéal pour certaines bases de données car il peut s'agir d'un mot clé réservé. Que diriez-vous de la «dépense»?

Si vous utilisez étiquette au lieu de la catégorie, la conception typique est une table de transaction, une table d'étiquette, et un grand nombre à plusieurs table de colle qui les relie entre elles:

  • tableau des dépenses: expenditure_id , le nom, l'emplacement, la quantité
  • table tag: tag_id, nom
  • table expenditure_tag: expenditure_id, tag_id
+0

Merci pour vos idées. –