我目前正在设计一个可用于顾问向其客户收费的结算应用。我目前在mysql中有3个表,用于存储信息的数据库。表格是活动,客户和费用。
在活动表格中,我获得了activity_id,activity_name,percent_rate,hours
在客户表中,我有customer_id,以及客户的所有信息
在费用表中,我有cost_id,描述,费用,数量
我试图弄清楚如何设计数据库,我可以跟踪每个客户的活动花费的时间。我希望它可以用于多个客户,但无法弄清楚如何为此构建数据库。
最好在活动表中使用像custId这样的外键吗?
答案 0 :(得分:0)
听起来像。每个活动都有一个(也是唯一一个)客户吗?然后,您可以将activity_id作为activity
表的主键,customer_id是外键。对于每个客户,您可以获得活动列表,并且对于每个活动,您可以计算出该客户在该活动上为该客户工作的小时数。
答案 1 :(得分:0)
是。
但很大程度上取决于你的整体结构。这是一个非常简单的数据模型。例如,如果你有类似“项目”的东西,活动与之相关,那么你就将客户ID放在项目表中。然后,如果该活动有多个客户,那么您将拥有另一个表,其中包含activity_id和customer_id,只是为了显示该关系。所以,这取决于你试图建模的问题。