我目前正在为一个项目重新设计一些数据库。特别是有一个数据库让我有点头疼。这个想法是,对于每个 client_id 和日期(client_id + date 将是 Pri. Key),每一列都将包含我们提供的每种产品的使用情况(大约 12 种产品,并且对于每个需要存储的 Cost、Margin、Total )。我想做这样的事情:
+-----------+------------+--------------+-------------+-------------+------+--------------+
| client_id | date | prod_1_Total | prod_1_Cost | prod_1_Paid | .... | prod_14_Paid |
+-----------+------------+--------------+-------------+-------------+------+--------------+
| aa1 | 2014-01-01 | 245 | 54.97 | 50.58 | ... | 431.23 |
| ... | ... | ... | ... | ... | ... | ... |
+-----------+------------+--------------+-------------+-------------+------+--------------+
Run Code Online (Sandbox Code Playgroud)
我们必须注意,要存在client_id必须在给定日期进行某些活动的记录,换句话说,给定 aclient_id和 a date,其余的列不能是 all NULL,否则该记录将不会出现桌子。
在我看来,将所有这些产品合并到一个像上面这样的表中似乎是一种不好的做法,特别是当对于给定的client_id并且date其中许多将是NULL.
但是我想到的替代方案,为每个产品创建单独的表,提出了一个问题,例如计算某个日期的 …