什么数据库设计可用于可链接文本?

时间:2016-03-14 17:17:22

标签: database-design

如果文本具有对某人的引用,则该文本需要链接到该人实体,如果它具有对链接到该国家实体的国家的引用。

唯一想到的是删除数据库中的所有文本并在事后使用某种解析,例如数据库列包含这样的条目“[PersonEntityID6]来自[CountryEntityID6]”

1 个答案:

答案 0 :(得分:0)

您的问题主要是关于存储这些关系的数据库的设计,还是关于查找哪些文本包含哪些名称和国家?无论如何,两者都显得可以解决。

首先,拥有一个像

这样的数据库
person(id, name), with an index on name,
country(id, name), with an index on name
text(id, title, full text only if needed)
person_in_text(id, person_id, text_id, position in text if needed)
country_in_text, similar

分析文字:

for each word in the text
   select name from person where name like word%
   for each person found
      if substring of text starting on current position equals name
         insert text_id, person_id into person_in_text
   ... same for country

根据文本的长度以及人数和国家/地区的数量,最好加载每个人并在文本中对人名进行子字符串搜索;同样适用于国家。