【问题标题】:Core Data Model in Personal Finance app个人理财应用程序中的核心数据模型
【发布时间】:2012-01-12 06:38:35
【问题描述】:

我正在使用 Core Data 开发个人理财应用程序,但因为我习惯于在 DBMS 环境中工作,所以在这里我有点困惑。

问题是,在数据模型中,我决定使用四个实体; 费用、收入、目标经常性。但是这些实体之间似乎没有任何关系。

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

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

提前致谢。

【问题讨论】:

    标签: database-design core-data entity-relationship


    【解决方案1】:

    看来你可以走两条路之一。您可以创建第 5 个实体,例如 User 或 Person 实体,它们与其他每个实体都有关系,因为它们会有费用、收入、目标和重复出现,并将其用作获取它们的一种方式,或者您可以将它们全部分开并以这种方式访问​​它们。这两种方式都差不多。尽管如果您认为您可能出于某种原因支持多个帐户,那么让第 5 个实体几乎像 Document 类型一样将它们联系在一起可能是有意义的。

    但简短的回答是,除非有真正的理由,否则您不会人为地将实体相互连接起来。如果您要为年度计划之类的实体创建一个与这些其他实体类型有合理关系的实体。

    【讨论】:

    • 一开始我也想到了Person/User,但是一台设备只供一个人使用。所以我认为没有必要这样做,不是吗?您还有其他想法我应该添加哪些其他实体?让它更合理?谢谢。
    • 嗯,人们可能想要跟踪他们生活的不同方面,商业与个人,他的与她的,所以我不会这么快限制它。你绝对可以从它开始,它在未来很容易改变。
    【解决方案2】:

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

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

    【讨论】:

    • 您的意思是仅将“重复”作为费用实体中的属性?不是一个单独的实体?
    • 是的,我认为这是更好的选择。因为,这意味着什么“重复”?它是“操作”的特性,而不是一个独立的实体。通过创建数据实体,您将能够在没有“操作”的情况下存在“重复”对象。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-03
    • 1970-01-01
    • 2012-01-31
    • 2012-04-30
    • 1970-01-01
    • 1970-01-01
    • 2014-07-04
    相关资源
    最近更新 更多