我是数据库设计的新手(虽然已阅读了几本教程)。
在我的程序中,我需要存储时间估计的记录。 工作包的估计值包括36个时段(月)的小时估计值。
我的计划是拥有以下列:
M1至M36实际上是对一个月的工作时间的估计。 可以在一个日历月中实施的工作包仅在M1列中具有估计值。 一个至少需要6个日历月的工作包将在M1-M6栏中进行估算。
我可能需要在那里获得更多数据,并为每个时间段单独添加MIN(LIKELY)MAX估计值的分离值。
我确信有更明智的方法可以做到这一点,但我不知道如何......
任何建议都会受到极大关注......
最好的问候// Claes
答案 0 :(得分:0)
这将是我的方法
Table Jobs
JobID -- Don't just use ID
workpackageId
competendId
CreatedOn
ModifiedOn
Table TimePeriod
TimePeriodID
TimePeriodDesc -- this is your M1, M2, etc
Table Times
TimeID
JobID -- fk to Jobs
TimePeriodID -- fk to TimePeriod
EstimateType -- Min, Max, etc
EstimateValue INT -- pop your estimate in here
CreatedOn -- No modify, just use the most recent created for each to allow audit history
答案 1 :(得分:0)
我猜M1-26是一些估计...... 您可能希望将其提取到另一个表格,这样您就可以对其进行更多调整。
请参阅此示例以了解我正在谈论的内容并根据您的需求进行调整:
这是多对多关系,阐明了您的数据库架构。 现在,当您想要添加例如M20估算时,您需要执行以下操作:
你有你想要的东西。现在修改这个很容易 - 如果你想添加最小/最大估计,你只需要扩展Timeperiods表就可以了。