MySQL中特定客户的唯一表

时间:2015-03-03 21:07:20

标签: mysql sql database

我目前正在设计一个可用于顾问向其客户收费的结算应用。我目前在mysql中有3个表,用于存储信息的数据库。表格是活动,客户和费用。

在活动表格中,我获得了activity_id,activity_name,percent_rate,hours

在客户表中,我有customer_id,以及客户的所有信息

在费用表中,我有cost_id,描述,费用,数量

我试图弄清楚如何设计数据库,我可以跟踪每个客户的活动花费的时间。我希望它可以用于多个客户,但无法弄清楚如何为此构建数据库。

最好在活动表中使用像custId这样的外键吗?

2 个答案:

答案 0 :(得分:0)

听起来像。每个活动都有一个(也是唯一一个)客户吗?然后,您可以将activity_id作为activity表的主键,customer_id是外键。对于每个客户,您可以获得活动列表,并且对于每个活动,您可以计算出该客户在该活动上为该客户工作的小时数。

答案 1 :(得分:0)

是。

但很大程度上取决于你的整体结构。这是一个非常简单的数据模型。例如,如果你有类似“项目”的东西,活动与之相关,那么你就将客户ID放在项目表中。然后,如果该活动有多个客户,那么您将拥有另一个表,其中包含activity_id和customer_id,只是为了显示该关系。所以,这取决于你试图建模的问题。