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