cas*_*One 1 sql-server-2008 database-design sql-server unique-constraint
我正在为已抓取的多个博客站点的内容构建数据存储。这些站点中的每一个都将在Blog表中包含一个条目
BlogId Url Version
int, PK, identity varchar(2500), not null int, not null
----------------- ----------------------- -------------
1 'http://site1.com/ 1
2 'http://site2.com/ 1
3 'http://site2.com/ 2
Run Code Online (Sandbox Code Playgroud)
然后会有一张Post表:
BlogId Url PostId
int, FK, not null varchar(2500) not null ?
Run Code Online (Sandbox Code Playgroud)
对于我正在查看的大多数博客,我可以轻松辨别出 PostId对它们来说独一无二价值。
对于所有博客,Url将是唯一的BlogId值。但是,Url是经常可能发生变化。
但是,有一些博客PostId在抓取 HTML 时我无法辨别出很好的价值。在这些情况下,我可以得到datetimeoffset发布帖子的信息。发布频率的准确性在分钟级别。
问题是,我需要使用BlogId和PostId但我不确定我应该输入什么PostId。我一直在想两个选择:
sql_variant- 我可以int对我的大多数网站使用 an ,这很好,然后datetimeoffset用于那些我无法轻易辨别唯一数字的网站PostIdbigint-PostId将适合这里,我可以将其编码datetimeoffset为bigint(2011-11-11 13:59将成为201111111359)其他一些关键事实:
Post表最初只有几千条记录(如果超过五千条,我会感到惊讶)