Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SQL数据库中存储DNS域的最佳实践?_Sql_Postgresql_Schema - Fatal编程技术网

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

在SQL数据库中存储DNS域的最佳实践?,sql,postgresql,schema,Sql,Postgresql,Schema,好的,我已经思考了一段时间了,这并不明显-这是我在SQL(PostgreSQL)方面的尝试: 但有些问题是: *将http://-与域一起存储?-例如? *是否值得将tld分成自己的专栏?e、 g..com *案子?这有关系吗 *还有别的吗 其他人都做什么谢谢,请记住,一切都取决于您的预期用途 您可能希望将http://保留在单独的列或位字段中。您可能决定要区分ftp、http、https等 tld同样取决于预期用途。会有很多像bbc.co.uk这样的国际网站有多个tld列表吗?你可能想要分开,

好的,我已经思考了一段时间了,这并不明显-这是我在SQL(PostgreSQL)方面的尝试:

但有些问题是: *将http://-与域一起存储?-例如? *是否值得将tld分成自己的专栏?e、 g..com *案子?这有关系吗 *还有别的吗


其他人都做什么谢谢,

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

您可能希望将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)
) ;