成品角色数据库看起来只是很多页面和字段,但真正困难的设计发生在建表之前:什么值得成为独立记录、什么会随时间变化、哪里允许不确定、团队必须在30秒内查到哪些答案。
最稳的系统并不是字段最多的系统,而是字段与团队真实决策方式一致的系统。下面这份清单可以直接拿去做数据库评审。
1. 每个角色必须有稳定内部身份
检查项:唯一ID、正式显示名、别名、必要时的语言版本。
原因:名字会变。王子得到新头衔、卧底有多个身份、本地化出现不同译名、剧情揭示真实姓名。链接如果只靠显示名,改名就容易把资料拆散。
内部ID应该足够无聊,例如 CHAR-0187。称号、假名、婚后姓名都只是展示层。
2. 稳定属性与时间状态必须分开
检查项:每个属性标记为 stable、time-bound、derived 或 editorial note。
原因:“当前阵营”“当前位置”“伤势”这类字段如果不断覆盖,会直接销毁历史。一个角色从A阵营转到B阵营,不应该把旧值抹掉。
需要追溯的变化应该记录为事件或带有效期的关系,再在人物页展示当前状态。
3. 重要关系不要只写成一句文字
检查项:关系类型、方向、生效区间、公开程度、证据来源。
“兄弟、竞争者、上司、债权人”都可能变化、重叠、存在误认。Notion relation 和 Airtable linked records 都能把实体之间的连接显式化;真正的设计问题不是用哪款软件,而是关系本身是否有需要管理的属性。
如果只需要知道“A认识B”,一个链接足够;如果需要知道“A公开服从B,但第44章后秘密保护C”,就应该把关系当作记录。
4. 存证据,不只存结论
检查项:source type、source location、version、canon/confidence。
连续性争议很多时候不是“事实是什么”,而是“这个事实从哪里来”。“右膝旧伤”最好同时带事实、来源章节、正式状态、时间范围、最后复核版本。这样争议可以被解决,而不是靠谁记忆更强。
5. 一个字段不要回答两个问题
“Role”可能有人填剧情定位,有人填职业,有人填组织职务。最终数据看起来整齐,语义却已经混乱。
拆开 Story role、Occupation、Rank/title,必要时再加 production role。字段稍多一点,比后期清理混杂数据便宜得多。
6. 数据重复出现时,先找真正的所有者
同一事实如果复制到很多记录里,后面一定漂移。阵营正式名如果复制到40个人物页,改名要改40次;如果人物链接到阵营实体,正式名称只需有一个权威来源。
Lookup、Rollup 这类功能的价值就在这里:让展示可以分散,而事实来源尽量集中。
但也不要过度关系化。人物主页依然应该能一眼看到最关键答案,不要让所有信息都藏在十层链接后面。
7. 数据库要能容纳矛盾
创作资料天然会有冲突:两个草稿互相矛盾、角色在撒谎、世界内文档本来就是错的、动画版故意偏离小说。
如果表里永远只能有一个“真值”,编辑为了保持整洁反而会删掉有价值的不确定。
建议提供 confirmed canon、working draft、disputed in-world、superseded、adaptation-only、author decision pending 等状态。
8. 按岗位做视图,不要做一张给所有人看的巨表
写作者需要动机、当前关系、当前位置、未兑现承诺;美术需要正式外观、服装版本、比例、颜色、伤疤;本地化需要名称、称谓、语言差异;授权团队需要正式名字、品牌使用限制、批准素材。
底层数据可以共享,但视图完全可以不同。数据库真正比普通文档更强的地方之一,就是同一份事实可以服务不同操作问题。
9. “当前”必须绑定上下文
“当前服装”在前传、正传、游戏2.3版本、后日谈里可能是四个答案。
所以必须写清哪个时间点、哪个发布版本、哪条canon分支。一个值本身完全正确,也可能对当前任务来说是错误答案。
10. 维护成本必须低于靠记忆的成本
任何数据库都会变成坟场,除非维护规则足够便宜。
不要让所有字段按同样频率复核。高风险事实可以在卷册定稿、改编启动、正式资产导出时检查;低风险 trivia 没必要每周维护。
数据库的目的应该是减少创作者脑内负担。如果维护数据库比它避免的错误还费时间,就该删字段。
可直接复制的上线清单
每个角色都有稳定内部ID;别名不会制造重复角色;会随时间变化的事实不会被静默覆盖;高价值关系被明确建模;高风险事实带来源;草稿、正式、争议、废弃状态可区分;重复信息尽量只有一个权威来源;已按实际岗位建立视图;“当前”绑定时间线/版本;有明确维护责任人或维护规则;可以导出人类容易阅读的人物brief;协作者不用读完所有备注就能回答连续性问题。
角色数据库真正高级的地方不是“把一个人拆成300个字段”,而是克制:只结构化那些必须稳定、可搜索、可审计、需要被别人复用的部分。人物的复杂感继续交给叙事,数据库负责守住不会轻易被破坏的承诺。
Sources
- https://www.notion.com/help/relations-and-rollups
- https://support.airtable.com/articles/3370222027-linking-records-in-airtable
- https://support.airtable.com/articles/8927322518-lookup-field-overview
- https://support.airtable.com/articles/5164829243-applying-conditions-to-count-lookup-or-rollup-fields-in-airtable