bbs 数据库设计

.因为社区要加个bbs论坛,所以就当做练习,自己提前设计了一下数据库,由于经验有限,错误在所难免,还希望各位不吝赐教

数据库的表如上图,

我先把每个表都说明一下,

UserInfo  记录用户的基本信息
       User_Name  用户名(唯一)  int
       User_Pwd  用户密码   nvarchar
       User_nickname  用户昵称  nvarchar
       User_headpicurl  用户头像地址 nvarchar
       User_allmarks  用户论坛的总积分 int
      User_roleid  用户角色 int

BigBoard  论坛的父版块信息
      BiBo_id   父版块的id     int
      BiBo_title 父版块的名称   nvarchar
      BiBo_admin   父版块的斑竹(多个用‘|’隔开) nvarchar

SmallBoard 论坛的子版块信息
      SmBo_id  子版块的id    int
      SmBo_title  子版块的名称   nvarchar
      SmBo_admin   子版块的斑竹(多个用‘|’隔开)  nvarchar
      SmBo_BiBoid   子版块所属的父版块id   int

Posts  发的帖子信息
      Post_id  帖子的id   int 
      Post_Title 帖子的标题  nvarchar
      Post_BiBoid 帖子所属父版块id   int
      Post_SmBoid 帖子所属子版块id  int
      Post_admin  发帖者姓名  nvarchar
      Post_createtime 发帖时间  datetime
      Post_updatetime      更新时间  datetime
      Post_content 帖子内容  nvarchar
      Post_goodcount 帖子的好评数  int 
      Post_badcount 帖子的坏评数  int 
      Post_reward 帖子的总共悬赏分(吸引浏览)  int 
      Post_score 帖子悬赏分所剩下的分数  int 
      Post_ispay  是否结贴  bit
      Post_islocked  是否帖子被锁定  bit

Reply  回复信息表  
      Reply_admin  回复者姓名    nvarchar
      Reply_postid  回复的帖子id  int 
      Reply_smboid 回复的帖子所属子版块的id   int 
      Reply_biboid 回复的帖子所属父版块的id   int 
      Reply_content 回复帖子的内容  nvarchar
      Reply_createtime 回复的时间  datetime
      Reply_goodcount 回复的好评数  int
      Reply_badcount  回复的坏评数  int 
      Reply_score 回复所得到的积分(系统给的积分除外) int
      Reply_id 回复id   bigint

PostCommend 帖子推荐类型表(将被推荐的帖子放入插入此表中)
      PoCo_id  被推荐的帖子id  int 
      PoCo_commendtype 推荐类型  int 
      PoCo_commendtime 推荐时间  datetime
      PoCo_commendperson 推荐人姓名(一般为管理员或者版主) nvarchar
      PoCo_commendreason 推荐理由  nvarchar

DM_PostCommend 推荐类型的代码表
      Comm_type   推荐类型   int
      Comm_summary  不同种推荐的简介  nvarchar

DM_UserRoles  用户角色表
      Role_id 角色id   int
      Role_name 角色名称(管理员,普通用户,版主等) nvarchar
      Role_permission 角色所具有的权限  nvarchar

DM_Grade   用户级别表
      Grade_id 级别id     int 
       Grade_name 级别的名称(如小学生,初中生,大学生,等) nvarchar
      Grade_medalurl  级别的勋章图片链接地址 nvarchar

ScoreLimit  每天的分数限制(防止刷分)
      Score_username 得分用户名   nvarchar
      Score_postmark 发帖个数    int 
      Score_replymark 回帖个数    int 
      Score_createtime  一天中的第一次得分时间   datetime
      Score_updatetime 一天中的其他得分时间(判断两次是不是在同一天,如果是,就将一天的发帖数和回帖数加起来,看是否超出规定,如果超出,之后的操作则不予以加分;如果不是同一天,就将createtime update为当天的第一次得分,就将回帖和发帖置零,总之,一人只有一条记录,如果没有则insert,有则update)  datetime

 我还想将不同的用户根据不同的权限也分离在不同的表里,但是他们不是平级关系,管理员拥有所有权限,岂不是每个表都要有他?
有谁可以帮我把这个分的再清一点,感觉还是有点乱

   知识共享才有进步,所以希望大家各抒己见,谈谈自己的观点!

   或者可以传授一点在数据库设计方面的经验,小生谢个先,O(∩_∩)O

分类: SqlServer

时间: 2024-12-31 19:30:57

bbs 数据库设计的相关文章

BBS数据库详细设计文档,表设计,及说明

问题描述 BBS数据库详细设计文档,表设计,及说明 寻求一份专业的BBS数据库设计文档,要求有详细的表设计说明,及表之间的关系E-R图等 解决方案 数据库表设计数据库表结构的设计 解决方案二: http://bbs.csdn.net/topics/380040417

谁有bbs的数据库设计啊

问题描述 发现做数据库设计相当烦人啊.. 解决方案 解决方案二:jfourm自己看看

select-MS SQL 复杂数据库设计,行和列都是动态的。最终生成一个SELECT

问题描述 MS SQL 复杂数据库设计,行和列都是动态的.最终生成一个SELECT 想要实现上图中的效果,尺码与颜色都是动态的. 我自己设计的数据表 尺码db_cm 尺码ID 订单ID 尺码名称 颜色DB_YS 颜色ID 订单ID 颜色名称 数量DB_SL 数量ID 订单ID 尺码 颜色 数量 备注 3个表有个共同的关键字 订单ID 现在想实现图片中的效果,SQL应该怎么写?我用的是MS SQL2000 如果数据表设计不合理,那应该怎么设计? 解决方案 那个复杂标题行的问题不用管,我用DBGRI

关系型数据库设计-用户表和订单表 怎么设计

问题描述 关系型数据库设计-用户表和订单表 怎么设计 如果一个电商用关系型数据库, 假设有一个用户表,有一个订单表,订单表中有一个用户ID 的字段, 那查询某个用户的所有订单时岂不是要遍历整个订单表?没有在互联网公司工作过,不知道是怎么设计的,求解答. 解决方案 数据库可以使用索引,对userid列做了索引,再查询的时候就不需要全表遍历.这和互联网公司没有关系,基本的数据库常识你都没学会.

恭迎万亿级营销(圈人)潇洒的迈入毫秒时代 - 万亿user_tags级实时推荐系统数据库设计

标签 PostgreSQL , 标签 , 推荐系统 , 实时圈人 , 数组 , gin , gist , 索引 , rum , tsvector , tsquery , 万亿 , user , tag , 淘宝 背景 我们仅用了PostgreSQL的两个小特性,却解决了业务困扰已久的大问题. 推荐系统是广告营销平台的奶牛,其核心是精准.实时.高效. 这么多广告平台,到底谁家强?谁的核心牛逼? 1. 精准,指对用户的描述精准,通常需要基于大量的用户行为数据,经历深度学习后形成的用户画像,或称之为标

求数据库设计模板急急急

问题描述 求数据库设计模板急急急 自主选择一种系统,完成需求分析.概念设计.逻辑结构设计.规范化(3NF)及数据库的创建,并设计功能进行编程实现. 根据所选系统,自己设计多个功能,分别用存储过程.触发器完成. 存储过程或触发器的编程至少实现一个. 求好心人帮忙做一个,谢谢了 解决方案 应付作业最好能雇佣一个枪手帮你,像你这种费时不讨好的事情,想张口要现成的怕没人有时间帮你.既然网上找不到,就没办法了. 解决方案二: 好在你这种简单的需求,花个百把块钱在八戒网上发布下,很多人可以帮你做的. 解决方

数据库设计范式1——三范式

一讲到数据库设计,大家很容易想到的就是三范式,但是第四.第五范式又是什么,不是很清楚,三范式到底怎么区分,也不清楚,作为数据库设计的基础概念,我再讲解下数据库范式. Normal form Brief definition 1NF First normal form Table faithfully represents a relation, primarily meaning it has at least one candidate key 2NF Second normal form N

11个重要的数据库设计规则

原文出处:http://www.oschina.net/question/267865_48311 很好的一篇思考数据库设计的文章,有些规则在日常设计中有意无意的在违背,从而导致设计出不良的程序.转载,保存,并提醒自己,要做好数据库的设计. 总结: 规则 1:弄清楚将要开发的应用程序是什么性质的(OLTP 还是 OPAP)? 规则 2:将你的数据按照逻辑意义分成不同的块,让事情做起来更简单 规则 3:不要过度使用 "规则 2" 规则 4:把重复.不统一的数据当成你最大的敌人来对待 规则

数据库设计中的14个技巧

1. 原始单据与实体之间的关系  可以是一对一.一对多.多对多的关系.在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体.在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单据对应多个实体,或多张原始单据对应一个实体.这里的实体可以理解为基本表.明确这种对应关系后,对我们设计录入界面大有好处.  [例1]:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员工基本情况表.社会关系表.工作简历表.这就是"一张原始单据对应多个实体"的典型例子.  2. 主键