❶ 论坛的数据库库怎么建
呵呵,当然不用了,建一张表就行了
(大主题,小主题,贴名,贴内容,用户名,类型)
类型分为(发帖、评论)
❷ 一般说来做个论坛需要多大的数据库
100mysql一般单独使用Discuz可以使用3年左右.
也可以说能存储1000000条帖子+100000万会员
如果按照正常发展的话用两年没问题.我现在用的是php168+discuz.
数据库加一起才35M,做站做了2年多了我才用了35M数据库.论坛帖子20W多.会员3W多.网站主站也就占了15M左右的数据库.我这200m的数据库是足够用了.
你的应该也能够,如果发展快的话大不了不够再加数据库撒~~~
另外你说独立数据库的论坛目前php还不可以实现,一般都是用mysql数据库的.
如果你想单独分开用的话可以再买一个数据库.这样可以分开了(就是有点费钱^_^)
❸ 一般BBS论坛的数据库应该怎样建啊
设计一个BBS论坛,该系统的用户分别是:用户和系统管理员。不同的用户拥有不同的权限,各自完成各自的管理功能,不同的用户看到不同的系统功能。用sql server2000创建后台数据库,然后利用JSP技术编写程序实现对数据库的操作,按照要求完成所有的功能和模块。
用户的主要功能模块包括:
(1)用户注册与登陆
(2)查看帖子,查询历史帖子
(3)发布帖子
系统管理员的主要功能模块包括:
(1)用户管理
(2)后台数据库维护
(3)论坛信息的分类管理
2、主要数据库表单
(1)登陆用户基本信息表单
主要字段有:用户编号、用户呢称、真实姓名、性别、出生日期、电子信箱
(2)content数据表(每篇文章的详细信息)
主要字段有:id编号、文章标题、是否回帖、文章作者、发表时间、正文
(3)board数据表(各个不同讨论区信息)
主要字段有:讨论区中文描述名、讨论区版主要id、不同讨论区文章总数
(4)保存被封id数据表
主要字段有:id,被查封用户的id
❹ 什么叫论坛数据库
[1]严格地说,数据库是“按照数据结构来组织、存储和管理数据的仓库”。在经济管理的日常工作中,常常需要把某些相关的数据放进这样的“仓库”,并根据管理的需要进行相应的处理。例如,企业或事业单位的人事部门常常要把本单位职工的基本情况(职工号、姓名、年龄、性别、籍贯、工资、简历等)存放在表中,这张表就可以看成是一个数据库。有了这个"数据仓库"我们就可以根据需要随时查询某职工的基本情况,也可以查询工资在某个范围内的职工人数等等。这些工作如果都能在计算机上自动进行,那我们的人事管理就可以达到极高的水平。此外,在财务管理、仓库管理、生产管理中也需要建立众多的这种"数据库",使其可以利用计算机实现财务、仓库、生产的自动化管理。
数据库(11张)
J.Martin给数据库下了一个比较完整的定义:数据库是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务;数据的存储独立于使用它的程序;对数据库插入新数据,修改和检索原有数据均能按一种公用的和可控制的方式进行。当某个系统中存在结构上完全分开的若干个数据库时,则该系统包含一个“数据库集合”。定义2数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制。从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的。
编辑本段数据库中数据的性质数据整体性数据库是一个单位或是一个应用领域的通用数据处理系统,他存储的是属于企业和事业部门、团体和个人的有关数据的集合。数据库中的数据是从全局观点出发建立的,他按一定的数据模型进行组织、描述和存储。其结构基于数据间的自然联系,从而可提供一切必要的存取路径,且数据不再针对某一应用,而是面向全组织,具有整体的结构化特征。数据共享性数据库中的数据是为众多用户所共享其信息而建立的,已经摆脱了具体程序的限制和制约。不同的用户可以按各自的用法使用数据库中的数据;多个用户可以同时共享数据库中的数据资源,即不同的用户可以同时存取数据库中的同一个数据。数据共享性不仅满足了各用户对信息内容的要求,同时也满足了各用户之间信息通信的要求。
❺ 论坛的数据库
用户表(id,用户名,密码,性别,年龄..........)
管理员表(id,用户名,密码,角色id)
角色表(id,角色名,权限id,描述)
权限表(id,权限名,模块名id,描述)
模块(id,模块名,连接地址,描述)
主贴(id,标题,内容,发贴人,发贴时间,最后回贴人,最后回帖时间)
跟贴(id,标题,内容,回帖人,回帖时间,主贴id)
基本的就这些,还可以丰富一下啊
❻ 论坛的数据库怎么设计
常用的论坛设计方法,总结如下:
一 分割思想:
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 定期对表进行转储
❼ 如何下载论坛的数据库
如果是使用mysql或者mssql的数据库,你就不要想了.
如果是使用access的数据库,有可能可以下载.
分以下情况:
1.使用conn.asp连接,读取conn.asp文件,找到数据库文件,下载之.
2.防护做的比较好,conn.asp防止读取,.mdb更名,没有办法下载了.
3.直接在.mdb文件中设置防止下载字段,也没有办法下载.
❽ Discuz论坛的数据库在哪里
这个要根据网站环境不同了:
网站本身的数据库是和程序分开的,大部分主机都是储存在两个空间。
小型虚拟主机,没有权限查看数据库文件,但是会提供在线管理的工具,一般在空间后台有提供链接。
云主机,快云VPS,云服务器,以及独立主机,都有远程服务器管理权限的,直接登录远程,就可以查看数据库位置。
目前的情况看,快云VPS都自带云数据库,也有管理平台,可以后台直接打开数据库。
Discuz论坛的数据库在程序中有设置文件对应查询账号密码,
/config/config_global.php
/uc_server/data/config.inc.php
/config/config_ucenter.php
- 这些文件都含有Discuz论坛数据库的登录账号密码信息,可以参考登录管理数据库。