Python 数据库架构-无法以适合程序的方式链接表

Python 数据库架构-无法以适合程序的方式链接表,python,database-design,sqlite,Python,Database Design,Sqlite,我已经创建了一个python脚本,用于在文档中搜索关键字。它在服务器上运行,cronjob确保每天执行多次搜索(在不同的时间使用不同的关键字) 为了存储结果,我创建了下表: TABLE: 'SEARCHES:' search_date(string) number_of_results(integer) keywords_used(string) ^-- I created a single string from all keywords 所有这

我已经创建了一个python脚本,用于在文档中搜索关键字。它在服务器上运行,cronjob确保每天执行多次搜索(在不同的时间使用不同的关键字)

为了存储结果,我创建了下表:

TABLE: 'SEARCHES:'
    search_date(string)
    number_of_results(integer)
    keywords_used(string)     

     ^-- I created a single string from all keywords
所有这些都很容易在Python/SQLite中实现。但是,现在我想跟踪每个关键字的结果数量

我已经创建了一个“关键字”表

TABLE: 'KEYWORDS:'
    word(string)
    total_hits(integer)
    last_used(string)     
但是,我很难找到一种方法来链接这两个数据库,使我能够将关键字链接到搜索。“searches”表可能会有一个链接到关键字的foreignkey。但每次搜索最多可以有10个关键字,但只有一个foreignkey列

我研究了许多关系,但据我所知,这将创建大量同时包含“search\u id”和“keyword\u id”的行。然而,我只需要每次搜索1行

程序完成后,我希望创建一个GUI前端,并能够在列表/表格中列出所有已执行的搜索。不仅显示已使用的关键字,还显示搜索日期等信息。每次搜索1行

我还想为各个关键字创建一个单独的概述,展示它们的有效性


我只是想不出一个数据库模式来适应这种情况,我需要一些帮助来让我的鼻子朝着正确的方向走

我建议在“匹配”表中创建“搜索”的子表。将“搜索ID”字段添加到搜索表以支持外键。“Matches”表将保存搜索ID、每个关键字,以及该关键字的总点击率

然后,您可以将“匹配”匹配到“关键字”,并使用搜索ID从“匹配”转到“搜索”