Python中的多对多数据结构

Python中的多对多数据结构,第1张

Python中的多对多数据结构

sqlite3(或任何其他良好的关系数据库,但

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

而且“在内存中完成所有 *** 作”根本没有问题(请注意,这很 愚蠢
,因为您将不必要地支付从程序的每次运行中更持久的位置读取所有数据的开销,同时保持磁盘文件上的数据库可以节省您的开销-
但这是另一个问题;-)。只需随处打开sqlite数据库

':memory:'
即可-一个全新的新关系数据库完全位于内存中(仅在处理期间),而过程
中完全 没有磁盘。所以,为什么不呢?-)


就我个人而言,我将直接使用SQL来执行此任务-
它使我可以很好地控制正在发生的事情,并可以轻松地添加或删除索引以调整性能,等等。您将使用三个表:一个

Books
表(主键)
ID,其他字段(例如Title&c),
Authors
表(主键ID,其他字段,例如Name&c)和“多对多关系表”,比如说
BookAuthors
,只有两个字段
BookID
AuthorID
,每个字段一个记录作者与书本的连接。

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



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5673228.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存