首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

相干BBS无限级版块,好友系统的数据库设计交流贴

2012-09-02 
有关BBS无限级版块,好友系统的数据库设计交流贴我的基本主题意见就是讲所对应的字段用array()存储 可一维,

有关BBS无限级版块,好友系统的数据库设计交流贴

我的基本主题意见就是讲所对应的字段用array()存储 可一维,可二维,将强大的数组联系到数据库中,

限级版块,版主,用户,管理
先把id=1的设为不问本站点的主版块,如想要往本站内部插入子版块,便添加至表中,将添加完成的id写入父版块对应的include字段,
如果是终端的话就将1写入对应的end字段


字段
类型
属性
默认
备注
Id
Int
Key自增

版块id
Name
Char(20)


版块name
Include
Array()

0
本版块对应的子版块
End
Int

0
是否为终端
Master
Array()


对应版主id数组
Notice
Char()


公告
Display
Int

1
是否显示


例子如下:


Id
Name
Include
end
Master版主
Nitice
Display
1
cs乐知
Array(2,3,4)
0(默认)
对应的版主
该板块对应的
1(默认)
2
狼言事态
Null(默认)
langyan

公告
1
3
我爱生活
array(5,6,7)
0


1
4
我来写算法
Array(算法分类)
0


1
5
生活推荐
Null
0


1
6
亚洲
Array(….)
asia


1
7
欧美
。。。
eru


1



i.?插入版块流程:
递进式选择需要插入的版块的位置,最后确定位置后,输入名字,浏览权限,(推荐数目,)最后将最近的上一层name传过去,将新建的版块插入数据库,(name唯一),
再select id from bankuai where name=- $name(刚建的版块name)
选出id以后将id修改到上一层的id的include的array中,过程如下:
1)?确定添加的位置,并记录父版块内容,查找字段id
2)?添加新的版块到表中,记录name,查出id,并记录
3)?查找到上一版块的include的数组,读出,
4)?将新添加的id插入到数组中,
5)?将新的数组修改到上一层的id的include字段
ii.?删除:
在显示的时候先查找版块的位置,找出include的数组的东西,and display==1
而删除就是将display该为0;
iii.?修改
1)?名字
根据name进行查找
2)?修改所属版块:
a)?找到name所对应的id,将display改为0;将查找到的id对应的table复制到一个新的表,
b)?插入新的一行,后续插入到新的父版块,如{ I }插入。
iv.?版主功能:由系统上级总管理员对不同的子版块include内的array()内的内容或者子版块的子版块进行版主设置,级别高的版主能够将用户设置为子版块的版主。
v.?Notice公告栏:对应的notice表的id
对于好友管理的设计
用户表


字段
类型
属性
默认
备注
Id
Int
Key自增

用户注册id
Name
Char(16)
NotNULL

用户名
Pwd
Char(32)
NotNULL

密码md5后的值
Real
Char(12)
NotNULL

密码的实际值
Score
Int
NotNULL
0
用户积分
Leval
Int
NotNULL
0
用户的等级权限
Masterof



管理对应版块的id
State
Int

0
0离线1在线2隐身
Friend
Array
Notnull
0
存储用户的好友

对于好友系统,将分组作为第一维,再将对应组内的id放在其二维数组里面

?

更多信息请查看?java进阶网?http://www.javady.com

热点排行