简单BBS数据库设计.doc

上传人:sk****8 文档编号:3159938 上传时间:2019-05-23 格式:DOC 页数:10 大小:276.50KB
下载 相关 举报
简单BBS数据库设计.doc_第1页
第1页 / 共10页
简单BBS数据库设计.doc_第2页
第2页 / 共10页
简单BBS数据库设计.doc_第3页
第3页 / 共10页
简单BBS数据库设计.doc_第4页
第4页 / 共10页
简单BBS数据库设计.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、 KMUST JAVA 论坛数据库文档KMUST JAVA BBSDBMS: ORACLE Version 10g作者:KMUST JAVA 论坛开发小组成员版本:0.1时间:2011/7/19说明:KMUST JAVA 论坛数据库设计文档KMUST JAVA BBS 数据库文档 KMUST JAVA BBSI 数据库表关系图II 数据库表清单名称 说明T_ADMIN 管理员表T_ARTICLE 帖子表T_AVATAR 头像表T_CATEGORY 论坛分类表T_FEEDBACK 用户意见反馈表T_FORUM 论坛版块表T_NOTICE 公告表T_RESPONSE 反馈应答表T_SCORE 用户

2、积分明细表T_USER 用户表KMUST JAVA BBS 数据库文档 KMUST JAVA BBSII.1 表格 T_ADMINII.1.1 表格 T_ADMIN 的列清单名称 注释 数据类型 长度 主要的 外来键ID 管理员编号 NUMBER(2) 2 TRUE FALSENAME 管理员用户名 VARCHAR2(30) 30 FALSE FALSEPASSWORD 管理员密码 VARCHAR2(30) 30 FALSE FALSEREGTIME 管理员注册时间 DATE FALSE FALSEAVATARID 管理员头像编号 NUMBER(3) 3 FALSE TRUEII.1.1.1

3、表格 T_ADMIN 的触发器清单名称 注释TRI_DELETE_ADMIN_INFO 在删除管理员之前,修改该管理员发布的公告和应答记录,将这些记录中的管理员编号改为系统默认管理员编号TRI_DELETE_ADMIN_INFO的文本:CREATE OR REPLACE TRIGGER TRI_DELETE_ADMIN_INFO before delete on t_admin for each rowbeginupdate t_notice set adminid=1 where adminid=:OLD.id;update t_response set adminid=1 where ad

4、minid=:OLD.id;end;/ALTER TRIGGER TRI_DELETE_ADMIN_INFO ENABLE;II.2 表格 T_ARTICLEII.2.1 表格 T_ARTICLE 的列清单名称 注释 数据类型 长度 主要的 外来键ID 帖子编号 NUMBER(10) 10 TRUE FALSEPID 父帖编号,0 表示该帖子为主题帖 NUMBER(10) 10 FALSE FALSEROOTID主题帖编号,主题帖的该字段值与其自身编号相同NUMBER(10) 10 FALSE FALSETITLE 帖子标题 VARCHAR2(255) 255 FALSE FALSECONTE

5、NT 帖子内容 CLOB FALSE FALSEPDATE 发表时间 DATE FALSE FALSEISLEAF是否为叶子结点(即没有被回复的帖子),0 表示没有被回复,1 表示被回复过NUMBER(1) 1 FALSE FALSEUSERID 发帖用户编号 NUMBER(5) 5 FALSE TRUEKMUST JAVA BBS 数据库文档 KMUST JAVA BBSFORUMID 帖子所属版块 NUMBER(3) 3 FALSE TRUEII.2.1.1 表格 T_ARTICLE 的触发器清单名称 注释TRI_ADD_DEFAULT_SCORE用户每发一个帖子,不论是主题帖还是回复帖,

6、均为该用户加 2 分的积分,此时用户积分明细表中的该帖子积分记录的评价用户编号与发帖用户编号相同TRI_ADD_DEFAULT_SCORE的文本:CREATE OR REPLACE TRIGGER TRI_ADD_DEFAULT_SCORE after insert on t_article for each rowbegininsert into t_score values (:NEW.id, :NEW.userid, :NEW.userid, 2);end;/ALTER TRIGGER TRI_ADD_DEFAULT_SCORE ENABLE;TRI_DELETE_ARTICLE_SCO

7、RE 删除帖子之前,同时从用户积分明细表中删除有关该帖子的积分记录TRI_DELETE_ARTICLE_SCORE 的文本:CREATE OR REPLACE TRIGGER TRI_DELETE_ARTICLE_SCORE before delete on t_article for each rowbegindelete from t_score where articleid = :OLD.id;end;/ALTER TRIGGER TRI_DELETE_ARTICLE_SCORE ENABLE;TRI_UPDATE_ISLEAF_ROOTID发帖之前,如果该帖是主题贴,则将其 root

8、id 置为该帖子的 id,如果是回复帖,由将被回复的帖子的 isleaf 字段置为 1,表示非叶子结果(被回复过的帖子)TRI_UPDATE_ISLEAF_ROOTID 的文本:CREATE OR REPLACE TRIGGER TRI_UPDATE_ISLEAF_ROOTID before insert on t_article for each rowdeclare tid t_article.id%type;beginif(:NEW.pid = 0) thentid := :NEW.id;:NEW.rootid := tid;elseupdate t_article set isleaf

9、 = 1 where id = :NEW.pid;end if;end;/ALTER TRIGGER TRI_UPDATE_ISLEAF_ROOTID ENABLE;II.3 表格 T_AVATARII.3.1 表格 T_AVATAR 的列清单名称 注释 数据类型 长度 主要的 外来键ID 头像编号 NUMBER(3) 3 TRUE FALSEKMUST JAVA BBS 数据库文档 KMUST JAVA BBSIMAGE 头像图片 BLOB FALSE FALSEII.4 表格 T_CATEGORYII.4.1 表格 T_CATEGORY 的列清单名称 注释 数据类型 长度 主要的 外来键I

10、D 分类编号 NUMBER(3) 3 TRUE FALSETITLE 分类标题 VARCHAR2(50) 50 FALSE FALSEII.5 表格 T_FEEDBACKII.5.1 表格 T_FEEDBACK 的列清单名称 注释 数据类型 长度 主要的 外来键ID 意见编号 NUMBER(5) 5 TRUE FALSEUSERID 发表意见的用户编号 NUMBER(5) 5 FALSE TRUEPDATE 意见发表时间 DATE FALSE FALSETITLE 意见标题 VARCHAR2(50) 50 FALSE FALSECONTENT 意见内容 VARCHAR2(2000) 2000

11、FALSE FALSEISSOLVED是否已回复,初始值为 0,表示未回复,1 表示已回复NUMBER(1) 1 FALSE FALSEII.5.1.1 表格 T_FEEDBACK 的触发器清单名称 注释TRI_DELETE_RESPONSE 在删除用户意见之前,先将反馈应答表中回复该意见的记录删除,以避免外键约束影响TRI_DELETE_RESPONSE 的文本:CREATE OR REPLACE TRIGGER TRI_DELETE_RESPONSE before delete on t_feedback for each rowbegindelete from t_response wh

12、ere feedbackid = :OLD.id;end;/ALTER TRIGGER TRI_DELETE_RESPONSE ENABLE;II.6 表格 T_FORUMII.6.1 表格 T_FORUM 的列清单名称 注释 数据类型 长度 主要的 外来键ID 版块编号 NUMBER(3) 3 TRUE FALSETITLE 版块名称 VARCHAR2(50) 50 FALSE FALSEKMUST JAVA BBS 数据库文档 KMUST JAVA BBSDESCRIPTION 版块描述 VARCHAR2(200) 200 FALSE FALSECATEGORYID 所属分类的编号 NUM

13、BER(3) 3 FALSE TRUEII.7 表格 T_NOTICEII.7.1 表格 T_NOTICE 的列清单名称 注释 数据类型 长度 主要的 外来键ID 公告编号 NUMBER(5) 5 TRUE FALSETITLE 公告标题 VARCHAR2(50) 50 FALSE FALSECONTENT 公告内容 VARCHAR2(2000) 2000 FALSE FALSEPDATE 公告发布时间 DATE FALSE FALSEADMINID 发布公告的管理员编号 NUMBER(2) 2 FALSE TRUEII.8 表格 T_RESPONSEII.8.1 表格 T_RESPONSE

14、的列清单名称 注释 数据类型 长度 主要的 外来键ID 反馈应答编号 NUMBER(5) 5 TRUE FALSEFEEDBACKID 被回复意见的编号 NUMBER(5) 5 FALSE TRUEPDATE 回复时间 DATE FALSE FALSETITLE 回复标题 VARCHAR2(50) 50 FALSE FALSECONTENT 回复内容 VARCHAR2(2000) 2000 FALSE FALSEADMINID 回复管理员编号 NUMBER(2) 2 FALSE TRUEII.8.1.1 表格 T_RESPONSE 的触发器清单名称 注释TRI_UPDATE_FEEDBACK_

15、STATUS 当反馈应答表中插入新的回复之后,将对应的用户意见表中记录的 issolved 字段置为 1,表示已经回复TRI_UPDATE_FEEDBACK_STATUS 的文本:CREATE OR REPLACE TRIGGER TRI_UPDATE_FEEDBACK_STATUS after insert on t_response for each rowdeclare f_status t_feedback.issolved%type;beginselect issolved into f_status from t_feedback where id = :NEW.feedbacki

16、d;if(f_status=0) thenupdate t_feedback set issolved=1 where id = :NEW.feedbackid;end if;end;/ALTER TRIGGER TRI_UPDATE_FEEDBACK_STATUS ENABLE;KMUST JAVA BBS 数据库文档 KMUST JAVA BBSII.9 表格 T_SCOREII.9.1 表格 T_SCORE 的列清单名称 注释 数据类型 长度 主要的 外来键ARTICLEID 帖子编号 NUMBER(10) 10 FALSE TRUEPUSER 发帖用户编号 NUMBER(5) 5 FA

17、LSE TRUEVUSER 评价用户编号 NUMBER(5) 5 FALSE TRUESCORE 评价得分 NUMBER(2) 2 FALSE FALSEII.10 表格 T_USERII.10.1 表格 T_USER 的列清单名称 注释 数据类型 长度 主要的 外来键ID 用户编号 NUMBER(5) 5 TRUE FALSENAME 用户名 VARCHAR2(30) 30 FALSE FALSEEMAIL Email VARCHAR2(50) 50 FALSE FALSEPASSWORD 密码 VARCHAR2(30) 30 FALSE FALSEREGTIME 注册时间 DATE FAL

18、SE FALSEADDRESS 来自何地 VARCHAR2(100) 100 FALSE FALSEQQ QQ 号 VARCHAR2(20) 20 FALSE FALSEPROFESSION 职业 VARCHAR2(20) 20 FALSE FALSESIGNATURE签名,将会显示在该用户发表的帖子内容的下方VARCHAR2(100) 100 FALSE FALSEAVATARID 头像编号 NUMBER(3) 3 FALSE TRUEUSABLE是否可用,1 表示可用,0 表示不可用NUMBER(1) 1 FALSE FALSEIII 序列清单名称 注释S_ADMIN 管理员表中 id 字

19、段的引用值S_ARTICLE 帖子表中 id 字段的引用值S_CATEGORY 论坛分类表中 id 字段的引用值S_FEEDBACK 用户意见表中 id 字段的引用值S_FORUM 论坛版块表中 id 字段的引用值S_NOTICE 公告表中 id 字段的引用值S_RESPONSE 反馈应答表中 id 字段的引用值S_USER 用户表中 id 字段的引用值KMUST JAVA BBS 数据库文档 KMUST JAVA BBSIII.1序列 S_ADMIN 的文本CREATE SEQUENCE S_ADMINNOMAXVALUEINCREMENT BY 1START WITH 1NOCACHENO

20、ORDERNOCYCLE ;III.2序列 S_ARTICLE 的文本CREATE SEQUENCE S_ARTICLENOMAXVALUEINCREMENT BY 1START WITH 1NOCACHENOORDERNOCYCLE ;III.3序列 S_CATEGORY 的文本CREATE SEQUENCE S_CATEGORYNOMAXVALUEINCREMENT BY 1START WITH 1NOCACHENOORDERNOCYCLE ;III.4序列 S_FEEDBACK 的文本CREATE SEQUENCE S_FEEDBACKNOMAXVALUEINCREMENT BY 1ST

21、ART WITH 1NOCACHENOORDERNOCYCLE ;III.5序列 S_FORUM 的文本CREATE SEQUENCE S_FORUMNOMAXVALUEINCREMENT BY 1START WITH 1NOCACHENOORDERNOCYCLE ;III.6序列 S_NOTICE 的文本CREATE SEQUENCE S_NOTICENOMAXVALUEINCREMENT BY 1START WITH 1KMUST JAVA BBS 数据库文档 KMUST JAVA BBSNOCACHENOORDERNOCYCLE ;III.7序列 S_RESPONSE 的文本CREATE

22、 SEQUENCE S_RESPONSENOMAXVALUEINCREMENT BY 1START WITH 1NOCACHENOORDERNOCYCLE ;III.8序列 S_USER 的文本CREATE SEQUENCE S_USERNOMAXVALUEINCREMENT BY 1START WITH 1NOCACHENOORDERNOCYCLE ;IV目录清单名称 注释D_IMAGES 头像文件存储的路径IV.1目录 P_IMAGES 的文本- Create directory create or replace directory D_IMAGESas C:avatar;V 存储过程清

23、单名称 注释P_IMG_INSERT 存储过程 P_IMG_INSERT 用来将用户头像(图片)插入到数据库中V.1 存储过程 P_IMG_INSERT 的文本CREATE OR REPLACE PROCEDURE P_IMG_INSERT( tid t_avatar.id%type, filename varchar2)isf_lob bfile;b_lob blob;begininsert into t_avatar (id, image)values (tid, empty_blob() return image into b_lob;f_lob:=bfilename(D_IMAGES, filename);dbms_lob.fileopen(f_lob, dbms_lob.FILE_READONLY);dbms_lob.loadfromfile(b_lob, f_lob, dbms_lob.getlength(f_lob);KMUST JAVA BBS 数据库文档 KMUST JAVA BBSdbms_lob.fileclose(f_lob);commit;end;/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 建筑建材

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。