Database design 每个事件一个事实表?
我在一家警察局工作,该局正在考虑开发一个数据仓库来管理信息。它在大约十个数据库中保存信息:Database design 每个事件一个事实表?,database-design,database-schema,data-warehouse,Database Design,Database Schema,Data Warehouse,我在一家警察局工作,该局正在考虑开发一个数据仓库来管理信息。它在大约十个数据库中保存信息: 犯罪数据库 情报数据库 冲突数据库 家庭暴力数据库 这些事件,例如犯罪、情报等,彼此无关。我计划为每一个创建副本数据库。创建复制数据库后,我将尝试创建星形模式/雪花模式 我会为每个事件设置一个事实表,例如犯罪事实表、情报事实表等,还是为每个事件设置一个维度?每个事件都有不同的信息。例如,犯罪中有罪犯和受害者,碰撞中有人 我在网上和书中找到的所有例子似乎都有一个事实表,除了这个 关于事实表数量的决定取决于以
我在网上和书中找到的所有例子似乎都有一个事实表,除了这个 关于事实表数量的决定取决于以下因素:
- 实体是否具有一致的“一致”维度
- 不同实体的事实是否相似
- 查询通常是实体特定的还是跨实体的
- 时间
- 事件类型
- 事件地点
- 受害者人数
- 犯罪者人数
- 是时候回应了
然后,您可以拥有一个更详细的数据库,用于存储不同犯罪的详细级别信息。例如,家庭暴力事件的具体细节将不同于碰撞事件。您不必使用星型模式设计。事实上,我建议使用实体关系结构来存储详细数据。谢谢。更多:“detailled数据库”是副本数据库还是另一个为搜索而优化的数据库?@w0051977。我不知道源数据是什么样子,也不知道数据仓库的设计要求是什么。根据我的经验,来自操作系统的数据通常需要对数据仓库进行某种程度的清理/重新格式化。@GordonLinoff您能否支持您的陈述“事实上,我建议使用实体-关系结构来存储详细数据”以及事实或考虑因素?@Skoffer。这种说法是基于这样一种观察,即不同类型的事件的维度可能会大不相同。如果维度之间几乎没有重叠,那么实体关系结构似乎更合适。