您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python中的多对多数据结构

Python中的多对多数据结构

sqlite3(或任何其他良好的关系数据库,但sqlitePython随附,并且在处理如此少量的数据时更方便)似乎是完成任务的正确方法。如果您不想学习sqlSQLAlchemy是关系DB上的流行“包装器”,可以这么说,它使您可以在选择的几种不同抽象级别中的任何一个上对它们进行处理。

而且“在内存中完成所有操作”根本没有问题(请注意,这很 ,因为您将不必要地支付从程序的每次运行中更持久的位置读取所有数据的开销,同时保持磁盘文件上的数据库可以节省您的开销- 但这是另一个问题;-)。只需随处打开sqlite数据库':memory:'即可-一个全新的新关系数据库完全位于内存中(仅在处理期间),而过程 没有磁盘。所以,为什么不呢?-)

就我个人而言,我将直接使用sql来执行此任务- 它使我可以很好地控制正在发生的事情,并可以轻松地添加删除索引以调整性能,等等。您将使用三个表:一个Books表(主键) ID,其他字段(例如Title&c),Authors表(主键ID,其他字段,例如Name&c)和“多对多关系表”,比如说BookAuthors,只有两个字段BookIDAuthorID,每个字段一个记录作者与书本的连接。

BookAuthors表的两个字段分别称为“书本”和“作者”的ID字段,即所谓的“外键”,您可以使用来定义它们,ON DELETE CASCADE以便引用被删除的书本或作者的记录自动依次删除-一个高语义级别的示例,即使是“裸” sql也可以使您工作,而其他任何现有数据结构都无法接近匹配。

python 2022/1/1 18:27:12 有197人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶