閱讀453 返回首頁    go 阿裏雲 go 技術社區[雲棲]


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

最後更新:2017-11-18 20:03:42

  上一篇:go  軟文推廣新聞發稿現在都是怎麼收費的?有沒有好的新聞推廣平台?
  下一篇:go  產品經理教你玩轉阿裏雲負載均衡SLB係列(一):快速入門--什麼是負載均衡