个人博客需求分析(含流程图、ER图、存储过程)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

个人博客需求分析含有Oracle数据库主要存储过程语句一.需求分析该系统为个人博客,具有一般博客系统的功能。博主,即管理员,拥有最高权限,能对文章,分类,评论,用户等进行管理。游客只能浏览前台页面,及浏览文章。只有游客注册成为注册用户后,才能对文章进行评论。根据以上需求分析,该系统要实现的主要功能为:前台显示文章部分显示最新的前几篇文章显示所有文章分类按分类显示其下的所有文章文章详细信息浏览阅读游客注册以及注册用户的登录评论文章功能◆后台管理部分●登录验证,只有博主能登录●添加、编辑、删除文章功能●用户、类别、评论的管理功能二、数据库设计2.1、E-R图编辑删除类别添加类别删除文章编辑文章用户管理修改密码添加文章信息管理文章管理类别管理删除评论阅读文章浏览首页阅读文章浏览首页评论文章博客系统游客注册用户博主系统功能模块图2.2、表结构设计用户信息表userinfo列名数据类型useridIntusernameVarchar2(50)userpasswordVarchar2(50)usertypeInt文章信息表Articles列名数据类型A_idNumberA_titleVarchar2(50)文章注册用户游客博主评论类别分类发表管理管理阅读包含管理11nn1111nn1nn11n总E-R图A_contentVarchar2(4000)A_publishedtimeDateT_nameVarchar2(50)a_commentnum评论数量numberA_viewnum阅读数量number文章分类表Tags列名数据类型T_idnumberT_nameVarchar2(50)评论信息表Comments列名数据类型C_idnumberA_idnumberC_usernameVarchat2(50)C_commentVarchar2(50)C_leavetimedate三.博客系统的性能需求该系统在性能功能上应达到如下需求:◆操作简单、界面友好:完全控件式的页面布局,使得文章的录入工作更简便,许多选项只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。对常见网站的博客管理的各个方面:上传博客、浏览、删除、修改等方面都大体实现,实现了网站对即时文章的管理要求;◆即时可见:对文章的处理(包括添加、编辑、删除)将立即在主页的对应栏目显示出来,达到“即时发布、即时见效”的功能;◆系统运行应该快速、稳定、高效和可靠;◆在结构上应具有很好的可扩展性,便于将来的功能扩展和维护。四.系统结构实现过程开始退出是否登录是否管理文章是否是博主是否管理用户是否管理评论是否管理类型登录评论文章浏览文章是是是是否否否文章管理类型管理评论管理用户管理是是否否系统流程图整个系统的工作流程为:打开该系统网站,游客能浏览、阅读文章,能进行注册,注册后成为注册用户,注册用户登录后能够对文章进行评论。博主从后台入口登录,可以添加文章,包括文章标题、类别、内容;还能对用户、文章、类别、评论进行管理。数据库中主要Oracle操作语句--ADDARTICLEcreateorreplaceprocedureaddarticle(titleinarticles.a_title%type,contentinarticles.a_content%type,tagnameinarticles.t_name%type,commentnuminarticles.a_commentnum%typedefault0,viewnuminarticles.a_viewnum%typedefault0)asbegininsertintoarticles(a_title,a_content,t_name,a_publishedtime,a_commentnum,a_viewnum)values(title,content,tagname,sysdate,commentnum,viewnum);endaddarticle;--ADDCOMMENTcreateorreplaceprocedureaddcomment(aidincomments.a_id%type,c_contentincomments.c_comment%type,cnameincomments.c_username%type)asbegininsertintocomments(a_id,c_comment,c_username,c_leavetime)values(aid,c_content,cname,sysdate);endaddcomment;--ADDTAGcreateorreplaceprocedureaddtag(tagnameintags.t_name%type)asbegininsertintotags(t_name)values(tagname);endaddtag;--ADDUSERScreateorreplaceprocedureaddusers(v_nameinvarchar2,v_passwordinvarchar2,v_typeinuserinfo.usertype%typedefault0)asbegininsertintouserinfo(username,userpassword,usertype)values(v_name,v_password,v_type);endaddusers;--CHECKADMINcreateorreplaceprocedurecheckadmin(v_usernameinvarchar2,v_passwordinvarchar2,resultoutnumber)isl_countnumber;beginselectcount(*)intol_countfromuserinfowhereUSERNAME=v_usernameandUSERPASSWORD=v_passwordandusertype=1;ifl_count=0thenresult:=-1;elseresult:=1;endif;endcheckadmin;--CHECKUSERScreateorreplaceprocedurecheckusers(v_usernameinvarchar2,v_passwordinvarchar2,resultoutnumber)isl_countnumber;beginselectcount(*)intol_countfromuserinfowhereUSERNAME=v_usernameandUSERPASSWORD=v_passwordandusertype=0;ifl_count=0thenresult:=-1;elseresult:=1;endif;endcheckusers;--DELETEARTICLEcreateorreplaceproceduredeletearticle(id_ininnumber)asbegindeletefromarticleswherea_id=id_in;enddeletearticle;--DELETECOMMENTcreateorreplaceproceduredeletecomment(id_ininnumber)asbegindeletefromcommentswherec_id=id_in;enddeletecomment;--DELETETAGcreateorreplaceproceduredeletetag(tagnameintags.t_name%type)asbegindeletefromtagswheret_name=tagname;enddeletetag;--DELETEUSERcreateorreplaceproceduredeleteuser(id_ininnumber)asbegindeletefromuserinfowhereuserid=id_in;enddeleteuser;--selectarticlecreateorreplaceprocedureselectarticle(curoutarticle_type.cur_type)isbeginopencurforselect*fromarticles;end;--selectcommentcreateorreplaceprocedureselectcomment(aidincomments.a_id%type,curoutcomment_type.cur_type)isbeginopencurforselect*fromcommentswherea_id=aid;end;--selecttagcreateorreplaceprocedureselecttag(curouttag_type.cur_type)isbeginopencurforselect*fromtags;end;--updatearticlecreateorreplaceprocedureupdatearticle(id_innumber,titleinarticles.a_title%type,contentinarticles.a_content%type,tagnameinarticles.t_name%type)asbeginupdatearticlesseta_title=title,a_content=content,t_name=tagnamewherea_id=id_in;endupdatearticle;--updatepwdcreateorreplaceprocedureupdatepwd(u_passwordinuserinfo.userpassword%type)asbeginupdateuserinfosetuserpassword=u_passwordwhereuserid=1;endupdatepwd;--updatetagcreateorreplaceprocedureupdatetag(id_ininnumber,tagnameinvarchar2)asbeginupdatetagssett_name=tagnamewheret_id=id_in;endupdatetag;

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功