在DNS数据库中存储DNS域的最佳实践?

时间:2010-11-02 15:46:27

标签: sql postgresql schema

好的,所以我现在一直在思考这个问题,这一点并不明显 - 这是我在SQL中的尝试(对于PostgreSQL):

CREATE TABLE domains (
  id SERIAL NOT NULL,
  display_name varchar(255) NOT NULL,
  domain_name  varchar(255) NOT NULL UNIQUE,
  tld varchar(10) NOT NULL,
  domain_type  INT NOT NULL,
  --
  PRIMARY KEY (id)
) ;

但有些问题是: *存储http:// - 与域名? - 例如http://www.domain.com? *是否值得将tld打入它自己的专栏?例如.COM * 案件?这件事有关系吗 *其他什么?

其他人都做了什么? - 谢谢,

3 个答案:

答案 0 :(得分:2)

简短的回答是,没有最佳实践来存储DNS条目。有关如何在数据库中存储数据的最佳实践。这通常是通过减少存储数据的重复以及如何访问数据来实现的。

我发现,如果不首先考虑某些内容的结构,那么考虑它的结构几乎从来没有效率。

我还会考虑以后进行天真实施和重组的成本是多少。有时费用实际上并没有那么糟糕。通过在第一个实施中考虑它可以减轻成本,您可以在其中设置其他机制或部分数据突破以降低成本。

答案 1 :(得分:0)

请记住一切都取决于您的预期用途。

您可能希望将http://保留在单独的列或位字段中。您可能决定要区分ftp,http,https等。

tld再次取决于预期用途。会不会有很多像bbc.co.uk这样的国际网站有多个tld列表?您可能会单独想要它,因为将它分开可能是一个问题。再说一次,如果你认为你不会仅仅使用tld那么它可能并不重要。然而,以正确的方式启动它比在中途改变路线要容易得多。

答案 2 :(得分:0)

根据您的确切查询需求,您可以将 URL 存储为单个字段,然后只需使用正则表达式来解析它们并提取必要的组件。由于 URL 是专门为计算机解密的格式,因此使用正则表达式解析它们是相当万无一失的。

当然,如果您要搜索特定内容,查询数据会更困难,但这需要告知您的整体数据库设计。