数据库
本章将介绍数据库的各个表的用途和以及每个表的每一列的具体作用。本章默认阅读者可以实际访问数据库;如果想访问的请联系上帝获取权限。
当我们打开capubbs这个database时,我们可以看到,共有17个表;下面将按照字母表顺序逐一进行介绍。
- attachments回到顶端
- 此表是上传附件的记录表;里面记录了每个上传文件的位置,大小,引用次数,上传者等信息。
- id: 每个附件的唯一编号。
- name: 附件名称。
- path: 附件在服务器上存的地址。
- uploader: 上传者ID。
- ref: 引用次数。当ref为0时将自动删除此文件。
- count: 下载次数。
- price: 价格;在我们论坛中,任何附件的价格都是0。
- auth: 下载权限;在我们论坛中,任何权限者均可下载;此项和上一项的结果都默认为0。
- time: 上传时间;存的是上传那时候的Unix时间戳。
- boardinfo回到顶端
- 此表是所有版面的信息记录表;里面记录了每个版面的ID,名称,版主等信息。
- bid: 版面ID;例如车协工作区的bid为1,等等。
- name: 版面英文名;此项是保留了老版论坛的习惯,比如车协工作区的name就是act,纯净水版是water,一技之长版是skill等等;在新版论坛中此项已无实际作用。
- bbstitle: 版面名称;即车协工作区,行者足音等等。
- hide:版面是否直接可见;如果为0则可见,即在首页会直接显示;否则将隐藏在首页的“显示所有版面”中。
- m1,m2,m3,m4: 这四列分别是版主;一个版面最多允许4个版主。
- need: 在此版面发帖/回复至少所需要的等级;此项是为了避免一些隐藏版面被随意灌水而设置。
- borrow回到顶端
- 此表是自助借车系统中,所有借车/求车的记录。
- number: 每个借车/求车信息的编号。
- type: 记录的类型;是能出车还是想求车;type为0代表可以出车,type为1代表正在求车。
- id: 用户名。
- sex: 性别。
- phone: 手机号。
- height: 身高;此项仅对求车信息有值,代表求车人的身高。
- bike: 车辆类型;此项进队出车信息有值,记录可以出借的车辆的型号。
- condition: 车辆状态;此项对出车信息有值,代表可以出借的车的状态如保养情况等等。
- length: 尺寸;记录了车辆的是多少寸的车架。
- hint: 备注;用户填写的备注信息。
- timestamp: 最后修改时间;信息最后编辑的时间戳。
- state: 信息状态;对于求车信息,0代表正在求车,1代表已经求到车;对于出车信息,0代表可以出借,1代表已经出借。2则代表用户取消了自己发布的信息。
- calendar回到顶端
- 此表为首页上的日历的记录。其中每一条信息代表一个事件。
- year,month,day: 年,月,日。
- time: 几点几分。
- title: 事件标题。
- content: 事件的简要正文。
- captcha_codes回到顶端
- 此表为验证码表;当生成一个验证码时就会记录在此表中;
- 此表和网站本身无关,可忽略。
- codes回到顶端
- 此表为注册码表,记录了所有有效的注册码和该注册码注册的次数。
- id: 每个注册码唯一编号。
- code: 8位注册码的具体内容。
- times: 注册码注册的次数。
- downloads回到顶端
- 此表为下载中心的记录表;里面记录了首页-下载中心的内容。
- id: 每个下载项编号。
- name: 标题。
- url: 下载地址。
- times: 下载次数。
- lzl回到顶端
- 此表为楼中楼表;里面记录了所有的楼中楼内容。
- id: 楼中楼唯一编号。不同楼中楼的编号均不相同。
- fid: 楼中楼所在的楼层的fid;fid的具体说明参见posts表。
- author: 楼中楼作者。
- text: 楼中楼具体内容。
- time: 楼中楼发表的时间戳。
- visible: 可见性;为1代表可见,0代表不可见;当一个楼中楼被删除时,将其visible置为0,即视为删除。
- mainpage回到顶端
- 此表记录了首页上的所有信息,以及部分其他信息。
- number: 每个信息的唯一编号。
- id: 信息类型;不同的id代表不同类型的信息。
- id=-1: 记录的是安卓手机客户端的更新信息。
- id=-2: 记录的是论坛最高同时在线人数。
- id=0: 首页的进站图的信息。
- id=1: 首页公告栏信息。
- id=2: 首页的协会视频信息。
- field1 - field5: 信息的具体内容。
- id=-1: field1记录更新说明;field2记录下载地址;field3记录更新时间。
- id=-2: field1记录最高同时在线人数;field2记录此时的时间戳。
- id=0: field1记录原图地址;field2记录缩略图地址;field3记录图片说明。
- id=1: field1记录公告内容;field2记录点击公告跳转的链接;field3记录公告发表的时间戳。
- id=2: field1记录视频地址;field2记录视频标题全称;field3记录视频缩写;field4记录视频封面图地址;field5记录高清版视频的下载地址。
- messages回到顶端
- 此表记录了所有站内信或者系统消息的内容。
- id: 每个信息的唯一编号。
- sender: 发送者;如果sender为system代表是系统提醒消息。
- receiver: 接受者。
- text: 消息类型或站内信正文。
- 如果sender为system且text为reply,则代表一条回复消息提示;
- 如果sender为system且text为replylzl,则代表一条回复楼中楼的消息提示;
- 如果sender为system且text为at,则代表一条@消息。
- 如果不是以上三种,则为站内信,text为站内信正文。
- time: 消息发送时间。
- hasread: 是否已读;hasread=1代表已读,若为0代表未读;未读消息数会在界面上提示给用户【你有x条未读消息】。
- rbid,rtid,rpid: 如果是系统提醒(含回复,楼中楼回复,或者@消息),那么记录该提醒所发生的的bid,tid,pid。有关bid, tid, pid的说明请参见posts表。
- ruser:如果是系统提醒,记录用户ID。
- rmsg: 如果是系统提醒,记录此帖的标题。
- null回到顶端
- 此表为回收站,记录了所有被删除的帖子;此表未被任何外部文件引用;仅可通过直接查看数据库进行查看内容。
- number: 每个记录的唯一编号。
- bid,tid,pid: 帖子编号。有关bid, tid, pid说明参见posts表。
- title: 被删除的帖子标题。
- text: 被删除的帖子正文。
- author: 该帖子作者。
- deleter: 删除该帖子的用户。
- replytime: 帖子发表时间。
- updatetime: 帖子最后更新时间。
- deletetime: 帖子删除时间。
- replyip: 发表帖子时的IP地址。
- deleteip: 删除帖子时用户的IP地址。
- posts回到顶端
- 此表为整个论坛最重要的一个表;它记录了所有楼层的内容。
- bid: 版面编号。例如车协工作区的bid为1,纯净水的bid为4,等等。
- tid: 帖子编号。
- bid和tid两者在全论坛范围内唯一决定了一个主题帖。
- pid: 楼层编号。即该楼层是该主题帖的第几楼。
- bid, tid, pid三者在全论坛范围内唯一确定了一个帖子的一个具体楼层。
- fid: 楼层唯一编号。全论坛任意两个楼层的fid都不同,即一个fid唯一确定了一个特定的楼层。
- 对帖子的一些操作,比如删除会改变pid值,而移动会改变bid和tid值;但是任何操作都不会修改fid值;即fid在创建时就和这个帖子内容完全绑定,不会再发生变化
- 参考lzl表,每个楼中楼都记录了fid,两个fid相同的楼中楼记录是在同一个楼层内;当帖子被移动或者删除时,bid, tid, pid都可能发生变化,但是fid保持不变,因此该帖的楼中楼也会随着帖子而移动。
- title: 该楼的标题。
- author: 作者。
- text: 该楼的内容。此表中的此列为整个论坛最核心的部分。
- ishtml: 是否为html实体;如果此栏是YES的话,那么取出text内容后需要经过html转义再显示出来。
- attachs: 如果该楼层有附件,以空格分隔所有的附件id。
- replytime: 回复时间。
- updatetime: 最后编辑时间。
- sig: 作者使用的签名档编号。
- type: 作者发表此楼的平台类型;web代表是用浏览器发表的,android代表Android客户端发表;ios代表IOS客户端发表。
- ip: 作者发表此帖的IP地址。
- lzl: 此楼的楼中楼数目。
- sign回到顶端
- 此表为签到记录表,里面记录了所有用户的签到信息。
- year,month,day,hour,minute,second,week: 用户签到时的年/月/日/时/分/秒/星期几
- username: 签到的用户名。
- sms回到顶端
- 此表记录了所有发送短信的消息;表中每一项就为一条系统发送短信记录。
- number: 每个记录的唯一编号。
- id: 请求发送短信的用户ID。
- phone: 发送短信到的手机号。
- text: 发送短信正文。
- ip: 用户的IP地址。
- timestamp: 发送短信的时间戳。
- test回到顶端
- 此表为测试使用的表;和我们网站没有任何关系。可忽略。
- threads回到顶端
- 此表为主题列表。里面记录了所有主题帖的信息。
- bid: 主题所在的版面id。
- tid: 主题编号。
- title: 此主题的标题。
- author: 主题帖的作者。
- replyer: 主题帖的最后回复者。
- click: 点击数。
- reply: 回复数。
- guesture: 主题的图标;新版论坛中暂时没有意义。
- extr: 是否精品;0代表不是精品,1代表是精品。
- top: 是否置顶;0代表未置顶,1代表置顶。
- locked: 是否锁定;0代表未锁定,1代表锁定。
- timestamp: 最后回复时间。
- postdate: 主题帖发表日期。
- userinfo回到顶端
- 此表为用户信息表;每一行记录代表了一个用户。
- username: 用户ID。
- password: 加密后的用户密码。
- token: 用户令牌。
- tokentime: 用户令牌更新时间。
- 当一个用户请求登录,后台确认登录有效,将随机生成一个字符串,将其作为token值,存储在数据库中并将其在用户的浏览器中设置cookie(或者在客户端中保存下来);
- 用户本地只存储token值;当用户进行任何操作,比如查看贴子/发表/删帖,等等时,将给服务器上传用户的token,服务器在数据库中查询此token获取用户的ID,权限及其他内容;
- token有效期是30分钟;也就是说,如果30分钟不进行任何操作,则token将变为无效,视为用户长时间未操作自动登出;除此之外,用户的任何操作,包括查看贴子/发帖/删除,等等,都会更新tokentime;
- ****** 用户在一个界面长时间停留将不会更新token,这也意味着,如果你长时间直接在回复框打字的话,将有可能会超时导致发帖/回复失败 ******
- sex: 性别
- icon: 用户头像的图片地址。
- intro: 用户自我介绍。
- sig1,sig2,sig3: 用户的三个签名档。
- hobby,qq,mail,place: 爱好,QQ号码,邮箱,来自于哪里。
- regdate: 注册日期。
- lastdate: 最后登录日期。
- lastip: 最后登录的IP地址。
- star: 星星数。
- score: 积分数;此项现在已无实际意义,可忽略。
- post,reply,water: 发帖数,回复数,灌水数。
- sign: 签到数。
- rights: 权限值。
- lastpost: 最后回复的时间戳。用来判断发帖过快。
- nowboard: 当前所在版面。
- onlinetype: 当前在线的平台类型;是web端在线还是Android客户端还是IOS客户端。
- logininfo: 当前在线用户的的具体信息。
- code: 注册码。
- other2,other3,...,other6: 暂时没有任何意义,保留字段供将来添加信息使用。
>>点此进入下一章:后台和接口<<回到文档首页