论坛数据库设计 mysql_BBS数据库设计

BBS数据库设计

一、BBS数据库设计

# models.py

from django.db import models

# Create your models here.

from django.contrib.auth.models import AbstractUser

class UserInfo(AbstractUser):

"""用户信息 blank=True) # blank告诉django admin后台管理 该字段可以为空 """

phone = models.BigIntegerField(null=True, blank=True) # 用户手机号

# upload_to 该字段用来存放用户上传头像的文件路径, 用户上传头像会自动放到avatar文件夹下面

avatar = models.FileField(upload_to='avatar', default='avatar/default.png') # 用户头像

create_time = models.DateField(auto_now_add=True) # 创建时间

# 用户表与个人站点是一对一的关系

blog = models.OneToOneField(to='Blog', null=True)

class Meta:

# 会在表名后面添加s

# verbose_name = '用户表'

verbose_name_plural = '用户表UserInfo'

def __str__(self):

return self.username

class Blog(models.Model):

"""个人站点"""

site_name = models.CharField(max_length=55) # 站点名称

site_title = models.CharField(max_length=66) # 站点标题

# 存css. js 文件路径用于模板样式

site_theme = models.CharField(max_lengt

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第一章 需求分析 1.1 BBS的功能与应用需求 1.1.1论坛的功能 论坛是Internet上的一种电子信息服务系统。它提供一块公共电子白板,每个用户都 可以在上面书写,可发布信息或提出看法。它是一种交互性强,内容丰富而即使的电子 信息服务系统。用户在论坛站点上可以获得各种信息服务、发布信息、进行讨论、聊天 等等。像日常生活中的黑板报一样,论坛按不同的主题分为许多版块,版面的设立依据 是大多数拥护的要求和喜好,用户可以阅读别人关于某个主题的看法,也可以将自己的 想法毫无保留地帖到论坛中。 随着计算机网络技术的不断发展,论坛的功能越来越强大,目前论坛的主要功能有以 下几点: (1) 供用户自我选择阅读若干感兴趣的专业组和讨论组内的信息。 (2) 可随意检查是否有新消息发布并选择阅读。 (3) 用户可在站点内发布消息或文章供他人查阅。 (4) 用户可就站点内其他人的消息或文章进行评论。 (5) 同一站点内的用户互通电子邮件, 设定好友名单 1.1.2应用需求 现实生活中的交流存在时间和空间上的局限性,交流人群范围的狭小,以及间断的交 流,不能保证信息的准确性和可取性。因此,用户需要通过网上论坛也就是论坛的交流 扩大交流面,同时可以从多方面获得自己的及时需求。同时信息时代迫切要求信息传播 速度加快,局部范围的信息交流只会减缓前进的步伐。论坛系统的开发能为分散于五湖 四海的人提供一个共同交流、学习、倾吐心声的平台,实现来自不同地方用户的极强的 信息互动性,用户在获得自己所需要的信息的同时也可以广交朋友拓展自己的视野和扩 大自己的社交面。 1.3数据字典 BBS论坛系统的数据流程图如下 说明: ——访问信息, ——用户信息, ——发表帖子信息, 更新帖子信息, 搜索信息 ——获取帖子信息, 回复信息, 搜索用户, 更新用户信息, 获取用户资料 图2.6 数据流程图 概念结构设计 2.2实体E-R图 2.2.1用户E-R图 2.2.2主贴E-R图 2.2.3版块E-R图 2.2.4回帖E-R图 2.3实体总体E-R图 逻辑设计 数据模式 根据论坛的功能与应用需求的简要介绍,可以得出设计论坛系统所要的基本实体有BBSU ser(用户)、BBSSection(版块)、BBSTopic(主贴)、BBSReply(回复贴)。论坛又称BBS。 表1-3-1  BBSUsers 用户信息表 "表中列名 "数据类型 "可否为空 "说明 " "UID "Int "not null(主键) "用户编号 " "UName "char "not null "用户姓名 " "UPassword "char "not null "用户密码 " "UEmail "char "not null "用户Email " "UBirthday "datetime "not null "用户生日 " "USex "bit "not null "用户性别 " "UClass "Int "not null "用户等级 " "UStatement "varchar "not null "用户个人说明 " "URegDate "datetime "not null "用户注册时间 " "UState "tinyint "not null "用户状态 " "UPoint "in "not null "用户积分 " 表1-3-2  BBSTopic主贴信息表格 "表中列名 "数据类型 "可否为空 "说明 " "TID "Int "not null(主键) "主帖编号 " "TSID "Int "not null "主帖版块编号 " "Tuid "Int "not null "主帖用户编号 " "TReplyCount "Int "not null "主帖回复次数 " "TEmotion "Char(10) "not null "主帖表情 " "TTopic "Varchar "not null "主帖标题 " "TContents "Text "not null "主帖内容 " "TTime "Datetime "not null "发帖时间 " "TClickCount "Int "not null "主帖点击次数 " "TLastClickT "Datetime "not null "主帖最后点击时间" 表1-3-3  BBSSection板块信息 "表中列名 "数据类型 "可否为空 "说明 " "sid "Int "Not null(主键) "版块编号 " "SName "char "Not null "版块名称 " "SMasterID "Int "Not null "版主编号 " "SStatement "Varchar "Not null "版块说明 " "SClickCo
BBS论坛系统数据库设计 0.后台用户管理(TAB_USER) "序号 "字段名称 "字段英文名 "数据类型"长度"PK(Y/N) "NULL(Y/N)"备注 " "1 "自增ID "id "int " "Y "N " " "2 "用户帐号 "usercode "varchar "20 " "N "登录用 " "3 "姓名 "username "varchar "20 " "N " " "3 "密 码 "pwd "varchar "11 " "N "用MD5加" " " " " " " " "密算法 " "4 "性别 "ssex "varchar "10 " " " " "5 "角色 "role "int " " " " " "6 "Email地址"email "varchar "30 " " " " " " 1.前台用户注册表(TAB_USER_REGISTER) "序号 "字段名称 "字段英文名 "数据类型"长度"PK(Y/N) "NULL(Y/N)"备注 " "1 "自增ID "id "int " "Y "N " " "2 "用户帐号 "usercode "varchar "50 " "N "登录用 " "3 "姓名 "username "varchar "50 " "N " " "3 "密 码 "userpsw "varchar "11 " "N "用MD5加" " " " " " " " "密算法 " "4 "昵称 "nickname "varchar "50 " " " " "5 "头像 "image " " " " " " "6 "Email地址"email "varchar "80 " " " " "7 "验证码 "checkno "bigint "10 " " " " " " 用户发帖表(TAB_USER_SENDCARD) "序号 "字段名称 "字段英文名 "数据类型 "长度"PK(Y/N) "NULL(Y/N)"备注 " "1 "发帖ID "sendcardid "int " "Y "N "自增 " "2 "发帖区ID "sendzoneid "int " " " "参照发 " " " " " " " " "帖区 " "3 "用户帐号 "usercode "varchar "30 " " " " "4 "主题 "title "varchar "200 " "N " " "5 "发帖内容 "cardcontent "varchar "1000" " " " "6 "日期 "date "date " " " " " "7 "验证码 "checkno "bigint " " " " " "发帖ID的值来判断级别。 " 用户跟帖表(TAB_USER_FOLLOWCARD) "序号 "字段名称 "字段英文名 "数据类型"长度"PK(Y/N) "NULL(Y/N)"备注 " "1 "跟帖ID "followcardid "int " "Y "N "自增 " "2 "讨论区ID "discussid "int " " " "参照推 " " " " " " " " "荐讨论 " " " " " " " " "区ID和 " " " " " " " " "技术讨 " " " " " " " " "论区ID " "3 "用户帐号 "usercode "varchar "30 " " " " "4 "发帖ID "sendcardid "int " " " "参照发 " " " " " " " " "帖表sen" " " " " " " " "dcardID" " " " " " " " "(1:n " " " " " " " " ") " "5 "跟帖内容 "followcardconte"varchar "1000" " " " " " "nt " " " " " " "6 "日期 "date "date " " " " " "7 "验证码 "checkno " " " " " " " " 公告管理表(TAB_NOTICEMANAGE ) "序号 "字段名称 "字段英文名 "数据类型"长度"PK(Y/N) "NULL(Y/N)"备注 " "1 "公告ID "noticeid "int " "Y "N "自增 " "2 "公告时间 "noticetime "date " " " " " "3 "公告内容 "content "varchar "200 " "N " " "4 "作者 "author "varchar "50 " " " " "5 "备注 "remark "varchar "100 " " " " " " 推荐讨论区表(TAB_RECOMMANDMANAGE) "序号 "字段名称 "字段英文名 "数据 "长度"PK(

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值