2012-01-12 90 views
0

我正在开发使用核心数据的个人理财应用程序,但因为我习惯在DBMS环境中工作,所以在这里我有点困惑。个人理财应用程序中的核心数据模型

问题是,在数据模型中,我决定使用四个实体; 费用,收入,目标重复发生。但似乎这些实体之间没有相互关系。

我试图添加一个名为余额的实体来连接收入和目标,但显然它仍然没有意义,因为该实体将不会被使用。

那么有什么办法让我连接这四个实体吗?是否可以在同一个数据模型中创建实体,但它们之间没有关系?或者我应该为每个实体创建一个单独的数据模型?

在此先感谢。

回答

0

好像你可以去两条路线之一。你可以创建第五个实体,比如一个User或Person实体,与其他实体有关系,因为它们有费用,收入,目标和重复发生次数,并用它们作为到达它们的一种方式,或者可以将它们全部分开并以这种方式访问​​它们。这两种方法都是一样的。虽然如果您认为您可能出于某种原因支持多个帐户,那么让第5个实体将它们绑定在一起就像是一个Document类型,这可能是有意义的。

但简单的答案是你不会人为地将实体连接到对方,除非有真正的理由这样做。如果你打算让一个实体像年度计划那样与这些其他实体类型有合理的关系。

+0

起初我也想过Person/User,但是一个设备只适合一个人。所以我认为没有必要这样做,不是吗?你有什么其他想法我应该添加什么其他实体?为了使它更合理?谢谢。 – 2012-01-12 07:03:37

+0

好吧,人们可能想跟踪他们生活的不同方面,企业与个人,他与她的,所以我不会那么快地限制它。你肯定可以从这个开始,在未来很容易改变。 – 2012-01-12 07:07:00

+0

没错,那可能是可以的。谢谢! – 2012-01-12 07:21:33

0

你可以创建很多没有关系的实体,这不是问题。但是,在我看来,你应该考虑你的数据模型。

在我看来,对于已完成的操作(收入和成本,主要区别是符号)和计划操作之一(其中“重复”只是一个属性),您应该有一个实体。平衡度可以根据操作计算在应用程序中。

+0

您的意思是使'重复'仅作为费用实体中的属性?不是一个独立的实体? – 2012-01-12 07:23:49

+0

是的,我认为这是更好的选择。因为,这是什么意思“重复”?这是'操作'的特点,而不是一个独立的实体。通过创建数据实体,您将得到的结果将能够在没有“操作”的情况下“存在”对象。 – 2012-01-12 08:21:09

相关问题