1、个人博客需求分析含流程图ER图存储过程个人博客需求分析含有Oracle数据库主要存储过程语句一 需求分析该系统为个人博客,具有一般博客系统的功能。 博主,即管理员,拥有最高权限,能对文章,分类,评论,用户等进行管理。游客只能浏览前台页面,及浏览文章。只有游客注册成为注册用户后,才能对文章进行评论。根据以上需求分析,该系统要实现的主要功能为:前台显示文章部分显示最新的前几篇文章显示所有文章分类按分类显示其下的所有文章文章详细信息浏览阅读游客注册以及注册用户的登录评论文章功能 后台管理部分 登录验证,只有博主能登录 添加、编辑、删除文章功能 用户、类别、评论的管理功能二、数据库设计2.1、E-R图
2、2.2、表结构设计用户信息表 userinfo列名数据类型useridIntusernameVarchar2(50)userpasswordVarchar2(50)usertypeInt文章信息表 Articles列名数据类型A_idNumberA_titleVarchar2(50)A_contentVarchar2(4000)A_publishedtimeDateT_nameVarchar2(50)a_commentnum评论数量numberA_viewnum阅读数量number文章分类表 Tags列名数据类型T_idnumberT_nameVarchar2(50)评论信息表 Comment
3、s列名数据类型C_idnumberA_idnumberC_usernameVarchat2(50)C_commentVarchar2(50)C_leavetimedate三博客系统的性能需求该系统在性能功能上应达到如下需求: 操作简单、界面友好: 完全控件式的页面布局,使得文章的录入工作更简便,许多选项只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。对常见网站的博客管理的各个方面:上传博客、浏览、删除、修改等方面都大体实现,实现了网站对即时文章的管理要求; 即时可见:对文章的处理(包括添加、编辑、删除)将立即在主页的对应栏目显示出来,达到“即时发布、即时见效”
4、的功能; 系统运行应该快速、稳定、高效与可靠; 在结构上应具有很好的可扩展性,便于将来的功能扩展与维护。四 系统结构实现过程整个系统的工作流程为:打开该系统网站,游客能浏览、阅读文章,能进行注册,注册后成为注册用户,注册用户登录后能够对文章进行评论。博主从后台入口登录,可以添加文章,包括文章标题、类别、内容;还能对用户、文章、类别、评论进行管理。数据库中主要Oracle操作语句-ADDARTICLEcreate or replace procedure addarticle(title in articles.a_title%type,content in articles.a_content
5、%type,tagname in articles.t_name%type,commentnum in articles.a_commentnum%type default 0,viewnum in articles.a_viewnum%type default 0)asbegininsert into articles ( a_title, a_content, t_name, a_publishedtime, a_commentnum, a_viewnum)values(title, content, tagname, sysdate, commentnum, viewnum);end a
6、ddarticle;-ADDCOMMENTcreate or replace procedure addcomment(aid in comments.a_id%type,c_content in comments.c_comment%type,cname in comments.c_username%type)as begininsert into comments (a_id, c_comment, c_username, c_leavetime)values (aid, c_content, cname, sysdate);end addcomment;-ADDTAGcreate or
7、replace procedure addtag(tagname in tags.t_name%type)asbegininsert into tags(t_name) values (tagname);end addtag;-ADDUSERScreate or replace procedure addusers(v_name in varchar2,v_password in varchar2,v_type in userinfo.usertype%type default 0)asbegininsert into userinfo(username,userpassword,userty
8、pe)values (v_name,v_password,v_type);end addusers;-CHECKADMINcreate or replace procedure checkadmin(v_username in varchar2,v_password in varchar2,result out number)isl_count number;beginselect count(*) into l_count from userinfowhere USERNAME = v_username and USERPASSWORD = v_password and usertype =
9、 1;if l_count=0 thenresult:=-1;elseresult:=1;end if;end checkadmin;-CHECKUSERScreate or replace procedure checkusers(v_username in varchar2,v_password in varchar2,result out number)isl_count number;beginselect count(*) into l_count from userinfowhere USERNAME = v_username and USERPASSWORD = v_passwo
10、rd and usertype=0;if l_count=0 thenresult:=-1;elseresult:=1;end if;end checkusers;-DELETEARTICLEcreate or replace procedure deletearticle(id_in in number)asbegindelete from articles where a_id=id_in;end deletearticle;-DELETECOMMENTcreate or replace procedure deletecomment(id_in in number)asbegindele
11、te from comments where c_id=id_in;end deletecomment;-DELETETAGcreate or replace procedure deletetag(tagname in tags.t_name%type)asbegindelete from tags where t_name=tagname;end deletetag;-DELETEUSERcreate or replace procedure deleteuser(id_in in number) asbegindelete from userinfo where userid=id_in
12、;end deleteuser;-selectarticlecreate or replace procedure selectarticle(cur out article_type.cur_type)isbeginopen cur forselect * from articles;end;-selectcommentcreate or replace procedure selectcomment(aid in comments.a_id%type,cur out comment_type.cur_type)isbeginopen cur forselect * from comment
13、s where a_id=aid;end;-selecttagcreate or replace procedure selecttag(cur out tag_type.cur_type)isbeginopen cur forselect * from tags;end;-updatearticlecreate or replace procedure updatearticle(id_in number,title in articles.a_title%type,content in articles.a_content%type,tagname in articles.t_name%t
14、ype)asbeginupdate articles set a_title = title, a_content = content , t_name = tagname where a_id = id_in;end updatearticle;-updatepwdcreate or replace procedure updatepwd(u_password in userinfo.userpassword%type)asbeginupdate userinfo set userpassword=u_password where userid=1;end updatepwd;-updatetagcreate or replace procedure updatetag(id_in in number,tagname in varchar2)asbeginupdate tags set t_name=tagname where t_id=id_in;end updatetag;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1