我必须开发一个系统来监控 生成/传输的报告。
任何人都知道用于存储任务的一个好的(经过验证的)表格设计?我已经有了一个想法,但我不想重新发明轮子。
答案 0 :(得分:1)
如果您真的要支持所有这些类型的复杂计划,我不确定尝试为这些计划的所有详细信息创建一个同样复杂的关系数据库架构是个好主意。
我会考虑为计划的详细信息设计XML模式,如果您确实需要在关系数据库中存储计划,则将XML数据存储在列中。您可以将列用于适用于任何类型的计划的计划属性(例如计划名称或上次修改它的时间和时间)。
例如,假设某个计划可用于多个报告,您可以执行以下操作:
Table: Schedule
---------------
Columns:
ID - Surrogate key to refer to schedules
from other tables.
Name - Short textual description of the schedule
(to be shown in GUI).
...
Details - XML containing all the details of
the schedule (frequency, exceptions,
complex combinations of simple schedules,
whatsoever).
即使您的应用程序必须回答“在给定日期/时间内应该报告哪些报告”之类的问题,我认为您必须拥有非常非常大量的计划来证明使用关系模式存储的开销在单独的列中(以及可能在多个表中)的细节计划细节。
答案 1 :(得分:1)
您可以使用列
创建表计划你的例子是:
周一晚10点
mon, tue, wed, thu, fri = true, time=22*60, the rest are NULL
凌晨5点
sat=true, time=5*60, the rest are NULL
该月的第一天
day=1, the rest are NULL
您还可以使用
列报告和表格 report__schedule ___ late 以及列: