[求助] 请教大家一个数据库设计的问题

2014-04-03 08:49:58 +08:00
 hustlzp
网站的用户分2个群体,一边是teacher,另一边是student。

teacher和student有很多字段是相同的,比如:name, sex, email, password, avatar, check_message_time, create_time。

然后各自也有专属字段:

* teacher:毕业大学、授课方式、类型(在校、在职)
* student:性格、对老师的要求

teacher和student的登陆、注册、找回密码等入口页面是一样的。然后teacher和student之间可以相互私信。

有2种设计方案:

* 方案A:单独的teacher表 + student表
* 方案B:user表保存共有信息,额外的teacher表保存老师专有信息,额外的student表保存学生专有信息。user和teacher是一对一关系,user和student也是一对一关系。

个人感觉方案A有点累赘,而方案B的话又带来了很多join操作。

大家的看法是?或者有更好的设计方案,非常感谢!
4284 次点击
所在节点    程序员
22 条回复
hustlzp
2014-04-03 13:35:28 +08:00
@NetCobra 可能描述不太准确,User 和 Teacher+Student 应该是一一对应的。
wwek
2014-04-03 13:43:28 +08:00
每次看v友都说的很好
我也在啰嗦下
b方案. 共有信息放一张表.独有信息单独放.

这个级别的join操作没关系.如果实在是规模比较大,以后做个中间件丢内存跑吧.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/107057

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX