【发布时间】:2010-10-20 14:14:29
【问题描述】:
我有一个应用程序,我将在其中重复事件。因此,事件可以按天、“每 n 天”、按周、“每 n 周的 Mon/Tue/Wed/etc”和按月、“每 n 个月的 1 日、2 日、3 日等”重复。
从表格设计的角度来看,处理此问题的最佳方法是什么?我可以想到两种方法,但我不确定哪一种更好。
1) 5 列用于上述情况,1 列用于日情况,2 列用于周和月。无论哪个未被使用,都将为空。在我的应用程序中,我可以看到空值并选择忽略它们。
2) 有第二个表,比如 events_dateinfo 或其他东西,我会针对它加入查询。
似乎选项 2 可能更“规范化”了,什么不是,但是对于这样一个简单的事情,它是否会让您觉得有点矫枉过正?另外,如果我选择选项 2,有没有办法将行转换为列 - 即,选择特定事件的 2 周属性并将它们视为列?
【问题讨论】:
标签: mysql database database-design architecture normalization