日期:2014-05-16  浏览次数:20868 次

数据库结构求教
现在要做个sns的项目,跟人人和开心差不多。但是在设计数据库的时候出现一些问题。CTO提供了一种数据库结构设计,类似于drupal的结构,如下描述:
node表:
id , uid , title , body , parent_id , node_type(node的属性值blog/status/user/comment)

user表:
id , node_id , username , password , name 

blog表:
id , node_id ,(blog自己的一些字段)

album表
id , node_id , name , description

大致就是这样。所有的内容包括用户都是node得子类。
他给的理由是这样做灵活性和扩展性比较好。
但是我并不认为这个一个很适合我当前项目的设计。因为如果按照这种设计,那么node表会变的无比庞大。
现在马上就要着手开发了,因为我心里没底,不知道这种设计是否合理。请大家出出主意。下面是我的一个设计(就是最普通的根据功能建立相应的数据表):
blog表:
id , title , body , uid

user表
id , username , password , name

album表
id , name , description , uid , path

------解决方案--------------------
看你的网站发展前景了。
如果没什么新的属性增加,则你的方案比较方便。
但如果允许用户将亚自己设置新属性,则你CTO的比较容易扩展。
------解决方案--------------------
还是按照你们的CTO的设计来吧。 就算NODE 表非常大,也可以分区,分表!