我是数据库设计的新手(虽然已经阅读了一些教程)。
在我的程序中,我需要存储时间估计的记录。 工作包的估算包括 36 个时间段(月)的估算小时数。
我的计划是有以下列:
- id INTEGER(主键)
- workpackageId INTEGER(外键)
- competendId INTEGER(外键)
- M36 SMALLINT 无符号
- M35 SMALLINT 无符号
- M34 SMALLINT UNSIGNED
- .....
- M1 SMALLINT UNSIGNED
- 创建 DATETIME
- 修改日期时间
M1到M36其实是对一个月时间的预估工作时间。 可在一个日历月内实现的工作包将仅在 M1 列中有估计。 至少需要 6 个日历月的工作包将在 M1-M6 列中进行估算。
我可能需要在其中获取更多数据,并为每个时间段分别添加 MIN (LIKELY) MAX 估计值。
我确信有更聪明的方法可以做到这一点,但我不知道如何...
如有任何建议,我们将不胜感激...
最好的问候//Claes
最佳答案
这就是我的方法
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
关于c# - 就数据库表设计、估算表提出建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39289683/