【发布时间】:2017-12-13 06:35:56
【问题描述】:
如果我管理的俱乐部有费用(例如咖啡、建筑维修、电费、蛋糕等)。每次俱乐部承担费用时,都会在“所有实际费用”表中添加一条记录:
______________________ _______________________
|All Possible Expenses | |All Actual Expenses |
----------------------- -----------------------
| ID | | ID |
| Name of expense | | AllPossibleExpensesID |
----------------------- | Date Occured |
| Price |
-------------------------
可以将费用安排到基金中(如“2017 年费用”、“食品费用”、“为讨论场地而召开的商务会议费用”等)。
所以资金表是:
___________ _________________________________________
| Funds | | Funds LINK AllActualExpenses |
------------| |-----------------------------------------|
| Id | | FundID |
| Fund Name | | AllActualExpensesID that's in this fund |
------------ -----------------------------------------
如您所见,资金可以“重叠”,因此一项费用可以是几个资金的一部分。
当钱存入俱乐部的金库时,这笔钱只能分配给某些资金,如下所示:
_________________ _____________________________________
|Payments | | Payments LINK Funds |
-----------------| |------------------------------------|
| ID | | PaymentID |
| Date | | A FundID that this is allocated to |
| Amount Paid In | -------------------------------------
| Member ID |
-----------------|
这看起来不错,但有一个问题我一辈子都搞不定:
我如何显示每个基金的金额?请记住,有些钱可能分配给基金一和二,而另一些钱可能分配给基金二和三……所以在现实中,有没有一种好方法可以显示基金一中有多少钱,有多少钱基金二,基金三有多少钱?
问题是,如果程序只显示每个基金中有多少钱,用户会觉得俱乐部的钱远远多于实际拥有的钱!
通过扩展,还会出现以下问题:
- 如果没有给任何基金一些钱怎么办...程序将如何分配它?该计划将如何显示这笔钱?
- 如果有人想为某些不单独归入一个基金的费用捐款,我应该为他们创建一个“自定义基金”吗?如果我将钱直接用于支出,我将违反数据库理论(我认为),因为有些钱将直接分配给支出,有些钱将分配给基金!
我不知道,也许我忽略了一个明显的解决方案。这个模型以前处理过吗?提前感谢您的任何想法。
【问题讨论】:
-
您的问题对我来说似乎太宽泛了。如果您只是向我们展示一些带有示例数据的表格,然后询问我们如何执行某种类型的查询,那会更有效。
-
这就是你几天前问的问题,不是吗? stackoverflow.com/questions/44905841/…
-
@Tim,我不是来问我的问题的,我想知道如何设计模型,所以我特意把这个问题说得有点宽泛。
标签: sql database ms-access database-design rdbms