版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、随着网络的发展,论坛已经成为人们日常进行交流的一个不可或缺的空间。人们可以在论坛中谈论喜欢的话题、提出或解答疑问、发布通知和公告等。由于它独特的形式和强大的功能,受到广大网友的欢迎,并成为全世界计算机用户交流信息的园地。数据库设计的过程包含需求分析、概念结构设计、逻辑结构设计、物理结构设计、应用的设计。下面就按照数据库设计的过程进行逐一陈述需求分析(1) 系统设计的意义论坛顾名思义,是一个辩论、讨论话题的地方,然而bbs的本意却不只是如此,bbs本意是指一个谁都可以在这里张贴信息的地方,因此论坛也就被很多人用来完成其它的任务。bbs之所以受到广大网友的欢迎,与它独特的形式、强大的功能是分不开的
2、,利用bbs可以实现许多独特的功能。bbs原先为“电子布告栏”的意思,但由于用户的需求不断增加,bbs已不仅仅是电子布告栏而已,它大致包括信件讨论区、文件交流区、信息布告区和交互讨论区这几部份。随着网络的发展,论坛也是已经成为人们生活不可缺少的一种娱乐休闲,学习的活动,人们可以进行各类的学术专题讨论区,疑难问题解答区和闲聊区等等。在这些信件区中,上站的用户留下自己想要与别人交流的信件,如在各种软件硬件的使用、天文、医学、体育、游戏等等方面的心得和经验。同时也是发布公告,通知等等信息传播的一种很有效的途径,因此受到了广大的网友的欢迎。(2) 需求收集 目前常见的论坛系统主要有两类:一类是利用te
3、lnet软件登陆站点上,也是人们常说的c/s结构,这种方式可以使用同时上站的用户数大大增加,每一个站点可以同时有200人上线,使多人之间的直接讨论成为可能。;另一类就是现在许多用户更习惯的,基于web的论坛系统,也就是b/s结构,用户只要连接到internet上直接利用浏览器就可以进入论坛,阅读其他用户的发言,发表自己的意见。一般论坛登录用户可以分两类:一类是普通的用户登录,上去可以普通用户可以发新帖、用户查询、回复帖子及修改个人资料。另一类是管理员登录,管理员可以管理用户信息、发表帖子、回复帖子、删除回复帖子等信息。 (3) 业务逻辑的分析 常见的论坛,虽然我们可以分为许多种,但是还是万变不
4、离其宗,都是先用户注册用户登录普通用户(功能是发表帖子,回复帖子,浏览文章,浏览论坛等等),或者是管理员用户(功能是普通用户管理,浏览管理,发表管理,回复管理等等)。系统的逻辑结构是自顶向下,层层分块,逐步递解,一块一块的分析。(4) 具体功能分析根据权限的不同,用户的操作范围也不相同。系统管理员可以维护此版块的所有帖子的相关信息,同时也是可以进行用户的管理,浏览的管理,发表和回复的管理等权限;注册用户可以发布新帖子、回复帖子、编辑自己发的帖子和浏览版块中的所以帖子,同时也是可以增加、删除、查询、更改用户注册的信息;而非注册用户只有浏览帖子的权限。1、登陆模块根据用户输入的拥护名和密码,与数据
5、库中进行匹配,验证账号和密码。登录模块分为普通用户登录和管理员登录,两者登录的不用,所进行的操作范围也是不同的。2、注册模块注册新的用户,根据提示填写你的相关信息,再提交到数据库,进行检查,如果已经有此用户名就要重新命名。3、信息修改可以进行修改你的个人信息。4、浏览帖子用户可以在此浏览帖子的主题信息。通过单击主题信息的连接,可以进入此贴的主题的内容和浏览此贴的详细内容。5、发布帖子匿名用户不可以使用此部分的功能,只有注册用户才可以在此模块中发布一个新的主题信息。6、回复帖子此部分也需要由注册用户使用。用户可以在此部分对一个贴子的信息进行回复。7、编辑帖子注册用户可以对自己所发的帖子进行编辑,
6、比如对自己的发布过的帖子可以进行删除和修改等等。8、管理员管理功能管理员可以对用户发表的帖子进行维护和管理,通过审核,同不同意用户发表的这个帖子进行发布,同时也是对用户发表过的帖子进行增加、更改、删除、查找的操作。论坛功能模块用户登录用户注册添加用户信息查询用户信息修改用户信息删除用户信息浏览详细帖子回复相应帖子发表帖子用户信息回复/浏览帖子添加新帖子(5) 流程分析论坛系统用户注册用户登录管理员用户信息修改浏览帖子发布帖子回复帖子编辑帖子用户管理浏览管理发表管理回复管理论坛管理版块管理概念结构设计局部e-r图1、 用户注册登录图 用户用户idemail用户密码用户名联系电话2、 管理员登录图
7、登录用户名密码3、 用户上论坛的权限用户浏览帖子修改注册信息回复帖子发表帖子编辑帖子4、 论坛管理权限论坛管理员用户管理版块管理论坛管理回复管理发表管理浏览管理5、 帖子的关系帖子发表帖子回复帖子帖子id帖子内容帖子主题用户名回复帖子id回复主题回复内容回复用户名回复时间创建时间6、 整个实体之间的关系管理员用户管理论坛管理帖子维护操作管理1n1nn111整体e-r图管理员用户管理帖子操作管理1n1nn111维护论坛管理用户名密码浏览帖子发表帖子回复帖子编辑帖子修改注册信息用户管理版块管理论坛管理回复发表浏览发表帖子回复帖子帖子id帖子主题用户名帖子内容回复主题回复用户名回复内容回复帖子id回
8、复时间创建时间逻辑结构设计1、用户表(userinfo)名称数据类型长度是否为空是否主键说明useridnumber20not null是用户idusernamevarchar250not null否用户姓名userpwdvarchar250null否用户密码email varchar250null否邮箱telephoneintegernull 否联系电话2、发布帖子表(fbcontent)名称数据类型长度是否为空是否主键说明fncontentidnumber 20not null是帖子idfbusernamevarchar2 50null 否用户名fbsubjectvarchar250nul
9、l否主题fbwordsvarchar21000null 否内容fbcreatetimedate null 否创建时间3、回复帖子表(hfinfo)名称数据类型长度是否为空是否主键说明hfid number 20not null是回复idcontentidnumber 20not null 否帖子idhfsubject varchar250null 否回复主题hfwordsvarchar21000null 否回复内容hfnamevarchar250null 否回复用户名hftimedata null 否回复时间4、文章表(article)名称数据类型长度是否为空是否主键说明articleidnu
10、mber 20not null是文章idauthorid number 20not null 否作者idtitle varchar250null 否标题contentvarchar21000null否备注pubtimedatanull 否时间/日期概念图物理图物理设计1、创建表空间/创建临时表空间createtemporarytablespacemy_tbstempfilee:oraclemy_01.dbfsize32mautoextendonnext32mmaxsize2048mextentmanagementlocal; /创建数据表空间createtablespacetest_datal
11、oggingdatafilee:oracletest_01.dbfsize32mautoextendonnext32mmaxsize2048mextentmanagementlocal; /创建用户并指定表空间 create user chenran27 identified by a123 default tablespace test_data temporary tablespace my_tbs;2、在oracle中创建用户并使用上面的表空间create user chenran27 identified by a123;grant dba to chenran27; 3、创建表cre
12、ate table userinfo -用户表( userid number not null constraint pk_userid primary key, -用户id, username varchar2(50) not null, -用户姓名 userpwd varchar2(50), -用户密码 email varchar2(50), -邮箱 telephone integer -联系电话);create table fbcontent -发布帖子表(fbcontentid number constraint pk_contentid primary key, -帖子idfbuse
13、rname varchar2(50), -用户名fbsubject varchar2(50) not null, -主题fbwords varchar2(1000), -内容fbcreatetime date -创建时间);修改下表的外键:alter table fbcontent add constraint pk_usernm foreign key(username) references userinfo(username);create table hfinfo -回帖信息表(hfid number not null constraint pk_hfid primary key, -
14、回复idcontentid number not null, -帖子idhfsubject varchar2(50), -回复主题hfwords varchar2(1000), -回复内容hfname varchar2(50), -回复用户名hftime date -回复时间);修改下表的外键:alter table hfinfo add constraint fk_contentid foreign key(contentid) references content(contentid);alter table hfinfo add constraint fk_hfname foreign
15、key(hfname) references userinfo(username);create table article -文章表(articleid number not null constraint pk_article primary key, -文章idauthor number not null, -帖子idtitle varchar2(50), -标题content varchar2(1000), -备注pubtime date -时间/日期);检索各个表的定义:desc userinfo; desc fbcontent;desc hfinfo;desc article;4、
16、创建索引/*=*/* index: relationship_1_fk */*=*/create index relationship_1_fk on article ( fbcontentid asc);/*=*/* index: relationship_2_fk */*=*/create index relationship_2_fk on article ( hfid asc);/*=*/* index: relationship_3_fk */*=*/create index relationship_3_fk on article ( userid asc);/*=*/* inde
17、x: relationship_4_fk */*=*/create index relationship_4_fk on fbcontent ( userid asc);/*=*/* index: relationship_5_fk */*=*/create index relationship_5_fk on hfinfo ( userid asc);5、创建序列create sequence seq_id -创建序列increment by 1start with 1nomaxvalue;6、创建触发器(1)、创建用户表的触发器、过程和函数等创建触发器:create or replace
18、trigger tri_userinfo -添加用户时自动加入用户idbefore insert on userinfo for each rowdeclare new_key number;beginselect seq_id.nextval into new_key from dual;:new.userid:=new_key;end;/创建过程:create or replace procedure insert_userinfo -用户注册(parm_username varchar2,parm_userpwd varchar2,parm_tele varchar2,parm_resu
19、lt out number) -返回值 1:成功 0:失败asn number;beginselect count(*) into n from userinfo where username=parm_username;if n=0 then parm_result:=1;insert into userinfo(username,userpwd,telephone)values(parm_username,parm_userpwd,parm_tele);commit;else parm_result:=0;end if;end;/创建函数:create or replace functio
20、n checklogin -用户登录 返回值 1:表示成功 0:表示失败(parm_username varchar2,parm_userpwd varchar2)return numberasn number;beginselect count(*) into n from userinfo where username=parm_username and userpwd=parm_userpwd;if n0 then return 1;else return 0;end if;end;/(2)、创建发布帖子表的触发器、过程、程序包等:创建触发器:create or replace trig
21、ger tgr_contentid -添加新帖时自动加入帖子idbefore insert on fbcontent for each rowdeclare new_key number;begin select seq_id.nextval into new_key from dual;:new.contentid:=new_key;end;/创建过程:create or replace procedure insert_content -添加新帖(parm_username varchar2,parm_subject varchar2,parm_words varchar2,parm_cr
22、eatetime varchar2,parm_return out number -返回值 1:添加成功 0:添加失败)asbegininsert into content(username,subject,words,createtime)values(parm_username,parm_subject,parm_words,to_char(sysdate,yyyy-mm-ss hh24:mi:ss);commit;if sql%found thenparm_return:=1;else parm_return:=0;end if;end;/创建程序包:create or replace
23、package pkg_content -添加包astype cur_content is ref cursor;procedure select_content(parm_rec out cur_content);* end pkg_content;(3)、创建回复帖子表的触发器、过程等:创建触发器:create or replace trigger tri_hfid -添加回复时自动加入回复idbefore insert on hfinfofor each rowdeclare v_hfid number;beginselect seq_id.nextval into v_hfid fro
24、m dual;:new.hfid:=v_hfid;end;/创建过程:create or replace procedure insert_hfinfo -添加回复(parm_contentid number,parm_hfname varchar2,parm_hfsubject varchar2,parm_hfwords varchar2)asbegininsert into hfinfo(contentid,hfsubject,hfwords,hfname)values(parm_contentid,parm_hfname,parm_hfsubject,parm_hfwords);comm
25、it;if sql%found thenupdate contentset lastanswertime=to_char(sysdate,yyyy-mm-dd hh24:mi:ss)where contentid=parm_contentid;end if;end;/7、创建视图检索视图的定义:desc user_views;用户表视图:create or replace view userinfo_a1(userid_a1,username_a1,userpwd_a1,email_a1,tele)asselect userid,username,userpwd,email,telephone
26、 from userinfo;发布帖子表:create or replace view fbcontent_a2(contentid,username,subject,words,time )asselect fbcontentid,fbusername,fbsubject,fbwords,fbcreatetime from fbcontent;回复帖子表:create or replace view hfinfo_a3(id_a3,contenteid_a3,subject_a3,words_a3,name_a3,time_a3)asselect hfid,contentid,hfname,
27、hfsubject,hfwords,hftime from hfinfo;文章表:create or replace view article_a4(article_a4,authorid_a4,title_a4,content_a4,pubtime_a4)asselect articleid,author,title,content,pubtime from article;with check option;8、查询,删除,修改等操作create or replace package pkg_userinfo -查询用户信息astype cur_userinfo is ref cursor
28、;procedure select_userinfo(parm_userid number:=%,parm_username varchar2:=%,parm_result out cur_userinfo);end pkg_userinfo;/create or replace procedure delete_userinfo -删除用户信息(parm_loginname varchar2,parm_userid varchar2,parm_return out number -返回值 1:表示成功删除 0:表示权限不足,删除失败)asbeginif parm_loginname=test
29、 thendelete userinfowhere userid=parm_userid;commit;parm_return:=1;elseparm_return:=0;end if;end;/create or replace procedure update_userinfo -修改用户信息(parm_username varchar2,parm_userpwd varchar2,parm_tele varchar2,parm_email varchar2,asv_userid userinfo.userid%type;beginselect userid into v_userid from userinfo where username=parm_username;update userinfoset username=parm_username
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安徽省铜陵、黄山、宣城(三市二模)2026届高三4月份质量检测地理(含答案)
- 2025忻州职业技术学院教师招聘考试题目及答案
- 2025江西中医药大学教师招聘考试题目及答案
- 2025德宏师范高等专科学校教师招聘考试题目及答案
- 2026年辽宁生理学单元测试高频考点及答案
- 临汾招教语文试题及答案
- 2026四川宜宾市屏山县审计局招聘编外聘用人员1人建设笔试备考题库及答案解析
- 2026年河北秦皇岛昌黎县第一中学专项选聘教师14名建设笔试参考题库及答案解析
- 2026年陕西中烟工业招聘岗位表(汉中卷烟厂招18人)建设考试参考试题及答案解析
- 2026中国疾病预防控制中心(中国预防医学科学院)后勤运营管理中心招聘1人建设考试备考试题及答案解析
- 2026年上海浦东公安分局文员招聘288人考试备考试题及答案解析
- 国家开放大学2026年春《形势与政策》形考大作业参考答案(三)
- 第11课《山地回忆》课件(内嵌音视频) 2025-2026学年统编版语文七年级下册
- (正式版)JBT 14581-2024 阀门用弹簧蓄能密封圈
- 金属与石材幕墙工程技术规范-JGJ133-2013含条文说
- 初中生物各章节概念知识框架图
- 空调维保质量保障体系及措施方案
- 城市轨道交通工程监测技术规范讲解课件
- 旅游学第四版李天元课后习题答案
- 花篮拉杆式悬挑盘扣脚手架施工工法
- 民航概论各章习题详解答案分解
评论
0/150
提交评论