2010-11-02 110 views
0

好了,我一直在思考这个有一段时间了,这是不是很明显 - 这是我在SQL尝试(PostgreSQL的):将SQL域存储在SQL数据库中的最佳实践?

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 * case?这件事情 *别的吗?

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

+1

“http”不是域的一部分,所以我会说存储这将是多余的。就分解“.com”而言,如果将来需要,我认为这是可以随时完成的事情。换句话说,如果您选择不将它作为单独的列存储,则可以使用简单的正则表达式将其解析出来。 – dotariel 2010-11-02 15:48:48

回答

0

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

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

tld再次取决于预期用途。会不会有很多像bbc.co.uk这样的国际网站有多个tld列表?你可能会单独考虑这个问题,因为将它分开可能是一个问题。再一次,如果你不认为你会使用tld来完成任何事情,这可能并不重要。不过,以正确的方式启动它会比中途改变路线容易得多。

2

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

我发现在没有先了解它将如何使用的情况下考虑某些事物的结构几乎是毫无成效的。

我也会考虑以后做一个天真的实施和重组的成本是多少。有时候成本实际上并不那么糟糕。通过考虑第一种实施方式,您可以设置其他机制或部分数据中断,以降低成本,从而降低成本。

+0

实际上这是一个好主意 - 我试图避免重构,但我想它是试图设计一些东西,我们不能完全预测未来它会如何成长...... – MikeSNnowhill 2010-11-02 18:22:03