我正在写一个游戏,在类似环境的伪互联网中播放。我只是在做游戏的“DNS”。基本上,一个将字符串(“URL”)链接到机器(数据库中的另一个实体)的数据库。数据库表保存URL
很像现实生活中:
- 每个机可以有零个或多个网址
- 的每个网址都具有TLD。为了简单起见,只有TLD和没有超过一个扩展名的TLD(呃,在那里修正我的术语?)。所以.com和.net是有效的,但.co.uk和.org.uk不是。
- URL可以具有零个或多个亚结构域
- 每个子域可以连接到一个不同的机
- 每个子域可具有零和或多个子域,每个连接到不同的机器
我的第一反应是至做这样的事情:
domain _
tld table;
tld_id,tld
domain_hostname table;
主机名_
ID,主机名,TLD,父母
其中,主机名是URL,TLD链接到域_
TLD,父为空,如果它的根域名。如果它是一个子域,那么父项是父项的主机名_
id,并且主机名是子域。但后来我意识到它正在分配一个冗余的tld ...虽然我想这可能只是一个空值。
我想知道是否有更聪明的想法?
.co.uk和.org.uk不是tlds。 .uk是顶级域名。 – 2009-06-21 20:01:21