如何将ID分配给组SQL Server

时间:2012-04-24 10:48:31

标签: sql sql-server database database-design schema

我正在运行一个计划任务,它每晚都会在设定的时间检查一个属性的值。我的计划是根据返回的值建立一个前端。

目前,我每晚都会在我的数据库中返回超过800行,因为要返回这么多数据。

其中一列是运行查询的日期 - 这让我感到很困惑,因为对于每组属性(即每晚运行计划任务),此dateTime值都是相同的。< / p>

从数据库中删除此冗余/重复日期的最佳方法是什么?

目前我的标题是:

Id -- Name -- AttributeIMeasure -- dateRan

感谢您的帮助!

2 个答案:

答案 0 :(得分:3)

我很想创建一个单独的表RunInformation,其中包含主键列IdRunDate列:

Id -- RunDate

然后,您可以使用对dateRan表的引用替换表中的RunInformation列。如果需要,这将允许您将来存储有关运行的其他信息。

Id -- Name -- AttributeIMeasure -- RunInformationId

答案 1 :(得分:1)

我不会删除此冗余。

你能某些,你不会只更新一个组的部分吗?
- 某种失败或错误?
- 未来要求的变更?

此外,冗余的真正缺点是什么?你想解决什么实际的问题


如果你确实需要这样做,那么你只需要一种将属性映射到组的方法。

创建一个attribute_groups表(至少包含id和dateRan字段),并在原始表中添加attributeGroupID字段。


但我仍然没有看到架构复杂性的增加,获得DateRan值所需的额外连接以及增加的约束,在这种情况下是否值得。