ZEISS T*

有点上不去下不来的感觉……

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

这么小的话题也拿出来写篇post,大家别笑我。

最近不少文章提出了pid uid等等不同的id,大部分都是针对dz等论坛的比如板块id,帖子id之类的

这里我要说的也是这个问题,不过并不针对某款具体产品,而是和数据类型有关

 

关于数据库id的设计,通常我们用一个唯一数做主键,我们可以采用以下类型

int 10进制整数,短小,好记,在某一个表中可以唯一,并且自增长

timestamp 16进制数,记忆力好点的能记住,有规律但不明显,根据当前时间生成,在当前主机上是唯一的

uniqundifier 分段16进制数,记不住,有规律但更加不明显,权当无规律看待,全世界独一无二

 

如果我们用int,就可以用pid表示列名,表示primary key

如果用timestamp,可以用tid或者sid,这个时候已经超出primary key的范畴了,虽然在当前表中可以当做primary key来用

如果用uniqundifier ,可以用uid来表示,就好像thinkpad电脑主板的uuid一样,独一无二,当然也可以当做primary key来用

 

这些是习惯,如果觉得合理就借鉴一下,我以前都用id作为列名,不管是什么类型的,以后用这种形式命名应该能直观看出id的唯一范围来,毕竟同一个数据库不同的表根据需要有的时候用不同的类型做主键

posted on 2009-12-31 02:24  Zeiss T*  阅读(502)  评论(1编辑  收藏  举报