我正在 Teradata 中设计一个大约 30 列的表。这些列将需要存储几个时间间隔样式的值,例如 Daily、Monthly、Weekly 等。将实际字符串值存储在表中是不好的设计,因为这将是数据的严重重复。相反,我想做的是创建一个原始查找表。该表将包含 Daily、Monthly、Weekly,并将使用 Teradata 的标识列来派生主键。然后,这个主键将作为外键存储在我正在创建的表中。
这适用于我的应用程序,因为我只需要知道原始键值,因为我填充了我的 Web 表单的下拉列表。但是,我们使用的其他应用程序将需要运行报告或通过提要接收此数据。因此,需要创建一个视图,将该表连接到原始表,以便它可以实际返回 Daily、Monthly 和 Weekly。
我关心的是性能。我从来没有创建过包含如此大量外键字段的表,而且我对 Teradata 相当陌生。在我踏上艰难地解决这一切的漫长道路之前,我想要任何我能得到的关于实现目标的最佳方式的建议。
编辑:我想我应该补充一点,这个查找表将是不相关的原语的混搭。它将包含与上面已经提到的时间间隔相关的一组值,但也包含诸如 24x7 和 8x5 之类的时间范围。该表将设计如下:
ID 类型值 --- ------------ ------------ 每天 1 次间隔 2 间隔每月 3 间隔每周 4 时间范围 24x7 5 时间范围 8x5
编辑第 2 部分:添加了一个新标签以更多地了解此问题。