对于数据库来说,电影是一个非常好的演示案例。
我想所有人应该都对电影这类媒体有概念,梳理起与电影相关的内容,除了必然包含电影的名称之外,常常还需要涉及影片的类型、上映的时间、导演、主演等必要的「元数据」。
一般情况下,我们只需要用最简单的表格,就足以承载这些元数据:
notion image
但当我们需要深入到电影之中,也许有简单的截图存档,也许有记录零碎的观后感,又或者是为其撰写深度的影片评述,表格这样的载体就远远不够了,我们需要为每一部电影单独创建一个个零散的文档。
这时,高频的记录需求就需要在多个文档之间来回切换,显然不太符合我们对高效管理的预期。
notion image
但 Notion 的数据库将完美解决这个问题。
我从 2020 年开始用 Notion 记录我的 观影生涯,这些年来一共看了 107 部电影:
notion image
以上这些依然处于传统表格的记录范畴,不过现在,Notion 的每一条数据都可以独立展开为一页文档,如此一来就解决了表格与文档互相孤立的问题:
notion image
这就是 Notion 数据库在表格视图之下的最基础用法,我们从表格形态最快速地获取每一份文档的「元数据」,这些元数据不一定是以数字或者时间戳的形式出现,也可以用 Select 字段来自定义地描述这些文档的状态或者特征
在此基础上,这个表格可以衍生出千变万化的用法,也可能因此让你产生很多意料之外的困惑,所以接下来我将以「创建个人影评数据库」为基础目标,为你从头理一遍使用数据库的基本逻辑,希望能给你一些帮助。
你可以将电影库替换为文档库、项目库、笔记库、资料库、合同库、收款数据库、付款数据库、客户信息库等等,请自由代入你的实际需求,核心思路都是一样的。

第一步:设置字段结构

这一步最简单,但也很容易卡住一些新用户,因为总会想着把每个字段(Property)都用到,其实没有必要,字段属性必须忠诚地反映我们当下的需求但不能过度透支未来,简而言之就是不要想太多,也不要想太远。
以电影为例,首先影片名称就是文档标题(Title),然后再补上影片类型(Select)、豆瓣评分(Number)、观影日期(Date)、观影状态(Checkbox),以及豆瓣链接(URL)即可,以后有什么新想法再临时补充即可。
基本上所有常见的数据类型你都可以在新建的字段中找到,实在没有的话还有 Select 和 Multi-Select 这两个可自定义的选项。
notion image
从这一步开始,我们就初步构建起了表格与文档互相链接、互相嵌套的一个数据库。
但是切记从这一步开始,我们不要一下子就想着把过去的所有文档,都搬运到 Notion 的数据库之中,这个阶段我们先用 Notion 来完成基础、简单的日常文档书写,或者是开展一个全新的项目都可以,总之就是先暂缓笔记库迁移这件事。

第二步:设置数据库模板

接下来我决定为表中的每一部电影写一篇观后感,于是我点开标题的Open按钮,让这份文档在侧边栏中打开,然后先暂且让 Notion AI 帮我们写完这篇影评。
notion image
一开始我只能写出只言片语,不成体系的文字想到哪里就写到哪里。
但随着影评越写越多,我开始意识到,一名专业的作者总要让自己的文章足够充实饱满,并且固定的输出模板能加快创作的速度,减少构思的时间,所以现在我们要为这个数据库设置一个拥有初级自动化功能的影评模板

创建模板

方法一:点击数据库右上角的蓝色箭头,然后选择 New template
notion image
方法二:在数据库中新建页面,然后在页面下方选择 Create a template
notion image

编辑模板

你在这个模板页中添加的任何元素,都会在下一次激活模版时原封不动地重新生成,包括模板的标题、页面文字的格式、图片的混排、数据库的字段属性,甚至是你嵌入的另一个数据库。
所以在当前的「影评数据库」场景下,我们可以先参考学习别人的影评写法,然后根据自己的实际需要为模板设置相应的文章结构:
notion image
需要注意的是,你在模板中编辑的任何数据库字段也将包含在模板内容之内。
例如在下图的这个观影数据库中,我最常看的影片类型是科幻片,那么就可以将数据库的默认影片类型设置为「科幻」,下次通过模板生成的页面就会自动带上「科幻」的标签:
notion image
如果你还想自动生成每一次激活了模板的时间点,则可以再为这个数据库添加一个数据库自带的「Created time」字段:
notion image
最后一个大多数人可能遗漏的模板细节是,这个模板的「页面属性设置」也是可以继承的,所以如果你习惯将页面保持全宽模式(Full width),就可以提前在下图红框处设置:
notion image
编辑完所有的模板细节后无须手动保存,点击任意地方退出模板编辑页面即可。

激活模板

模板创建完毕后,有三种方式可以激活这个模板:
  1. 手动激活
  1. 设置为默认模板
  1. 设置为定时生成模板

手动选择模板

你可以点击右上角蓝色箭头然后选择你要生成的模板,也可以在数据库新建的页面下方选择你要的模板:
notion image

设置为默认模板

点击右上角蓝色箭头,然后将这个模板设置为数据库默认模板(Set as default),设置完成后,该数据库新建的页面都会自动应用这个模板的效果:
notion image

设置为定时自动模板

在数据库的模板列表的右侧点击三个小点 ···,然后在 Repeat 选项中设置频率,即可让这个模板在这个数据库中按照你希望的频率自动生成。
notion image
notion image
数据库在时间维度上提供的自由度非常高,能允许你设置成每几天的几点、每年每月的哪一天,以及每周的哪几天来设置重复频率。
notion image
如果你没有固定的写作习惯,那么自动化的模板也许不会更便利,但如果你有的话,那么它既能提高效率,还能起到提醒的作用。
需要注意的是,你所创建的模板和自动化定时设置都只能在这个特定的数据库内生效,其他数据库并无法继承或者使用这些模板,需要重新设置。

定时模板的实际应用

定时自动模板还可以用于晨间日记、每日总结、日报、周报、会议记录等一切具备重复要素的文档类型。
你可以设置一个每个工作日下午五点半自动生成的日报模板,或许能让这件枯燥无味的事情变得稍微有趣一点。
notion image
notion image
但是当你生成的模板数量足够多,你一定会发现一个问题,那就是这里的每个标题都是一样的,这样就显得比较无趣:
notion image
不过上一篇文章中我们说过,Title 这个字段是可以使用 @ 这个快捷键来插入当前的日期或者时间的:
notion image
所以我们就可以将这个日报模板的标题设置成下图这样,如此一来每次通过自动化模板生成的 Page 标题,就都会使用 @Today 功能来带上当天的日期了。
  • @today 设置「今日日期」
  • @now 设置「今日日期与时间」
notion image
notion image
到这一步我们基本实现了主题类文档的专项归纳、打标签、以及快速创建模板的功能,为这个目标远大的数据库打好了良好基础。
但随着数据记录越来越多,这张表里的文档数量势必会越来越多,分类和查找的难度将逐渐上升。所以接下来我们要学习表格数据库基本的排序、筛选、和分组等功能,这将是你今后会接触到的最高频率的操作之一。

第三步:排序、筛选、分组、计算

随着时间的推移、项目进度的积累,这张观影记录表必将积累越来越多的文档和数据,然后我们一定会自然而然地产生如下类似的需求:
  1. 筛选某个时间段看过了哪些电影
  1. 计算我每年都看了多少部电影
  1. 查找 2021 年科幻片中评分最高的是哪一部
  1. 查找并计算科幻、动作、剧情片各自的平均评分是多少
Notion 的数据库虽不及 Excel 数据透视表功能丰富,但基本的分类查询和计算需求都能满足,并且学习成本非常低。

排序(Sort)

排序是整个数据库最为基础的一项筛选操作,方法是点击任意一条字段,然后选择 Sort descending(降序),或者 Sort ascending(升序),即可对整个数据库进行排序处理。
数据库支持对标题(Title)、时间、数字、文本等内容进行排序,不过可惜目前对中文排序的支持度还不够好,无法按照中文首字母进行排序。
notion image
数据库还支持对处在 Select 字段的 emoji 表情进行排序,排序的原理是先读取 emoji 的英文单词名,然后按照单词的首字母进行排序:
notion image
如果你是在画廊视图或者其他视图下,没有可以直接点击排序的字段标题,则需要先点击一下Sort按钮,然后再添加排序要求即可:
notion image

过滤(Filter)与隐藏

Notion 的过滤会针对不同的字段提供不同的过滤选项,并且支持多个过滤条件同时生效,在我们后期搭建个人知识库以及较为复杂的数据仪表盘(Dashboard)时,Filter 功能是一个绕不开的话题。
notion image
下面的动图演示了一个完整的多条件筛选过程:筛选出 2021 年我看过的所有科幻片中豆瓣评分大于 7 的影片
  • 对标签进行筛选:年份 - 2021 ;影片类型 - 科幻
  • 对数字进行筛选:评分 - 大于 7 分
notion image
然后因为我并不需要看到表中的上映时间看完时间这两个字段 ,所以我会点击这个字段,然后选择 Hide in view ,这个字段就会被暂时隐藏起来。
如果你想找回这个字段的话,可以点击数据库右上角三个小点 - Properties - 然后将被隐藏的字段取消隐藏。
notion image

高级筛选模式

只要是在筛选栏位并排出现的过滤条件都是会同时生效的,也就是「And」的筛选模式:
notion image
如果我们希望设置成只满足其中一个条件即可,例如只要符合「评分大于 8 的科幻片」或者「评分大于 7 的动作片」的其中一个条件即可,也就是「Or」的筛选模式,则需要进入高级筛选模式(Add advanced filter):
notion image
首先我们将这个具体的需求进行拆分,只要满足下面的条件 1 或者条件 2 即可:
  • 条件 1:「评分大于 8 的科幻片」= 评分大于 8,并且是科幻片
  • 条件 2:「评分大于 7 的动作片」= 评分大于 7,并且是动作片
所以我们在高级筛选条件中,需要先创建一个筛选组(Group):
notion image
然后为「条件 1」设置筛选条件:
notion image
随后点击「Add filter rule」然后添加第二个筛选组,并且将第一组和第二组之间设置为「Or」模式,即可满足我们的最终需求:
notion image
如此一来,通过简单的筛选过滤就已经能够实现几乎所有的日常需求了。
基于筛选这个功能,你可以在 Notion 创建一个简易的影单推荐库、书单推荐库、或者是工具推荐库,然后通过 Notion 的在线链接公开分享出去,所有人无须登录都可以使用你的这张表格自行筛选。
而我则做了一个笔记软件筛选表,一共 60 余款笔记软件,每款超过 30 个筛选条目,你可以试着访问这个网址,如果你最后还是选择放弃了 Notion,或许可以试着在这里筛选出下一款适合你的另一款笔记软件:
notion image

分组

当数据库堆满了各式各样的数据,你既不希望将它们隐藏,又希望他们能更高效地聚焦信息时,就可以试试分组(Group)这个功能。
在 数据库设置 - Group中选择你要分组的字段,例如以 Select 字段实现的年份记录,那么这张观影记录表就会将所有的数据按照年份进行分组,分组之后你可以对每一个组执行折叠或者展开的操作,这将让你的数据展示得更有针对性:
notion image
如果你发现分组之后,一些标签没有按照你的想法进行排序,例如年份变成了「2022-2021-2023」这样的错乱顺序,你可以在数据库设置 - Group 中手动拖动标签来排序:
notion image
Notion 不仅支持对标签(Select)字段进行分组,还有以下几种可以选择:

对数字(Number)字段分组

可设置分组的数字范围,以及每一组数字的步长。下图右边红框圈出的「0-10」以及「1」分别代表着:选取豆瓣评分在 0 至 10 分的数据进行分组,然后每组的间隔为 1。
notion image

对日期(Date)进行分组:

支持按照天、周、月、年的间隔将数据进行分组。
notion image

对关联(Relation) 进行分组:

Relation 这个高级字段在本章中暂时还不会介绍,不过可以先提前剧透一下,学会对它进行分组是众多高级模板所必须掌握的一项技能。
notion image
还有更多的字段也能够在分组场景中有所应用,并且不同的数据库视图还会有更多不同的分组效果,我们会在后面的课程中介绍更多的实操案例。

子任务分组(Sub-items)

前面介绍的分组方式大多是以标签为基础,但如果有些文档本身就具备上下级关系的话,该怎么办呢?
工作项目是一个很典型的例子,一个大项目之下会有很多个小项目,每个小项目还能继续向下拆分,于是现在你可以用 Notion 的 Sub-items 来在数据库中实现下图类似树状文档的分级效果:
notion image
开启方法:数据库设置 - Sub-items - 设置主项目和子项目的名称
notion image

Sub-items 的特性

Sub-items 本质上是用 Relation 这个字段来构建同个数据库内的文档关联,所以如果你对 Relation 这个字段熟悉的话,一看到数据库表中的这个字段箭头,就可以立刻领会它的含义。
notion image
但如果你是新手,暂时不熟悉 Relation 这个功能也没关系,课程后面会专门出一个大章节来详细介绍它,开启 Sub-items 之后你可以先点击这两个字段,然后将它们隐藏掉。
notion image
虽然 Sub-items 的层级结构可以向下划分到最多 10 级,但我建议最好不要超过 3 级,否则路径太深的文档结构会适得其反。
另外当你打开任意一个文档就会发现,主任务字段显示的是它的上级文档,子任务字段显示的则是它的下级文档,通过点击的方式,你就可以快速地在各个层级的项目和任务之间快速切换了。
notion image
除了表格数据库(Table)可以开启 Sub-items 功能,列表视图(List)、看板视图(Board)、时间线视图(Timeline)也都是可以开启这个功能的,并且在列表视图下能获得更像传统的多级文件夹的显示效果:
notion image

计算

首先在表格视图下,Notion 的数据库底部自带计算功能:
notion image
并且它能根据字段属性的不同,提供不同的计算选项:
  • 针对数据(Number)可以计算求和、求平均、求范围、求最大最小值等;
  • 针对勾选框( Checkbox )可以计算打勾和未打勾的百分比;
  • 针对日期可以计算日期范围、最早日期、以及最晚日期等。
notion image
对数据库进行分组之后,旁边的小数字也有计算功能。默认情况下它计算的是这个分组里的条目数量(Count all),但你还可以用它来计算分组的数据总和、平均值、最大值、最小值等,可计算的选项非常多。
notion image
除了上述两种计算方式,Notion 还有基于公式(Formula)的字段之间的计算,以及基于 Relation 和 Rollup 的跨数据库引用与计算,这两点我们会留到下个章节再详细展开,因为它们都是重量级的核心功能,必须用更大的篇幅来介绍。

镜像数据库的更多应用

在上一篇文章中我们简单提及了创建镜像数据库(引用数据库)的方法,但并未深入探究它的更多用法,原因就在于,只有学完本章关于数据库排序、过滤或者分组等操作,镜像数据库对你来说才会是有用的。
表格数据库作为与 Excel 最接近的一种形态,能在数据库中展现最多的信息量,但有时过多的信息量反而会让我们无法聚焦到真正需要的内容上,所以我们能通过筛选、分组或者隐藏等操作,聚焦于当前最重要的信息上。
但就像使用 Excel 一样,我们有时真的会忘记自己曾经隐藏了什么内容,或者临时想查看全部内容也是挺麻烦的一件事:
notion image
但 Notion 的「镜像视图」以及「镜像数据库」这两个功能很好地解决了这个问题,它允许我们从一个数据库衍生出多个新的数据库视图,每个视图都可以有自己的过滤和排序设置,使得我们可以更加针对性地浏览数据。

场景 1:提取不同的用户特征

下图是一张美妆客户资料管理表(资料均为 AI 生成),不同客户有不同的特征:
notion image
现在的需求是,我们要提取这批用户的主要特征,分类后再为不同类型的客户制定不同的营销方案。经过评估分析,我们将这些客户分成了两个类别:
  • 高消费客户:提供会员专属福利和专属客服
  • 低消费客户:提供优惠券、登录积分、限时赠品
现在我们需要用这张基础数据表,按照这两类用户特征来创建两个镜像视图。回顾一下创建镜像视图的两种办法,第一种是在原有的数据库上新建一个视图,第二种则是复制这个数据库的区块链接,粘贴在空白处后,选择 Create linkde view of database
notion image
这样我们就得到了一张未经筛选的客户总表,以及两张经过筛选的镜像表:
notion image
  1. 它避免了重复创建相同结构的数据库,节省了我们的时间和精力
  1. 当数据库结构或源数据发生变化,所有视图会自动更新,无须手动调整
  1. 我们只需要关注主数据库的管理,其他视图会继承主数据库的所有变更,大大简化了我们的工作流程。

场景 2:创建任务四象限表

首先创建一张任务总表,然后用 Select 字段添加任务的四个优先级标签:
notion image
然后复制这张总表的链接,在页面空白处创建四个镜像数据库,分别命名为重要紧急、重要不紧急、不重要紧急、不重要不紧急,然后用标签筛选出相应优先级的任务:
notion image
这样一来你在任何一个象限内添加的任务,都会自动同步到任务总表内。
notion image

场景 3:那年今日回顾

假设我们用 Notion 的日历视图(Calendar)来写每天的日记,那么我们可以再为这个日历视图创建一个镜像数据库,然后在这个镜像库上,使用数据库公式(Formula)筛选出「那年今日」记录过的日记。
notion image
例如在下面的动图中,右边是每日更新的日历日记本,而左侧的「那年今日」则自动筛选出了去年和前年的 6 月 8 号所写下的日记:
在上面这个案例中,如果你暂时还不会使用数据库公式,请先别着急,在下一个大章的课程中,我还会用至少 1 万字的篇幅让你初步入门 Notion 最为复杂的这个功能。
到这里为止,我们就介绍完了关于 Notion 表格数据库所必须掌握的基本知识以及相应的基础应用案例,只要能掌握这些知识点,Notion 几乎已经是你的囊中之物。
后面要介绍的所有其他数据库视图都将用到本文所提及的各项技巧,所以融会贯通非常重要,这一切都需要你在实践中边用边学,但是切记不要为了折腾而折腾,一定要从实际需求出发,不要刻意创造需求
Loading...