
作为一个 All in one 的笔记应用,Notion 最强大的功能就是其能与文本无缝衔接的数据库(Database)。可惜的是,不少数据库模板都只是简单地将其当作表格或列表在用,没有发挥出关系型数据库的潜力。社群里很多小伙伴也不太理解 Notion 的数据库到底能做什么。我这里通过一个游戏库的例子,大致讲解一下在 Notion 框架下,如何根据个人需求,从零开始搭建一个结构(相对)复杂,功能(相对)完善,维护(相对)简单的关系型数据库。最终的成品附在文末。
不清楚数据库相关概念的小伙伴,可以参考这两篇文章:《简明数据库史》和《数据库简明入门》。不熟悉理论知识也没有关系,只需要理解数据库都是二维的,由记录/数据(行维度)和变量/属性/字段(列维度)组成。所有的行都有同样的样式,记录了每一条数据的具体内容。字段(即每一列)都有特定类型,如字符串,数字,日期等。Notion 中的基本字段类型有数值型(Number),字符型(Text, Title, Select, Multi-select, 以及URL, Email 等特殊的字符串格式),布尔型(Checkbox)和日期型(Date)。Notion Database 中的 Table 即是数据库最直接的展示样式,而 Board,List,Calendar,Gallery,Timeline 都只不过是从不同角度呈现数据的样式。本文主题为数据库结构,所以各种展示视图就不再赘述,以 Table View 为主,并且默认你已经熟悉 Notion 中的基本操作和设置,适当跳过了一些细节。那么我们开始吧!
<aside> ❗ 注:本文基于 Notion 2.10 版本。
</aside>
目录
在动手前,首先要明确基础的需求和功能。作为个人的游戏数据库,至少要包括以下信息:
游戏名称
购买时间和通关时间(Date)
游戏状态(Select):未玩/在玩/通关/弃坑 等
评分 ( Number )
购买形式(Select):下载版/实体版
其他描述:开发商名称、游戏类型等,随你喜欢。
如果需要查询游戏相关信息,可以参考这个网站:
The Biggest Video Game Database on RAWG - Video Game Discovery Service
那么可以直接开始动手做第一个数据库了,新建一个 Database(建议使用 Table-Inline 样式方便编辑查看),命名为游戏库,按照上面添加相关字段(注意字段的类型),然后就是一条一条添加你的游戏信息了(下面数据都是随便填的):

以我为例,有 Switch 和 PlayStation 两个主机,PC上在 Steam、Epic、GOG 等平台上都买(bai)过(piao)一些游戏,手机平台(iOS)上也有几个买断制的游戏,并且每个平台上都有不止一个账号。为了厘清从属关系,我们需要单独建立一个账号表,需要包含这几个信息: