当前位置:首页 » 数据仓库 » 论坛数据库设计mysql
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

论坛数据库设计mysql

发布时间: 2022-05-17 06:44:31

❶ 如何利用mysql设计网站数据库

简单用户表 tb_user:
userid , username

用户详细信息表 tb_userinfo
userid , email , homepage , phone , address

把用户信息分开的目的就是保证经常查询的数据在一张表,其它信息放到另一张表

论坛主题表 tb_bbs
bbsid , userid , title , ip , repleycount , replyuserid , createtime , lastreplytime

论坛内容标 tb_bbs_content (此表可按照bbsid进行分表存储)
bbsid , content;

论坛回复表 tb_bbs_reply (此表可按照bbsid进行分表存储)
replyid , bbsid , userid , content , replytime , ip

❷ 如何使多个论坛共用一个MYSQL数据库

用户数据库在论坛中是可以独立备份的,备份方法:
论坛后台——站长——数据库,备份所有ucenter数据表,也就是用户数据。
其他DZ论坛搭建完成以后,可以上传用户数据库,将备份文件使用FTP上传至网站所使用的主机上,在论坛后台——站长——数据库,选择恢复数据库,选择ucenter数据表,提交即可实现两个论坛共用一个用户数据库。

如果有第三个、第四个论坛都是这样做。

如果多个论坛使用同一个网站数据库,只要在搭建论坛的时候填写共同的数据库信息即可,当然前提是数据库足够大,可以供多个论坛使用。

❸ Mysql数据库设计

简单用户表 tb_user:
userid , username
用户详细信息表 tb_userinfo
userid , email , homepage , phone , address
把用户信息分开的目的就是保证经常查询的数据在一张表,其它信息放到另一张表
论坛主题表 tb_bbs
bbsid , userid , title , ip , repleycount , replyuserid , createtime , lastreplytime
论坛内容标 tb_bbs_content (此表可按照bbsid进行分表存储)
bbsid , content;
论坛回复表 tb_bbs_reply (此表可按照bbsid进行分表存储)
replyid , bbsid , userid , content , replytime , ip

❹ 最后一个访问该贴的用户mysql语句怎么写(论坛的数据库设计)

你好,这个问题需要提供一下对应的表结构,相同的功能,是可以有很多种实现的。可以有多种表结构设计方式,查询sql自然也就不同了。

❺ 一般BBS论坛的数据库应该怎样建啊

设计一个BBS论坛,该系统的用户分别是:用户和系统管理员。不同的用户拥有不同的权限,各自完成各自的管理功能,不同的用户看到不同的系统功能。用sql server2000创建后台数据库,然后利用JSP技术编写程序实现对数据库的操作,按照要求完成所有的功能和模块。

用户的主要功能模块包括:

(1)用户注册与登陆

(2)查看帖子,查询历史帖子

(3)发布帖子

系统管理员的主要功能模块包括:

(1)用户管理

(2)后台数据库维护

(3)论坛信息的分类管理

2、主要数据库表单

(1)登陆用户基本信息表单

主要字段有:用户编号、用户呢称、真实姓名、性别、出生日期、电子信箱

(2)content数据表(每篇文章的详细信息)

主要字段有:id编号、文章标题、是否回帖、文章作者、发表时间、正文

(3)board数据表(各个不同讨论区信息)

主要字段有:讨论区中文描述名、讨论区版主要id、不同讨论区文章总数

(4)保存被封id数据表

主要字段有:id,被查封用户的id

❻ MYSQL数据库的物理设计都包括哪些内容,怎么设计

Log File物理结构

log block结构分为日志头段、日志记录、日志尾部

  • Block Header,占用12字节

  • Data部分

  • Block tailer,占用4字节

  • Block Header

    这个部分是每个Block的头部,主要记录的块的信息

  • Block Number,表示这是第几个block,占用4字节,是通过LSN计算得来的,占用4字节

  • Block data len,表示该block中有多少字节已经被使用了,占用2字节

  • First Rec offet,表示该block中作为第一个新的mtr开始的偏移量,占用2字节

  • Checkpoint number,表示该log block最后被写入时的检查点的值,占用4字节

  • ❼ 论坛的数据库怎么设计

    常用的论坛设计方法,总结如下:
    一 分割思想:
    1 数据库切分:用户库、主题库、回复库
    2 数据表水平切分:用户库1-n、主题库1-n、回复库1-n (比如按时间分)
    3 分布式数据库:每台计算机中都有DBMS的一份完整拷贝副本,并具有自己局部的数据库,位于不同地点的许多计算机通过网络互相连接,共同组成一个完整的、全局的大型数据库。
    4 论坛功能可以进行分隔,不同的服务器负责不同的功能
    5 用主从数据库,master是写, slave是读
    6 把内容与其它信息分开,好处就是可以让每个表的文件最小化,对数据库操作压力会减小,这样保证每张表数据量很小,操作速度会快,也可以在这里使用缓存
    二 索引:
    针对是否建立索引有着一定的分歧:
    我觉得建立索引还是很有必要的。理由如下:
    1)建立索引可以加快检索速度,对于论坛读和写的比例相差很大,用户体验当然是读多写少,所以综合考虑还是要用索引,而且是加在常用的读关键字上。
    2)索引之所以会降低更新的速度,是因为更新还包括对索引的更新,从更新帖子10万左右,这句话是说,我们可能对发帖标题,发帖内容,回复标题,回复内容这4个字段做更新。需要注意的是,这四个字段并不是用来建立表连接的字段,为了优化查询速度我们不会在这四个字段上建立索引,所以从这道题目出发,我们建立的索引不会影响更新帖子的性能。只要被索引的列(例如回复表的标题ID)不被频繁更新,即使索引所在地行的其它列被频繁update,索引也不会被更新从而产生性能消耗,一张表一天30万次的索引更新,因它引起的性能消耗小到即使数据库安装在奔腾3单核CPU下都能轻松承担下来。
    3)对于更新的速度慢的问题,我们有解决的方法,你提交更新了后,前台可以让程序返回一个正确结果,后台开个线程异步慢慢跟新数据库就是了,反正更新成功的前提就是假设数据库连接永远正确并处于可靠状态。在数据库和用户之间建立一个缓冲区。(如,将更新的数据放到内存中,达到一定数量的时候再统一更新数据库。假如以100条为例,一旦内存中达到100条数据量将这100条数据统一入库。减少insert操作)

    三 缓冲:
    读的时候的缓冲:缓存路由表
    主题缓存表(这个取每个区的前面100条记录),一般来说负载最大的就是主题的第一页,所以缓存表是个小表。

    另外使用hibernate,在数据库上面加了一层缓存。
    生成静态页,缓存最热,最新的帖子。
    对于经常更新的数据都设计成单独表 ,这样可以最大程度的利用hibernate缓存
    缓存常用的数据和表,利用缓存来将经常被访问的帖子留在内存中,为每条缓存的记录添加一个访问时间,如果长时间没被访问就从缓存中删除掉,
    避免内存过大,每次用户看帖的时候,首先检索缓存中时候有需要的帖子,没有的话再访问数据库,然后将数据库返回的帖子信息存储到缓存中。

    写的时候的缓冲:数据库和用户之间建立缓存,将更新的数据放在内存中,异步操作的。所有的写贴操作 放到一个队列然后批量执行插入数据库操作。

    预估计的缓冲:假如用户第一次打开某标题,那将此标题的相关的前100条数据缓存到客户断。这样避开对数据库的直接查询,减少数据库压力。
    四 代码优化
    1尽量避免表的连接约束通过代码来实现约束 例如用户id的验证在用户登录时验证这样就可以把帖子表的用户id外键去掉这样就成了单表操作、查询 而连接可以通过触发来实现这样最多是查询了3个表而不是连接中的笛卡尔笛卡尔积 回复表的查询限定每次查询的记录数例如限定10条其它的通过点击触发来操作"注代码优化容易出现bug 原因有些开发工具本身有优化"
    五 数据库性能调优
    尽量用硬件来代替软件优化 原则就是能用硬件的尽量用硬件 比如磁盘阵列 RAID0 有条件用RAID10 加大内存 .避免小表上建索引 对论坛来说数据帖子和回复不是很重要 可以定期删除一些垃圾帖子 楼主说的几百万条记录的论坛对现在的数据库管理系统和计算机来说永不着刻意的优化,定期维护打包备份数据库就可以了
    提高速度的关键:
    1.建立合理的索引并在查询时充分利用;
    2.避免使用关联,这样避免整表扫描;使用关联不如多次使用主键查询来的快;
    3.一些处理的功能尽可能放到内存中来做,比如组织主题和回复;
    4.海量缓存(使用静态页面也是个不错的做法)
    5 定期对表进行转储

    ❽ 我要做一个简单的jsp论坛,用的是mysql数据库,谁能帮我设计数据表,跪谢!!

    BBS数据库,需要以下表:

    USER表,如果不与你现有的俱乐部、博客等使用同一个用户信息数据库,那么需要设计一个独立的USER表,保存用户名、密码、密码保护问题、密码保护问题回答、注册时间、最后一次登录时间、积分等

    TITLE表,存放所有帖子的主题帖,一般有用户、时间、标题、内容等

    REPLY表,存放所有帖子的回贴,一般有用户、时间、内容等

    为了提高效果,建议单独存放一个信息表MSG(MID,BODY),MID是自动编号的序列类型字段作主键,BODY是TEXT类型的消息内容,这样TITLE和REPLY中都不保存帖子的内容,只存放帖子的MID。

    ❾ 如何用mysql设计一个论坛数据库

    在控制台根目录下打开sqlserver企业管理器,新建sqlserver组,根据自己的情况进行选择;然后新建sqlserver
    注册,进行对sqlserver的连接。准备妥当后,下面就开始了:
    首先打开数据转换服务,新建包,打开dts界面,在连接中选择数据源进行配置。再选择将要转换到的目的文件,这里我选的
    textfile(destination),选择好文件的存放位置之后,我们来新建一个任务。这里我们只选择转换数据任务,将带有“选择源连接”“选择目的连接”的鼠标分别选中数据源和目的之后,我们对新生成的连接进行定义,在其属性中将源,目的,转换依次定义。
    执行任务,提示成功。保存任务。然后在新建的任务上导出数据,有向导提示,其中一项选择“从源数据库复制表和视图”。
    这一步已经把数据导出到目的文件中。
    下一步在mysql中新建表,与将要导入的结构保持一致时,直接选取“从文本文件中提取数据,插入到数据表:”,将选项添好后,“发送”就可以了,浏览一下,数据已导入了。若要导入的表已经存在,且属性名也不同,这时就先建一个与要导入的数据相同结构的表并导入数据(按刚才的进行就可以了),然后在mysql中导出“数据和结构”,得到sql语句,将其在文本文件中编辑,利用文本编辑器的替换功能,将表名修改,列名加入,最后将其粘贴在要导入表的执行sql语句的地方,执行一下,数据便导入了。

    ❿ 关于论坛型网站的mysql数据库构建问题

    不用那么多表,字段控制就可以了,一个表中可以有多个字段:主题贴表:创建主题用户编码,主题编码,子贴编码,主题内容;子贴表:子贴编码,发表子贴用户编码,子贴内容;用户表:用户名称,用户编码,年龄。。。。