嘿!秀才社区-数据库设计

数据库需求分析:

  1. 用户需要有用户的名成、用户标识ID、用户密码、常用联系方式同时也是安全验证联系方式的有手机号和邮箱。
  2. 每个用户有且只有一个学校、一个专业。
  3. 每个学校有多个专业,每个专业对应多个学校,即不同学校可能有相同的专业。学校还需要包括学校名(正确全部名称,不能有简写)、学校所在省(省份不带省字)、学校所在市(市名要带市字),该项不能为空、学校所在县区街道,该项可以为空。
  4. 每个专业有多个标签(课程),每个课程可能被不同专业学习,比如,高等数学这门课程可以被计算机专业学习,同时也可以被其他专业学习,这就要求社区用户的专业名和用户正在学习课程(标签)是多对多的映射关系。 除此之外,专业表还包括专业名称。
  5. 每个用户可能正在学习多个标签(课程),每个标签(课程)也能被多个用户学习。
  6. 每个提问只有一个提问者,每个提问之下可以添加多个回答,每个提问对应多个标签(课程),每个标签(课程)可以对应多个提问。问题表还应包括提问的具体时间、提问问题的题目、提问的内容、问题的状态,问题状态可以标记提问是否已经被解决。
  7. 每个回答对应一个回答者, 一个回答唯一对应一个提问。回答还包括回答内容、回答时间、回答状态用来标记回答是否已经被采纳、回答赞同数、回答反对数、回答是否可评论。
  8. 一个回答下面对应多个评论,但是一个评论唯一对应一个回答。评论表还应该有评论人、被评论人、被评论回答用户唯一标识ID、评论时间(以数据库一行数据插入时间为准)、评论内容。
  9. 每个用户可以相互接受和发送消息。每个消息拥有一个发送方和接收方,还包括内容和消息类型,用来区分“系统通知”、“私信”、和“回答被评论通知”、“提问被回答通知”,“回答被采纳通知”等。

数据库联系与约束:

联系与约束

对于联系集的不同的映射基数约束,采取以下处理办法,多对多的联系集,比如学校-专业、专业-课程、用户-课程、课程-问题,要单独建立一个表[1],对于一对多的联系集,课题中的所有一对多的联系集双方均未部分参与,则可以合并到多方的实体集中[2],比如学校-用户联系,学校为“一方”,而用户是“多方”,则将school_id作为外键,放置在用户表XC_user表之中。

PowerDesign生成的数据库模型图:

嘿!秀才-数据库模型点我查看

使用PowerDesigner进行数据库模型的绘制:

  1. 关于如何使用PowerDesigner将SQL Server数据库逆向生成数据库模型,可以查看本站以前的这篇文章->
    点我查看
feihu分享到:

          

You may also like...

Scroll Up