使用Postgres和prisma数据库,创建一个名为cast list的表,其中包括演员和角色的列表以及创建列表时的一些其他数据。想找到最好的方法来储存它。形状应该是
Createdby,project,comment,shared_with,[{talentId,role,comment}]
输入表单将允许一个人根据需要添加尽可能多的行来将人才添加到演员表中。天赋是数据库中的一个表。
基本上,一个人会创建一个列表,添加一个评论,并选择多个人才保存在列表中,但不仅仅是一个人才id,每个人才选择需要额外的两条信息,如角色和评论。
我认为这是一个JSON块,存储在一个行/记录的字段中的数组中,但我想知道这是常见的还是最佳实践。
1条答案
按热度按时间e4yzc0pl1#
根据您所描述的内容,您正在创建一个多对多的钩子表。
所以你有一个
cast
表,一个talent
表,然后你需要一个cast_talent
表。这将允许您将人才与具有关联评论的演员条目相关联。像这样的表结构可以工作:我不确定你的数据中还有什么其他关系,但这将允许你存储天赋和施法之间的唯一引用,而不依赖于施法表中一行数组的json记录。虽然在postgres中使用jsonb数据类型是可能的,但对于不同方式的查询(例如查找属于x talent的所有cast条目)效率不高。
希望这能帮上忙。