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

一个微博数据库设计带来的简单思考

在微博系统中,当前用户、关注者(也就是粉丝)、被关注者(崇拜对象) 这三种角色是少不了的。他们之间看似简单的关系,但是其中数据库表将如何设计,却让我很难琢磨,在如下解决方案中,你们会选择哪种 ? 为什么要选择这种 ? 是否有更好的解决方案 ?

解决方案一:

表名

用户信息表

字段名

字段代码

字段类型

描述

用户名

User_id

Varchar(20)

主键

登陆密码

Password

Varchar(20)

……

……

……

表名

关注和被关注者表

字段名

字段代码

字段类型

描述

用户名

User_id

Varchar(20)

主键

关注者

Funs

Text

?

被关注者

Wasfuns

Text

??? 这是我最初想到的一种设计,这里“关注者”和“被关注者”都是采用拼接一些特殊字符分割存储的,比如 A用户有只有关注者 B C D E,那么存入数据库关注者字段的数据将是 B;C;D;E(暂且认为分割字符为;)。