日期: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(暂且认为分割字符为;)。