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

不知道有什么样的好的设计方法,交流,交流


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

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

字段

类型

属性

默认

备注

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放在其二维数组里面

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值