角色数据库真正有价值的时刻,不是“它能存多少字段”,而是它能减少矛盾、缩短查找时间、让不同岗位拿到同一个答案。最容易失控的数据库,反而是因为工具加字段太方便,于是什么都结构化,最后数据库变成第二本需要不断维护的小说。

Notion 的关系字段与 Rollup、Airtable 的 Linked Record、Lookup、Count 等功能,都让非技术团队也能做关系型资料库。功能本身不是问题,问题是你是否把“应该是事件的东西”硬塞进了角色表,或者把“关系”误当成一句静态文字。

决策一:这个信息是稳定事实、变化状态,还是历史记录?

出生地、法定姓名、物种、固定身高、基础外观,通常属于角色主体。当前位置、伤势、军衔、婚姻状态、掌握了哪些秘密,如果会随着章节改变,就更适合放到事件/时间线表里,再与角色关联。“看起来嫉妒”“可能背叛”“也许会洗白”则属于作者判断或假设,最好与正式设定分开。

最典型的错误是角色表里只有一个“当前位置”。故事跨越多年以后,大家不断覆盖这个字段,旧位置全部消失;再后来只能出现“位置2、位置3、最新位置”,本质上是在用列硬做时间线。

判断规则很简单:一个值会变化,而且旧值以后还需要追溯,就不要直接覆盖,应该记录变化本身。

决策二:这是角色属性,还是关系本身?

“母亲:Elena”看起来只是一个字段,但很多项目真正要管理的是这段关系:从什么时候成立、是否公开、双方是否承认、目前是否决裂、哪个章节证明。

当关系本身有属性时,单独做 Relationship 表会更稳:关系类型、方向、有效时间、可见性、证据来源都可以单独管理。

但不要为了“数据库看起来专业”就把六个人的短篇小说做成十张表。复杂度必须由实际查询需求决定。

决策三:团队以后会不会筛选、统计或审计它?

如果会,就适合结构化。

“蓝眼睛、左手缺失、海鲜过敏、偶尔戴眼镜”写在一段人物简介里很容易阅读,但美术想批量查眼睛颜色、连续性编辑想查伤势时几乎不能用。

所以应该把真正驱动工作流的东西结构化:美术反复需要的视觉属性、容易导致前后冲突的身体状态、分镜或授权资料反复要导出的身份信息、需要筛选的阵营/地点/时间状态。

一句话:会驱动工作的信息结构化,会帮助理解的信息保持叙述。

决策四:这个字段能不能从别处自动得出?

重复手填是漂移的主要来源。如果关系已经存在,某些结果可以通过 relation + rollup / lookup / count 自动形成,例如活跃关系数量、最新出现章节、未关闭连续性警报数量。

但不要把复杂叙事判断伪装成自动计算。“当前忠诚阵营”在一个公开效忠A、秘密帮助B的人物身上,可能根本没有单一答案。此时保留两个明确状态,比算出一个看似精确的标签更诚实。

决策五:这个字段错了以后会坏掉什么?

可以给连续性风险分三级:高风险错误会破坏剧情逻辑或正式视觉;中风险错误会产生明显返工;低风险错误只是查资料不方便。

高风险信息应该带来源和有效范围。比如“哪只耳朵有旧伤”如果后面会成为剧情条件,就要记录来源章节与时间;“最喜欢哪种茶”如果只出现一次,就不需要用同样强度维护。

一个足够扩展、但不臃肿的结构

表 用途 常见记录
Characters 稳定身份与当前展示 人物、灵兽、人格
Relationships 有状态的关系 家族、竞争、契约、联盟
Events 随时间发生的变化 受伤、晋升、背叛、发现
Factions / Places 可复用世界实体 组织、城市、舰船、公司
Sources 设定证据 章节、剧本版本、美术brief

角色主页只保留第一眼必须看懂的东西,然后把细节通过链接展开。这样人物越多,主表反而不会越来越难读。

ID不要等于名字

每个角色最好有稳定内部ID,例如 CHAR-0042。显示名、别名、称号、翻译名都可以改变,ID不要跟着变。不要把剧情含义编码到ID里,像 VILLAIN-ICE-QUEEN-07 这种命名在角色洗白后会立刻变成负资产。

“最新”和“正式”不是一回事

团队协作中,新稿不一定已经批准。建议单独维护 source version、canon status、生效章节/日期、approved by、last reviewed。这样就不会出现“美术用了最新一条,但那条其实是被否决的草稿”的事故。

最小可用人物页应该回答什么

一个协作者打开人物页时,最好不用读长文就能回答:这是谁;当前承担什么角色;正式视觉是什么;哪些事实最不能写错;最近发生了什么变化;深层资料链接到哪里;这些信息来自什么正式来源。

其他东西可以放到第二层。

什么时候根本不需要数据库

短篇、少量人物、单作者、几乎不需要筛选时,一份结构清楚的文档可能更快。数据库真正值得维护,是因为多人协作、时间跨度大、关系状态变化、反复导出授权/美术资料或需要持续连续性检查。

从最小结构开始。每加一个字段,都要有人能说出“这个字段会帮我完成什么工作”;每加一条 relation,都要回答“为什么它需要从两个方向查询或追踪”。

角色数据库的深度,不来自200个属性,而来自把几个关键区别保存清楚:稳定与变化、事实与推测、实体与关系、来源与摘要、当前状态与历史。把这些边界建对,故事规模越大,资料库反而越安静。

Sources

Related Reading