asp学生论坛bbs设计毕业论文(开题报告+源代码) 第8页
以上4个表是紧密关联的。为什么单独建立主题信息表而不把主题当成帖子的特例来筛选,是因为主题会有很多回复,而在论坛帖子搜索时如果搜索要过滤一次帖子将会速度很慢,而且用户浏览主题时也不必要看到帖子的全部内容。表2-9里用到了4个外键,如果在其他表中该字段没有的数据,在主题信息表中也是不能有的。发帖用户名和发帖用户编号来源于用户信息表,可以算是数据冗余,是在查询用户发帖时具有更高的效率。
表2-10也包含了4个外键,其中主题编号是用来关联主题信息表的。层数记录的是该帖子是主帖还是从帖,排序数是对同一层次的帖子进行排序的。签名标识和电子邮件标识是记录用户是否在此帖中开放自己的签名和电子邮件。
表2-11记录了投票类帖子的投票部分的内容。由于投票内容和帖子信息不一样,所以单独建立一张表。后面几个U开头的字段是限制字段,可以对于投票的用户做一些资格上的限制,防止新用户反复注册投票。
表2-12记载了没个投票用户的投票情况。投票编号和用户编号都是外键。投票选项字段和表2-11中的投票内容字段想关联。
接着设计管理员信息表,如表2-13,记载了管理员的信息。
表2-13 管理员信息表(Admin_T)
序 号 字 段 名 字段类型 说 明 备 注
1 ID COUNTER 管理员编号 Key
2 Username VARCHAR(50) 用户名
3 Password VARCHAR(50) 用户密码
4 Flag Memo 权限字段
5 LastLogin DATETIME 投最后登陆时间
续表2-13
序 号 字 段 名 字段类型 说 明 备 注
6 LastLoginIP VARCHAR(50) 最后登陆IP地址 Key
7 Adduser VARCHAR(50) 用户信息表中的用户名
管理员信息表和用户信息表是有关联的,外键是用户信息表里的用户名,所以论坛的管理人员也是论坛的注册用户。这样可以让管理人员在修改论坛参数后可以很直观的看到修改后的状态。
公共信息表记载的是论坛中发布的公共信息,与版面等信息是关联的。如表2-14。
表2-14 公共信息表(BbsNews_T)
序 号 字 段 名 字段类型 说 明 备 注
1 ID COUNTER 编号 Key
2 BoardID INTEGER 版面编号
3 Title VARCHAR(50) 标题
4 Content LONGCHAR 内容
5 Username VARCHAR(50) 发布用户名
6 Addtime DATETIME 发布时间
7 Bgs VARCHAR(100) 背景音乐
表2-14中版面编号和发布用户名是外键,但版面编号可以为0,表示是在论坛首页发布的信息。背景音乐是让大家读枯燥的公告时有亲切感,不至于觉得无聊。
收藏夹信息表是针对用户的一个信息表,如表2-15。
表2-15 收藏夹信息表(BookMark_T)
序 号 字 段 名 字段类型 说 明 备 注
1 ID COUNTER 编号 Key
2 Username VARCHAR(50) 用户名
3 url VARCHAR(100) 收藏的网页地址
4 Topic VARCHAR(100) 帖子的主题
5 Addtime DATETIME 添加时间
收藏夹是为了给用户带来方便的,这里收藏的是网页的地址,其实也可以做成收藏主题的编号,但因为可能收藏版面等容易编号混乱。 短消息信息表记录用户之间的短消息,见表2-16。
表2-16 短消息信息表(Message_T)
序 号 字 段 名 字段类型 说 明 备 注
1 ID COUNTER 编号 Key
2 Sender VARCHAR(50) 发送者
3 Incept VARCHAR(50) 接受者
4 Title VARCHAR(100) 标题
5 Content LONGCHAR 内容
6 Flag INTEGER 阅读标记
7 SendTime DATETIME 发送时间
8 DelR INTEGER 接受者删除标识
9 DelS INTEGER 发送者删除标识
10 IsSend INTEGER 已发送标识
短消息是用户之间私下交流的内容,所以必须保留两者之间的信息。发送和接收者都是用户信息表关联的外键。删除标识设置两个是防止一方删除操作后另一方看不到的情况。
用户的好友信息表见表2-17。
表2-17 用户好友列表(Friend_T)
序 号 字 段 名 字段类型 说 明 备 注
1 F_ID COUNTER 好友编号 Key
2 F_username VARCHAR(50) 用户名
3 F_friend VARCHAR(50) 好友用户名
4 F_Addtime DATETIME 添加时间
5 F_mod BYTE 好友类型
6 F_userID INTEGER 用户编号
用户好友列表是用户用来相互交流的,是论坛感觉更人性化。记录好友用户名是因为用户往往记得这个好友名字却不记得编号,所以这里用用户名做记录而不是编号。
在线用户表是显示即时在先的用户,可以方便用户见看到在线情况而更及时的交流。如表2-18。
表2-18 在线用户表(Online_T)
序 号 字 段 名 字段类型 说 明 备 注
1 ID DOUBLE 编号 Key
2 Username VARCHAR(50) 用户名
3 Userclass VARCHAR(20) 用户类型
4 Stats VARCHAR(250) 用户状态
5 IP VARCHAR(40) 当前IP
6 Actforip VARCHAR(40) IP来源
7 Startime DATETIME 开始时间
8 Lastimebk DATETIME 最后操作时间
9 BoardID INTEGER 版面编号
10 Browser VARCHAR(250) 浏览器类型
11 ActCome VARCHAR(50) 来源
12 UserID INTEGER 用户编号
13 Userhidden INTEGER 是否隐身
这里的主键是DOUBLE类型,是因为用户的活动很多,数据量存在溢出的可能。用户名、编号和类型都是来自用户信息表的外键。浏览器类型记录了浏览器和操作系统的类型。
文件上传表是帖子表的一个附表,它记录了在帖子中的附件等信息,见表2-19。
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>