日期:2014-05-17  浏览次数:20506 次

大家来评论一下这个数据库设计的是否合理
下面的一个截图,是一个同事设计的某产品的数据库结构图。
我在邮件给其提出了如下修改建议:
1. 所有字段都为text类型,无法建立索引
2. 有些表没有主键,具有主键的表也为text类型,这样效率会十分低下

对方给我的回答是:
目前需要设置主键的表都已经设置主键了,但是有一些是否合理可以进一步确认,希望你根据数据库能给出更合理的主键建议。
有一些表没有主键,是因为这些表从设计的之处就将考虑可以重复,不需要设计主键,而且这些表一般都是后台数据表,不是核心表。
目前包括唯一性索引等,应经针对TEXT类型建了一些,可以说针对关键业务表的索引在设计之初就已经考虑了,不知道TEXT类型无法建立索引是否有什么依据?
确如你所说,字段类型均为TEXT类型,使用TEXT类型的原因主要也是和应用程序挂钩,这块从应用程序层面考虑不需要进行类型转化了,当然针对使用TEXT有什么不妥,如有相关文档,希望能提供,也多多学习学习。
主键使用TEXT类型,这块不妥,如有什么相关文档,也希望能提供。因为咱们的业务数据决定,主键必须是TEXT类型。



这样的邮件大家看看,我如何回答好?
数据库是 : Postgresql

------解决方案--------------------
两个字 NB

真心吓到姐姐了
------解决方案--------------------
那一串TEST就吓坏相当嫂子的那个人了
------解决方案--------------------
text的id text的主键,额,拜服,无思路啊...