Database design 可链接文本可以使用什么数据库设计?

Database design 可链接文本可以使用什么数据库设计?,database-design,Database Design,如果文本引用了个人,则需要链接到个人实体,如果文本引用了链接到国家实体的国家 唯一想到的是删除数据库中的所有文本,并在事后使用某种解析,例如数据库列包含这样一个条目“[PersonEntityID6]来自[CountryEntityID6]”。您的问题主要是关于存储这些关系的数据库的设计,或者是关于查找哪些文本包含哪些名称和国家?无论如何,这两个问题似乎都是可以解决的 首先,有一个像 person(id, name), with an index on name, country(id, nam

如果文本引用了个人,则需要链接到个人实体,如果文本引用了链接到国家实体的国家


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

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

首先,有一个像

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

根据文本的长度以及人员和国家的数量,最好加载每个人并对文本中的人名执行子字符串搜索;国家也一样。

这听起来像是一项相当大的工作(一个人实际有多少个名字?第一个+最后一个,第一个+中间+最后一个还是更多?)。使用全文索引可能是一种更简单的方法?