数据模型
什么是数据模型?
术语 数据模型 用于描述任何组织和标记信息的模式。人们通常将“数据模型”作为通用方式来指代诸如 模式、派生表(视图) 或 ERD 等概念。
好的数据模型可以帮助人们更快地找到所需内容。例如,购物中心目录就是一个数据模型,它组织了有关购物中心内商店的信息。它按类别或位置对商店进行分组和标记,并通过在地图上显示商店来解释商店之间的相互关系。与独自在购物中心闲逛或阅读随机的商店名称列表相比,此模型使人们更容易找到去处。
数据建模示例
为了在数据建模期间做出决策,最好首先弄清楚人们想要查找什么以及原因。假设我们要创建一个数据模型来存储有关电影的信息,以帮助人们查找新的观看内容。
您可以将此数据模型视为可以为任何电影填写的模板。该模板应执行两项操作
-
表示电影中对于查找特定电影有用的部分。例如,人们可能会按标题、导演、流派或演员搜索他们想观看的电影。
-
描述各部分之间的关系,以便可以轻松地根据一组信息查找另一组信息。例如,该模板应确保任何电影标题都与至少一位导演相关联。
最简单的数据模型类型是将相关部分分组到一个模板中,并包含一些有关如何填写的信息。例如,以下模板可以用作任何电影的数据模型。
电影
- 标题:任何文本(必填)。
- 导演:姓名列表(必填)。
- 流派:任何文本(可选)。
- 演员:姓名列表(可选)。
可以通过添加更多与电影相关的部分(例如上映年份或运行时长)来扩展模型。如果现有部分对于查找内容很有用,我们也可以扩展现有部分。例如,人们可能想通过有关电影中演员的具体信息(例如他们获得的任何表演奖)来搜索电影。由于演员仅跟踪演员姓名,我们可以将奖项信息拆分到新的数据模型中。
表演奖
- 奖项:表演奖名称(必填)。
- 获奖年份:年份(必填)。
- 演员:名字和姓氏(可选)。
由于演员姓名同时出现在两个模型中(在演员下或在演员下),因此存在连接电影模型和表演奖模型的关系。当两个模板都填充了真实的电影和奖项信息后,人们将能够通过特定奖项查找电影。
上面的书面模板是思考分解数据模型信息的基本方法,但是您可以根据用例遵循许多最佳实践。您可以在下一节中找到常见数据模型格式的示例。
常见数据模型
模式
模式是概念数据模型。数据库工作人员使用它们。
ERD
ERD是可视化数据模型。需要讨论信息管理和体系结构的人员使用 ERD。
- 信息由不同的形状表示,例如矩形或菱形。
- 关系由不同的线条描述,例如箭头或虚线。
Metabase 模型
Metabase 模型是可以从问题或 SQL 查询创建和保存的数据模型。
- 信息由命名的列和任何关联的元数据表示。
- 关系由问题或 SQL 查询中使用的逻辑描述。
人们实际如何使用术语数据模型
您可能会发现,不同的团队非正式地使用术语“数据模型”来表示不同的事物
- 编写 SQL 的人员可能会使用它来指代派生表或视图。
- 程序员可能会使用它来指代模式或 ERD。
Metabase 中的数据模型
如果您是 Metabase 管理员,您将有权访问 Metabase 中的数据模型页面。您在此处所做的更改将影响数据在整个 Metabase 中的显示方式。
数据模型页面和 Metabase 模型之间有什么区别?
-
数据模型位于连接到 Metabase 的原始数据仓库表的顶层。它是您可以用来清理组织可以看到的表的建模层。您可以将其视为通过分配人类可读的名称并保存 分段 或 指标 的常用定义,在数据世界和业务世界之间“转换”信息的一种方式。
-
Metabase 模型位于数据模型的顶层。它们可以由任何有权使用底层数据库表的人员创建。