数据库设计中关于[字典表]的使用

今天偶然听到[字典表]一词。

原来所谓的[字典表]就是诸如菜单、省份、城市、民族、星座等等一些不常改动的键值对。

那么既然它的实际作用只是用来表示“值”的,为什么还要特意做成一个表,其他的表如果需要这个值,还要关联它的“键\ID”?

比如,一张员工表,里面有个职位的字段,为什么不直接录入“经理”、“总监”等等。

这样做的目的是为了便于维护和扩展。假如以后这个部门没有“经理”这个称谓,改叫“部门长”了。比起一条条的将“经理”改成“部门长”,不如直接将职位分离出一张表。相应的存入键即可

有变化时,将键所对应的值改为新值。便于维护。

既然叫[字典],那么这个表就要稳定,即不能经常改动。今天"anyway"这个单词在150页,明天在第63页,谁都不好找。

那么既然稳定,它的值不常改变。那么出于性能考虑,节省数据库资源开销,通常情况下,可以将其缓存起来。

也可以设置过期时间,定时更新。

这里有一篇文章http://www.blogjava.net/martinx/archive/2006/06/11/16969.html

posted on 2013-09-26 19:42  道可道,非常道  阅读(1831)  评论(1编辑  收藏  举报