表示指向数据库文本列中其他条目的链接

时间:2016-08-16 20:13:08

标签: database database-design content-management-system

我在数据库中有一个自由文本列,需要包含指向数据库中其他对象的链接,如附录中的定义。该数据库将为CMS等系统提供信息。

到目前为止,我只能想到两种在自由文本字段中表示链接的方法:

  1. 降价格式:[link](/entries/999)
  2. HTML
  3. 我错过了任何更简单的解决方案吗?

    此外,有没有办法在没有硬编码URL的情况下表示条目999的链接(例如)?我想自动生成URL,并使数据库的内容能够适应URL的结构变化。

    也许相似:How to insert in a database elements with links to other elements?

1 个答案:

答案 0 :(得分:0)

我认为要解决这样的问题,应该考虑几个要点:

  1. 数据库查询的效率有多重要(这取决于数据库的大小,查询的频率,服务器上的负载等)

  2. 对数据进行了哪些更新:是否经常修改文本(页面)?这些更新会修改链接吗?

  3. 另一个小问题是:在编程复杂性,性能等方面,您更喜欢如何平衡数据库服务器和应用程序之间的工作。

    如果我已正确理解您的问题(我不确定),总是需要将“链接”从应用程序级别转换为数据库级别(否则您不应该遇到特殊问题)。如果这是真的,那么我认为你有以下选择:

    1. 使用“数据库语义”维护链接:通过一对值(记录的主键,引用的字段的名称(或数字))将它们链接到字段。然后,您有两个子选项:在文本中维护这些链接,或在包含链接的两个端点的(子)表中提取它们(起始点应该类似于[记录的键,名称]字段,文本中有链接的位置:结束点可以是[记录键,字段名称]。

    2. 为链接留下“文本语义”,将它们保留在文本中,并发明某种类似URL的符号,可以很容易地转换为数据库链接,或者可以用来执行在数据库中进行有效搜索。

    3. 要评估选择哪个选项,应考虑以上关于效率和更新类型的要点。