2011-08-14 113 views
0

我正计划编写一个应用程序来帮助我跟踪我如何花钱。为此,我希望能够将事务记录到系统中,然后我首先想到的是持久性存储是将事务加载到数据库中。MySql设计问题

我的问题是,因为我只会记录一件事情,事务处理使用数据库作为存储时,它只会有一个表,即transaction

如果没有,任何人都可以想到可能在数据库中的其他表。我最初的想法是只有一个transactions表,但我可以看到需要有categories,其数据类似于Food, Entertainment, Gas ..等等。

任何想法/指针将是真棒 感谢

+1

不是你的问题的答案,但你可以考虑SQLite而不是mysql,因为它是无服务器的,但仍然SQL(http://sqlite.org/) – Inca

+0

@Inca,谢谢。这可能会更好,因为这将是一个非常小的数据库。 –

回答

1

这是什么?据只有一个数据库表中。有时,使用平面文件进行数据存储可能更简单(例如csv,json),但适当的数据库可以提供更好的过滤,排序和连接数据的性能。

此外,事务不是某些数据库的理想名称,因为它可能是保留关键字。 “支出”如何?

如果您使用的标签,而不是类,典型的设计是一个交易表,标签表,并加入他们在一起的许多一对多胶表:

  • 支出表:expenditure_id ,名称,位置,数量
  • 标签表:TAG_ID,名
  • expenditure_tag表:expenditure_id,TAG_ID
+0

感谢您的想法。 –