我正在制作一个基于网络的工具来解析网址。它适用于两个表。一个用于URL,一个用于找到的单词及其解析/出现次数。这是一个简化的例子:
URLs
url-id url
----------------------------------------------------
1 www.example.net/this-is-a-sentence
2 www.example.org/this-is-another-sentence
Words
word-id word category occurences
----------------------------------------------------
1 this pronoun 2
2 is verb 2
3 a det 1
4 sentence noun 2
5 another det 1
我试图想出一种方法将URL表中的每个URL链接到Words表中的每个单词。这样,如果用户决定删除其中一个URL,则可以减少所有适当的发生次数。我对SQL完全不熟悉,所以我不知道它是如何在单元格中存储信息的,但是我希望在URL中有一些动态大小的所有word-id列表。
url-id url words
---------------------------------------------------------------------------
1 www.example.net/this-is-a-sentence 1,2,3,4
2 www.example.org/this-is-another-sentence 1,2,3,5
我愿意接受在SQL中组织数据的完全不同的方法的建议。
注意 - 删除时我无法再次解析URL,因为在可能的情况下需要用户输入来验证解析。
答案 0 :(得分:1)
你需要一个像这样的桥接表:
url-id word-id (represents, not part of table)
-------------------
1 1 url-id 1 has word-id 1 (this)
1 2 url-id 1 has word-id 2 (is)
1 3 url-id 1 has word-id 3 (a)
1 4 url-id 1 has word-id 4 (sentence)
2 1 url-id 2 has word-id 1 (this)
2 2 url-id 2 has word-id 2 (is)
2 5 url-id 2 has word-id 5 (another)
2 4 url-id 2 has word-id 4 (sentence)
这被称为多对多关系。 URL可以有很多单词,Word可以属于许多URL。 Here是一篇描述SQL中不同关系的好文章。