数据库系统原理课程设计报告--动态评论技系统数据库设计.docx

上传人:夺命阿水 文档编号:891611 上传时间:2024-01-08 格式:DOCX 页数:33 大小:740.25KB
返回 下载 相关 举报
数据库系统原理课程设计报告--动态评论技系统数据库设计.docx_第1页
第1页 / 共33页
数据库系统原理课程设计报告--动态评论技系统数据库设计.docx_第2页
第2页 / 共33页
数据库系统原理课程设计报告--动态评论技系统数据库设计.docx_第3页
第3页 / 共33页
数据库系统原理课程设计报告--动态评论技系统数据库设计.docx_第4页
第4页 / 共33页
数据库系统原理课程设计报告--动态评论技系统数据库设计.docx_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《数据库系统原理课程设计报告--动态评论技系统数据库设计.docx》由会员分享,可在线阅读,更多相关《数据库系统原理课程设计报告--动态评论技系统数据库设计.docx(33页珍藏版)》请在课桌文档上搜索。

1、数据库系统原理课程设计报告设计题目动态评论技系统数据库设计1系统开发概述21.1 系统开发背景21.2 系统功能需求及性能分析31.3 系统数据流程分析32数据库概念结构设计43数据库逻辑结构设计74数据库物理结构设计84.1SQLSerVer数据库及数据表的创建84.1.1数据库创建84.1.2数据表的创建94. 2数据完整性设计Il4. 2.1主键约束的创建115. 2.2DEFAULT约束的创建Il6. 2.3UNIQUE约束的创建126.3 索引的创建136.4 视图的创建135数据库的操作145. 1数据操纵145.1.1 数据插入147. L2数据更新175. L3数据删除195.

2、2数据查询225.2.1单表查询225.2.2多表查询236、应用程序设计277总结32参考文献331系统开发概述1.1 系统开发背景Internet是目前世界上最大的计算机互联网络,它遍布全球,将世界各地各种规模的网络连接成一个整体。作为Internet上一种先进的,易于被人们所接受的信息检索手段,WOrIelWideWeb(简称WWW)发展十分迅速,成为目前世界上最大的信息资源宝库。据估计,目前Internet上己有上百万个Web站点,其内容范围跨越了教育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大。近年来计算机技术的快速发展,特别是计算机网络的发展,越来越

3、深刻的改变了人们生活的方方面面。使得人们能以更低廉的价格,开发出更方便、更实用的网络工具。这种动态评论系统可以提供给人们一个平台,影响了人们的联系和交流方式,使得人们可以在远隔千里之遥随时看到别人的动态。通过提供较为完善的动态评论系统的管理,可以达到增进人与人之间的交流和联系的目的。1.2 系统功能需求及性能分析1、可以查询、增加和删除动态信息;2、可以查询、增加、修改和删除用户个人信息;3、用户可修改或删除个人信息;4、若要发布动态,需先登录用户;5、当前登录用户只能查看他人的个人及动态信息,无权限修改他人资料;6、当前用户发表的动态内容不能为空;7、发布成功之后,F5刷新即可看到自己的动态

4、内容;8、新用户注册时,可以检测ID是否已存在及两次密码输入是否一致;9、注册成功后即可返回登录页面进行登录;10、登录完成后,可在评论框下方的动态信息中点击查看对方资料;用户注册管理:包括用户的增加、修改;用户登录管理:包括用户的增加、修改和查询;用户信息管理:包括用户信息的增加、修改、查询和删除;图1-1系统登录界面1.3 系统数据流程分析2数据库概念结构设计根据流程图可以得到4张表,分别是:注册表(register)、评论表(Coinnlent)、登录表(login)信息查询表(search)(,1、注册表的数据项有:ID、昵称、密码、头像、地址、性别、邮箱、出生年、月、日。实体属性图如

5、下:图2-1注册表图2、评论表的数据项有:ID、昵称、用户头像、评论内容、发布时间。实体属性图如下:图2-2评论表图3、登录表的数据项有:ID、昵称、登录时间。实体属性图如下:4、查询表的数据项有:ID、查询时间。实体属性图如下:由上述各实体及其属性可以得到实体间的关系图即E-R图,如下图:图2-5全局E-R图3数据库逻辑结构设计系统数据库名称为DONGNI,数据库包括:1、注册表(register);2、评论表(COmment);3、登录表(Iogin);4、查询表(search)。下面列出各个表的数据结构,如表3-13-4所示。表3T注册表(register)的数据结构列名描述数据类型是否

6、空值idIDvarchar(20)NOname昵称varchar(50)NOpassword密码varchar(20)NOimg头像varchar(250)NOaddress地址varchar(200)NOsex性别Varchar(IO)NOemail邮箱varchar(50)NOdate_year出生年varchar(10)NOdate_month出生月varchar(10)NOdateday出生日varchar(10)NO表3-2评论表(ConImenI)的数据结构列名描述数据结构是否空值idIDvarchar(20)NOauthor昵称varchar(50)NOimg头像varchar(

7、250)NOcontent评论内容textNOcreate_time发布时间datetimeNO表3-3登录表(IOgin)的数据结构列名描述数据结构是否空值idIDvarchar(20)NOname昵称varchar(50)NOlogin_time登录时间datetimeNO表3-4查询表(SearCh)的数据结构列名描述数据结构是否空值idIDvarchar(20)NOsearch_time查询时间datetimeNO4数据库物理结构设计4.1 SQLServer数据库及数据表的创建4.1.1 数据库创建CREATEDATABASEDONGNIONPRIMARY(NAMEJDONGNf,F

8、ILENAME=,DDONGNLmdf,SIZE10MB,NfAXSIZE=100MB,FILEGROWTH-10%)LOGON(NAMEJDONGNIog,FlLENAME二D:DONGNI_log.Idf,SIZE:5MB,Filegrowth=IMB)GO对家资海管理as=0Lenovo-PC(SQLServer11.0.2100-ECi11g库田系蜕激旦摩田班B左快席JDONGNl三JRepoctServer9IlReportSefverTempDB任5安全住SQ会务8馋SGftJEECBAJwaysOn副J用住,d管理KClIntegrationServices目录9FISQLSev

9、eralSQlQueryZsqI-JCnWSter(Sa(55).-CREATEDATABASEDOOIOXPRIMARYNANE=*DOHGNI,FlLEHAffi=D:DOKNI.adf.SIZEIONB.Kaxsize=100hb.F1LEGROI11H=1OLONNAME3DONGNlJog.FILENAME=D:DOHGM_log.ldf.SIZE=5HB,FILEGROirrH=IMB)GO13消息命令已囱功完成。图4T数据库的创建图Cl系妩敦娼谆Eu鼓据号快邮SODONGNI-J明B库关系阳田二聂,Sffl田同义月可卿S住田ServiceBroker田存住一安全性SIjRepor

10、tServerIjReportServerTempDe田CJ安全性CJ震务福对象WCjSM田CjAtwaysOn商可用住$cja田dIntegrationServices目录EBesQlServerKS图4-2注册表的创建图4-3评论表的创建登录表的创建:USEDONGNIGOCREATETABLEloginidvarchar(20)notnull,default(getdateO)namevarchar(50)notnull,logintimedatetimenotnul1)GO查询表的创建:USEDONGNIGOCREATETABLEsearch(idvarchar(20)notnull,

11、search_timedatetimenotnulldefault(getdateO)GO4.2数据完整性设计4.2.1主键约束的创建创建注册表id主键的约束:.Lenovopgdongni - dbo.retefSQLQUefy2.ql LDONGNl (a (55)US IenoVO pC (SQL Server 11.0.21 OO u ftHRS 一系统典RM ii JlMK写怩邪 & Il DONGNl XJ知BWd事 田GB系螭表 GB Tgles ffi 3 dbo.xnment S a dtxk9* 图 3 dtregister dtSMfname即SWOfd F addres

12、sexemailUte.yeaf date.mh dte.Uyvarch*r(20) varchar(SO) varchar(20) varchar(25O) VdrchM(ZOO) varchr(10) Vgrchar(SO) Vdrchar(IO) varchM(lO) VdrchM(IO) W树B*a同义同 一可得性Service Brokefa9tt U ReportServer U ReportServerTenpD 2瓷全住 J图务灯象K住-(M)估桁5欧俺W企Kfi22vMhar图4-4创建表ID主键的创建创建评论表createtime主键的约束:USEDONGNIGOALTER

13、TABLEcommentADDCONSTRAINTPKY_timePRIMARYKEYclustered(create_time)GO4.2.2DEFAULT约束的创建创建查询表时的DEFAULT约束:USEDONGNIGOCREATETABLEsearchidvarchar(20)notnull,SCarCh_timedatetimenotnulldefault(gctdatcO)GO创建登录表时的DEFAULT约束:SQLQUefy2.ql L-DONGNI (a (S5)力也,包H .已 0 Ienovo-PC (SQL Server 11.0.2100 u3 -1W3R!S)J笨统闵R

14、M图J败JfiiS0耶S (1 DONGNIid name logi.timewchar(20) WChar(SO)Utctime允杵NUH e max*ffld系统表ffi Qi FileTMMes图 mern 3 dbo.loin 也 dbo.register 3 dbo.e4rch闺-陋二斡义闰叫电?性 U Setvke Broker的二*序使 (J ReportServer Ij ReportServerTefnpOB 皆口安全性,一般务灯象SiW士二AIwjysOn高可用H,WSI n Intcgration Sfvke 曰农 SQI Server ft图4-5创建登录表时的DEFA

15、ULT约束4.2.3UNIQUE约束的创建创建登录表的UNIQUE约束:图4-6创建登录表UNIQUE约束创建查询表的UNlQUE约束:图4-7创建查询表UNlQUE约束4.3索引的创建创建注册表name索引:USEDONGNIGOCREATEINDEXIXnameONregister(name)GO创建评论表create_time索引:USEDONGNIGOCREATEINDEXIXcreatetimeONcomment(createtime)GO5数据库的操作5.1 数据操纵5.1.1 数据插入用户个人信息的插入(即注册):第一步:用户填入需要填写的信息,通过form将数据传递给regis

16、ter第二步:接收传递过来的数据,并判断是否有遗漏项,若无,连接到数据库,将用户的个人信息插入到注册表(register)中try(Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver”);连接Sql驱动Connectionconn=DriverManager.getConnection(jdbc:sqlserver:/localhost:1433;DatabaseName=DONGNI,sa,sql);/sql连接urlPreparedStatementstmt=conn.prepareStatement(INSERTINTOr

17、egister(id,name,password,img,address,sex,email,date_year,date-month,date-day)VALUES(?,?,?,?)?,?,?)”);Sql插入语句第三步:若注册成功,弹出注册成功的提示页面恭喜用户注册成功!点此继续. . ConnfctioLConteM*ttlc n3 Mvervtister(HNMStrif *Hs)yt*mlit4ry .,一 60 Gwnc Ubf*y Aflr4Tt .1Z1Ubr*yR*liMN%StrirveObje Mp - IteShMAPStrIfHhOMcct();-p.put(i4,U

18、MMt);Mp.put(wr*.Mf%P.pvtCwsM-x4,12J);Mp.9ut(aifla,a*Mtp ttM.(MJi.upU2ei4 W 17.pt(-y*ar,-199);K.put(-octb-12);lp.WyJl3);tocX 】“ Mrrrrgiftfriatp);”Hm )(Scte.wt.prlM(格用六3.c*Mrve).ilter; IefmMedA ComcticMUtN (1) PAppikJtMMtl CkBMM0owlc*MVwyMryCom11分用户清风飞IbiIIIQV (XQC)O电电-hopew VD ThfMd Oeemc , DMmc ,Oee

19、mc ADMmC 40emc DMmc Omc4Oe/口赢L二:二一恭喜用户清风飞扬注册成功!O(L11)O哈哈点此继续图5-3注册成功评论信息的插入:第一步:从界面评论框获取输入的内容,用AJAX框架传递数据$.ajax(type:post,url:data.jspjdata:content:content/author:author,id:id,img:img,将中的信息传递入data,jsp并data接收一个返回值);第二步:将传递过来的信息放到HaShMaP接口中,并传入对应存储评论功能的程序booleanflag=ConneCtionUtil.SaveComment(map);调用保

20、存评论函数out.print(flagP,success,i,fail,)j第三步:接收HaShMaP接口传递过来的信息,存入到数据库中(java代码)tryClass.forNamecom.microsoft.sqlserver.jdbc.SQLServerDriver”);连接Sql驱动Connectionconn=DriverManager.getConnection(,jdbc:sqlserver:/localhost:1433;DatabaseName=D0NGNI,sa,sql)5sql连接urlPreparedStatementstmt=conn.prepareStatement

21、(INSERTINTOcomment(contentjauthor,id,img)VALUES(?,?,?,?);SqI插入语句publicstaticvoidBain(Stringuargs)HaSwtaIXStri,ObjectMP=MWHaShMap();ap.put(*id*fT);ap.put(Sntent”,头好售出间邀了J);ap.put(,author*,R);wp.put(ig,httpwfwen.so5.cop201Me312eil31132730-1938174951.jpg);Systee.out.println(sveCwent(ap);jireWTasfcWebMw

22、r日COrtoteXaSawqPtpjKtMgration-(terminatedCoMectionUtiI阿aApplicationD:BaiduYunDcnmloddniyclip$e-pf(-20UGA-offiir)e-in$taler-wnd(M%bnaryconi$unjavd.jdk7.win32jc86_64_1.7.0.u45binayaw.)true图5-4保存评论成功(java内部)(网页发布评论:如下)用户清风已当录!【注销】【清立此用户所有倡层】【食,我的个人僖愿】会如没有遢上你,我会不会有另一种人生?不曾育没有结果,我还是宁厚与你相逢.|同步到:QQ,网易,微博【叁

23、他人信息】图5-5输入评论AI停海Et悲欢1图5-7F5刷新页面即可看到发布的评论5.1.2数据更新用户个人信息更新:第一步:申请修改信息后,将需要更新的数据通过form表单提交给Updateing页面第二步:接收form提交过来的数据,连接到数据库,通过Sql语句中的UPdate对数据库对应的信息进行更新,并在页面上显示更新的结果tryClass.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver”);连接Sql驱动Connectionconn=DriverManager.getConnection(jdbc:sqlserver:/loc

24、alhost:1433;DatabaseName=DONGNInj,sajMsqlM);/sql连接urlStringsql=updateregistersetname=?,password=?address=?,sex=?,email=?,date_year=?,date_month=?,date_day=?whereid=+id+”;SqI更新语句PreparedStatementstmt=conn.prepareStatement(sql);(网页更新操作:如下)雌个人信息图5-8在我的个人信息页面点击【更改我的个人信息】图5-9在对应栏目里填写需要修改的信息图5-10更新之后的用户个人

25、信息5.L3数据删除用户评论内容清空:第一步:通过按钮获取用户清空评论内容的申请,并将此申请传递给deletedata中转站$.ajax(type:post,url:deletedata.jspjdata:”id”:id,/传递ID参数success:function(data);第二步:申请中转站,获取传递过来的申请并传递给java程序booleanflag=COnneCtionUtiLdeIeteCOmment(id);调用删除评论函数out.print(flag?,success,:,fail,1);第二步:java程序接收传递过来的申请,连接到数据库,对发出申请的id用户的评论内容进行

26、删除清空操作Class.forName(,com.microsoft.sqlserver.jdbc.SQLServerDriver“);/连接Sql驱动Connectionconn=DriverManager.getConnection(ujdbc:sqlserver:/localhost:1433;DatabaseName=DONGNI,sa,sql)jsql连接urlStringsql=deletefromcommentwhereid=,+id+;Sql删除语句stmt=conn.prepareStatement(sql);图5-11清空个人评论内容(java内部)(网页清空评论内容:如下

27、)我的动态TO/、 发杆 201507-10 00:13:39.223图5-12点击清空列表图5T3弹出清空结果窗口图5-14刷新即可查看到评论已清空遇上你,我会不会有另一种人生?不管有没有结果,我还是宁愿与你相逢。-07-1000:17:12.237爱空间很大开发活动空间很舒服看发署P2O15-O7-O923:16:16,66烦死了发帖2015。23:13:43627用户所有信息清空:分成三块:清空评论信息、清除个人信息以及清除登录信息获取用户的清空数据申请,从登录表(login)获取当前登陆的用户的ID,连接到数据库,分别从注册表(register)评论表(comment)以及登录表(lo

28、gin)中删除id为此ID的所有有关信息Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);连接sql驱动ConnectionConn=DriverManager.getConnection(,jdbc:sqlserver:/localhost:1433;DatabaseName=DONGNIjsa,sql);/sql连接urlStringsqll=deletefromregisterwhereid=+id+”;SqI删除语句Stringsql2=deletefromcommentwhereid=*+id+”;SqI删除语句S

29、tringsql3=deletefromloginwhereid=,+id+”;SqI删除语句PreparedStatementstmtl=connprepareStatement(sqll);PreparedStatementstmt2=conn,prepareStatement(sql2);PreparedStatementstmt3=connprepareStatement(sql3);,hSMmnnt,RkWa.coMm vc JKf SEE Ubary u - 1m GQ Ge*ek Ubry MWebArplrk JlTl IJ.lUxMjr g WMocMAWJClMfMaM ,

30、 ccwmwn! dp / p/ -2R / 3“xmFSFHUlOWOtO.StvdeSore,tM ,WcbTmClis.orMar(v*.l,即rv*rkUvr);Com0MoRrlwfcer.9ftCcftne:$qoe*/lclot:UB;Dtbs*MeXKNGNT,w,$qle);StrincW&leteroy”廿3*eidF4;StrbM(al24elete”co三e*twher14.,id.;%tri11gMll*Ut介kin14.id;Prrr*4ttfwnttltom.pr*fM*tteeit%411);PrerEMnQE2rora.prr*ttfwot(4U);,tUco

31、m.pre(re$tMfeent(qD);booXMft?rv:fl,bolnCAC*tet2.rM?trw:fl.bolnfla(*tt).mvUpdr?tree:.lMos();rwtrU3W1心)-Exel0ee)(e.9rifit$tMkTf*e();rtvti1mv)1*HEUrVI*1m;9MUttlfaW5Mrc)(Mimbf*e0;“”Kv*t.;,rTMta4tf*noOGMaoteMtt,rrotUmuuxM*,lr*tfKdCnmbxti(1)(4vAppcj6orftduV5ov*4CMCfny*b6.64.1.7.O.w4SlbrMW.i己-MII户*更SlHr(12

32、, f *wftr1 ,Tred(m ,OM*non AoMmOnrh AOMmOnTh J OwmonTh 0Befnon b Dw Daemon Th A CkMmonTh用户清风已登录!【注销】【清空比用户所有信息】【直看我的个人信息】图5-15清空用户所有信息(java内部)(网页清空用户所有信息:如下)图5-16点击【清空此用户所有信息】U后福唬户雕场三一清除数据成功!点此返回图5-17清除成功登录S躇反面ID与密码组合不匹配!返回图5T8再次登录就登不上去了5.2数据查询5.2.1单表查询查询评论内容:连接到数据库,查询评论表(CommCnt)中的所有评论内容Class.orazn

33、e(com.microsoft.sqlserver.jdbc.SQLServerDriver”);连接Sql驱动Connectionconn=DriverManager.getConnecton(jdbc:sqlserver:/localhost:1433;DatabaseName=DONGNInj,sajMsqlM);/sql连接urlstmt=conn.prepareStatement(SELECT*FROMcommentORDERBYcreate_timeDESC”);SqI选择语句rs=stmt.eecuteQuery();/ 和j* ,M加E(神 / r*U押 ttgntf_2fip

34、 nttet.j tetfjurf.jp 4xm9j / spd*rm)*-j KTESTPhfuowowd UdcntScorecbTtpublicstaticvol!aaiA(Strincafs)ListHasMpNPS三fidco三wt();for(HasNpStriffCbje:卿s)5yste.out.prt(.frt(ME);Syste.out.pri三t(三三=三三三U);boo】Mafl”Gktt川();if(惆HMgOUtMw己港E用PIi关的标U,iLMte VM)to OC: ConnectjooUti (133 APPiiU 6oc DM*YMownkMnyecpf 2

35、014GAdiftew*3iaM(3avaidk7.w632j36.6 B.殊不会有另一# 人生17ffvm. fturtM. - “*;腔制阳是H纵弓了aJjM总 *gor Dwx /0ew JoieeW JDlWX JDiewior JOidoYiMSmO BV S15IO m HtX S* OacWlS.nMn A7T.gw(Jhelowofthe20150710 CBW V5yst.out.prirt(i8itSiftWSS!才W先收!(ooo)*);150710BS图5-20用户登录后所有评论内容全部显示在页面上5.2.2多表查询多表查询可由多个单表查询代替完成,本系统采用的就是单表

36、查询代替多表查询查询他人信息:第一步:通过form表单获取要查询对象的ID,并传递给loadjump.jsp处理请在下面的文本框内输入需要查询的用户ID第二步:接收传递过来的ID参数,连接到数据库,在注册表中(register)查询此ID是否存在,若存在,将此ID插入到查询表(search)中,跳转到PerinfO.jsp界面,并进入下一步;否则,返回到上一步继续查询IDClass.forName(,com.microsoft.sqlserver.jdbc.SQLServerDriver”);连接Sql驱动ConnectionConn=DriverManager.getConnection(,

37、jdbc:sqlserver:/localhost:1433;DatabaseName=DONGNI,sa,sql)jsql连接urlStatementStmt=(Statement)Conn.CreateStatement();Stringsql=,select*fromregisterwhereid=”+14+”;541选择语句ResultSetrs=(ResultSet)stmt.executeQuery(sql);if(rs.next()PreparedStatementstmtl=conn.PrepareStatement(,insertintosearch(id)values(?);/sql插入语句stmtl.setString(IjString.valuef(id);booleanflag=stmtl.executeUpdate()0?true:false;stmtl.close();catch(Exceptionee)ee.printStackTrace();第三步:从查询表(search)中获取查询ID,分别调用java方法查询出此ID的个人信息以及所有评论内容%Stringid=ConnectionUtil.findsearch

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号