政府统计的 ER 图
ER Diagram for Government Statistics
我是数据库设计的新手,我正在尝试使用一个小国家的可用政府统计数据进行练习。我发现将近 100 tables 存储了从特定区域收集的特定年份和月份的信息。有些 table 每月更新一次,而另一些则每年更新一次。我相信这意味着在每个table中,都会有一个由年份和月份组成的自然复合PK,或者只是一个由年份组成的PK。
ER图
在上图中,Trip Survey 的每个父属性代表我从 public 数据库中收集的众多数据之一 table 特定于正在研究的区域(例如 satisfaction_level、motivation_level, amount_spent 都代表对同一人群的不同调查)。将所有 table 合并为一个 table 是否有意义(例如旅行调查)?
我不确定我的关系是否准确(全部和部分参与)。我的目标是能够查询数据以找到相关点并对未来做出预测。我想随着时间的推移尝试连接所有 table。
收集的调查几乎可以涵盖任何主题,但共同点是它们代表某个时间点,每月或每年。我想最终添加一个 table 可能反映趋势异常值的重大政治事件。
示例结果:当 2018 年的动机水平较低时,相对于 'n' 期间,支出也有所下降,停留时间也较短。
作为新手,非常感谢任何帮助。
谢谢
简化简化简化。
从 one table 开始,至少要理解一些专栏。将其加载到一些 dbms 中(选择一个具有地理空间功能和窗口功能的数据库,您以后可能需要它们:最新版本的 MariaDB,MySQL 和 PostreSQL 是不错的选择)。导入您的 table。要做到正确,这可能会让人头疼,但无论如何都要尽力做到正确。
开始时不要担心主键或唯一索引。您只是在探索数据,而不是构建数据。不要担心购买或租用服务器:大多数笔记本电脑都可以很好地处理这种探索。
选择一个保留您输入的查询历史记录的客户端程序。海蒂SQL是个不错的选择。来自 Jetbrains 的相对较新的 Datagrip 值得一看。避免使用 Microsoft 的 SQL Server Management Studio:没有历史记录功能。 (在探索时,您通常会想回到几小时或几天前尝试过的内容,因此查询历史记录功能至关重要。)
然后 fiddle 查询,尤其是聚合...例如
SELECT COUNT(*), year, origin, destination
FROM trip
GROUP BY year, origin, destination;
寻找可以从 table 中收集到的有趣内容。掌握它。然后添加另一个可以轻松加入到第一个 table 的 table。重复您的探索。
这应该让你开始了。一旦你开始理解你的数据集,你就可以开始排名,计算五分位数等等。
而且,当您必须在不重新加载数据的情况下更新或扩充数据时,您将需要各种主键/唯一键。那是你的未来。
我是数据库设计的新手,我正在尝试使用一个小国家的可用政府统计数据进行练习。我发现将近 100 tables 存储了从特定区域收集的特定年份和月份的信息。有些 table 每月更新一次,而另一些则每年更新一次。我相信这意味着在每个table中,都会有一个由年份和月份组成的自然复合PK,或者只是一个由年份组成的PK。
ER图
在上图中,Trip Survey 的每个父属性代表我从 public 数据库中收集的众多数据之一 table 特定于正在研究的区域(例如 satisfaction_level、motivation_level, amount_spent 都代表对同一人群的不同调查)。将所有 table 合并为一个 table 是否有意义(例如旅行调查)?
我不确定我的关系是否准确(全部和部分参与)。我的目标是能够查询数据以找到相关点并对未来做出预测。我想随着时间的推移尝试连接所有 table。
收集的调查几乎可以涵盖任何主题,但共同点是它们代表某个时间点,每月或每年。我想最终添加一个 table 可能反映趋势异常值的重大政治事件。
示例结果:当 2018 年的动机水平较低时,相对于 'n' 期间,支出也有所下降,停留时间也较短。
作为新手,非常感谢任何帮助。
谢谢
简化简化简化。
从 one table 开始,至少要理解一些专栏。将其加载到一些 dbms 中(选择一个具有地理空间功能和窗口功能的数据库,您以后可能需要它们:最新版本的 MariaDB,MySQL 和 PostreSQL 是不错的选择)。导入您的 table。要做到正确,这可能会让人头疼,但无论如何都要尽力做到正确。
开始时不要担心主键或唯一索引。您只是在探索数据,而不是构建数据。不要担心购买或租用服务器:大多数笔记本电脑都可以很好地处理这种探索。
选择一个保留您输入的查询历史记录的客户端程序。海蒂SQL是个不错的选择。来自 Jetbrains 的相对较新的 Datagrip 值得一看。避免使用 Microsoft 的 SQL Server Management Studio:没有历史记录功能。 (在探索时,您通常会想回到几小时或几天前尝试过的内容,因此查询历史记录功能至关重要。)
然后 fiddle 查询,尤其是聚合...例如
SELECT COUNT(*), year, origin, destination
FROM trip
GROUP BY year, origin, destination;
寻找可以从 table 中收集到的有趣内容。掌握它。然后添加另一个可以轻松加入到第一个 table 的 table。重复您的探索。
这应该让你开始了。一旦你开始理解你的数据集,你就可以开始排名,计算五分位数等等。
而且,当您必须在不重新加载数据的情况下更新或扩充数据时,您将需要各种主键/唯一键。那是你的未来。