sqlite 在多对多关系中避免第三个表

e5nszbig  于 2023-01-21  发布在  SQLite
关注(0)|答案(1)|浏览(211)

我想创建一个至少包含两个表的sqlite数据库:帐户和服务。一个帐户可以有多个服务,一个服务可以由多个帐户使用。
我希望能够查询一个帐户使用的所有服务。
现在,对我来说比较复杂的是,我希望避免使用第三个表,据我所知,第三个表通常用于解决这种多对多关系。
有没有合适的方法来做这件事?
谢谢大家!

roejwanj

roejwanj1#

你可以反规范化你的模式,并将关系存储在每个表中包含数组的字段中。但这会降低查询效率,而且不是所有的数据库引擎都支持数组类型。实际上sqlite3不支持。你可以通过将其存储为JSON数据类型来缓解这种情况,然后将其存储为JSON表示中的数组。

相关问题