在SQL数据库中存储DNS域的最佳实践?
好的,我已经思考了一段时间了,这并不明显-这是我在SQL(PostgreSQL)方面的尝试: 但有些问题是: *将http://-与域一起存储?-例如? *是否值得将tld分成自己的专栏?e、 g..com *案子?这有关系吗 *还有别的吗在SQL数据库中存储DNS域的最佳实践?,sql,postgresql,schema,Sql,Postgresql,Schema,好的,我已经思考了一段时间了,这并不明显-这是我在SQL(PostgreSQL)方面的尝试: 但有些问题是: *将http://-与域一起存储?-例如? *是否值得将tld分成自己的专栏?e、 g..com *案子?这有关系吗 *还有别的吗 其他人都做什么谢谢,请记住,一切都取决于您的预期用途 您可能希望将http://保留在单独的列或位字段中。您可能决定要区分ftp、http、https等 tld同样取决于预期用途。会有很多像bbc.co.uk这样的国际网站有多个tld列表吗?你可能想要分开,
其他人都做什么谢谢,请记住,一切都取决于您的预期用途 您可能希望将http://保留在单独的列或位字段中。您可能决定要区分ftp、http、https等
tld同样取决于预期用途。会有很多像bbc.co.uk这样的国际网站有多个tld列表吗?你可能想要分开,因为分开可能是个问题。同样,如果您不认为您将只使用tld进行任何操作,那么这可能无关紧要。但是,以正确的方式开始要比中途改变路线容易得多。简单的回答是,没有存储DNS条目的最佳实践。对于如何在数据库中存储数据,有一些最佳实践。这通常是通过减少存储数据的重复以及如何访问这些数据来实现的 我发现,如果不先了解如何使用某个东西,思考它的结构几乎永远不会有成效
<>我也会考虑做一个幼稚的实施和重组的代价是什么。有时候成本其实没那么高。在第一次实现中,您可以设置额外的机制或进行部分数据中断以降低以后的成本。根据具体的查询需要,您可以将URL存储为单个字段,只需使用正则表达式解析它们并提取必要的组件,就可以降低成本。由于URL是专门为计算机解密而设置的格式,因此使用正则表达式解析URL是相当简单的
当然,如果您正在搜索特定的内容,查询数据可能会更困难,但这将需要通知您的总体数据库设计。“http”不是域的一部分,因此我认为存储这些内容是多余的。至于拆分“.com”,我认为如果将来有需要的话,随时都可以这样做。换句话说,如果您选择不将其存储为单独的列,则始终可以使用简单的正则表达式对其进行解析。事实上,这是一个好主意-我试图避免重构,但我认为它正在尝试设计一些东西,我们无法完全预测它在未来将如何增长。。。
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)
) ;