数据库课程设计大米荐购系统实验报告.docx
XXXX 大学大学数据库课程设计报告数据库课程设计报告学学院:院:专业班级:专业班级:指导老师:指导老师:姓姓名:名:学学号:号:试验时间:试验时间:一一.目的及要求目的及要求培养学生熟练掌握一种大型数据库系统的开发环境如 ORACLE9i/10g/11g(或更高版本)或 SQL SERVER2005/2008/2010(或更高版本),对其底层的数据库触发器与程序过程有深入的了解,了解并基本掌握面向数据库的 C/S 模式的通用开发工具如 VB、PB 或 DELPHI 或直接用语言 C#或 Java 开发 C/S 模式的系统;或者采用 ASP、JSP、PHP 等开发技术来开发 B/S 模式的系统,熟悉开发一个小型应用系统的过程及主要技术。其中基于.Net 平台与 J2EE 平台工具套件中同时支持 B/S 模式与C/S 模式的开发。二开发任务概述二开发任务概述本次设计主要是开发商品荐购系统。其业务需求如下:某大型网购公司已积累了稳定的用户群,为了与用户加强联系、广泛收集商品信息、给用户更好的价格,特推出商品荐购系统,即由用户推荐网上其它门店的商品明细(含价格),系统管理员通过系统获取荐购的商品信息后会通过各种渠道进行核对(主要是人工方法,系统辅助商品比较分析),如果信息属实,系统管理员会给用户(会员)增长积分(标准为 1-10 分),并根据会员积分的情况进行升级(如原来 0 分为初级会员,荐购成功积累大于等于 10 分,升级为 1 级会员,如积累 100 分及以上,则为 10 级会员,其它级别依此类推),再根据会员级别允许会员以级别相应折扣购买推荐的或其它用户推荐的商品,如初级为全价,1 级为 9 折、5 级为 5 折可购买自荐商品或其它用户荐购商品;6 级为 4 折、9 级为 1 折可购买自荐商品;10 级及以上直接免费获得自荐商品。商品荐购系统的功能主要包括1用户或会员操作功能:(1)用户注册、用户登录、用户信息维护等;(2)商品搜索、比较、排名、推荐等;2管理员操作功能:(1)推荐商品采纳、会员积分、会员升级;(2)商品类别维护、类似商品信息统一等;(3)商品搜索、比较、排名;(4)操作日志记录、查询与维护等。可采用 C/S 模式也可以采用 B/S 模式,还可以采用 C/S 模式与 B/S模式相结合的汇合模式如管理员功能中商品类别维护、类似商品信息统一等;操作日志记录、查询与维护等用 C/S 模式,其它功能用 B/S模式等,混合模式只要实现部分功能其程序部分的成绩将是良好及以上。三课程设计要求三课程设计要求(1)提出技术方案,主要包括开发与运行模式选择、开发工具、数据库管理系统及其主要的特性保证。(课程设计报告中体现)(2)对系统的功能和数据进行需求分析、总体设计和详细设计,并提交设计报告。报告中数据库设计部分要包含系统 E-R 图、数据字典、表、视图、索引、文件组织结构等的定义和描述,还需要包括对象命名法。(3)程序实现各项功能,在课程设计报告中要反映实现过程中采用的关键技术和主要程序流程以及主要的操作界面。(4)数据库后台最好有触发器与多个过程,数据结构中最好有主明细结构(即主表与明细表联动)。四四系统设计系统设计1.1.总体功能结构总体功能结构商品荐购系统,包括主要部分:商品搜索、商品推荐、信息管理。各业务包括的主要内容有:商品搜索:用户可根据输入商品的一些关键字,对本公司的商品进行搜索查询,该关键字可以是商品的品牌,产商,型号。商品推荐:用户可以推荐本公司的商品,也可以查看其他用户推荐的商品。信息管理:管理员在此管理页面中管理用户,增加用户,设置用户权限、输入和修改管理员基本资料,修改个人的密码。2.系统概要分析系统概要分析:用户用户系统商品推荐商品搜索信息管理管理员管理员系统商品界面用户界面商品管理用户管理3.3.系统的功能性需求系统的功能性需求商品查询根据商品的品牌、产商、型号的关键字搜索商品商品推荐用户根据个人喜好推荐自己喜欢的商品信息管理对用户和管理员信息的增加、删除、修改系统管理包含操作员的增加,删除,权限的分配4.系统的非功能性分析系统的非功能性分析:A:A:用户界面需求简洁、易用、易懂,美观、大方、标准,具备一定的兼容性。B:B:软硬件环境需求软件环境:microsoft Visual basic6.0 运行环境microsoft access2003 数据库硬件环境:586 以上计算机C:C:软件质量需求易用、健壮、兼容性好、运行稳定、有一定安全保障5.5.系统总体功能模块系统总体功能模块商品荐购系统总共划分为:用户登陆模块、用户注册、用户主界面模块、管理员登陆模块、管理员主界面模块。如图所示:管理员系统用户系统商品推荐信息修改商品搜索商品荐购系统用户登陆用户注册信息修改用户管理商品管理6.6.商品荐购系统数据流图:商品荐购系统数据流图:系统流程图开始注册登录信息管理商品搜索商品推荐结束NOYES7.7.数据字典数据字典任何字典最主要的用途都是供人查阅条目的解释,数据字典的作用也正是在软件分析和设计的过程中给人提供关于数据的描述信息。数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,而没有数据流图数据字典也难以发挥作用。只有两者在一起,才能共同构成系统的规格说明。绘制 dfd 之后,只是对数据和彼此之间的联系进行了说明。为进一步明确数据的详细内容和数据加工过程,应将数据流图中的全部数据流及其组成的数据元素,数据存储,数据加工,通过数据字典描述清楚,以便于此后系统设计的进行。商品荐购系统第一阶段数据字典:数据流名:(商品查询)查询请求来源:用户输入的数据输出:商品信息组成:商品的品牌、型号、产商、价五五数据库设计数据库设计1.1.数据表设计数据表设计:商品用户管理员品牌型号产商价格用户名姓名年龄电话地址性别密码姓名管理员用户名密码1:n1:n1:n2.2.商品荐购系统数据表商品荐购系统数据表管理员登录表 guan_10604列名字符类型长度是否为空Name文本10Not nullPwd数字10Not null用户信息表 user_10604列名字符类型长度是否为空Name文本10Not nullPwd数字10Not nullSex文本2Age数字3Phone数字8Address文本10ID数字18Not null商品信息表 shangpin_10604列名字符类型长度是否为空Shangpinming文本12Not nullJiage数字4Zhonglei文本8Chandi文本10六软件界面六软件界面1.用户登录2.用户注册界面3.用户信息界面4.密码修改5.用户信息修改6.商品推荐界面7.管理员界面七部分源代码七部分源代码以下为已实现功能的源代码1.用户登录Private Sub Form_Load()Form1.ShowForm2.HideForm3.HideEnd SubPrivate Sub Command1_Click()Form1.HideForm2.ShowEnd SubPrivate Sub Command2_Click()On Error Resume NextConn.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:UsersAdministratorDesktop付永军u_20707.mdb;Persist Security Info=FalseConn.OpenIf rs.State=1 Then rs.Closers.Openselectname,pwdfromuser_20707,Conn,adOpenKeyset,adLockPessimisticIf userstyle.Text=会员 ThenAdodc1.RecordSource=select*from user_20707 wherename=&Text1.Text&Adodc1.RefreshIf Adodc1.Recordset.EOF=True ThenMsgBox 没有该用户,错误提示ElseIf Text2.Text=Adodc1.Recordset.Fields(pwd)ThenMsgBox 登陆成功Unload Me关闭登录对话框Form1.HideForm3.ShowElseMsgBox 密码错误End IfEnd IfEnd IfIf userstyle.Text=管理员 ThenAdodc1.RecordSource=select*fromg_20707wherename=&Text1.Text&Adodc1.RefreshIf Adodc1.Recordset.EOF=True ThenMsgBox 没有该用户,错误提示ElseIf Text2.Text=Adodc1.Recordset.Fields(pwd)ThenMsgBox 登陆成功关闭登录对话框Unload MeForm1.HideForm4.ShowElseMsgBox 密码错误End IfEnd IfEnd IfEnd Sub2.用户注册Dim Conn As New ADODB.ConnectionDim conStr As StringDim Sql As StringDim rs As New ADODB.RecordsetPrivate Sub Command1_Click()On Error Resume NextconStr=Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:UsersAdministratorDesktop付永军u_20707.mdb;Persist Security Info=FalseConn.Properties(Jet OLEDB:Max Buffer Size)=256Conn.Open conStrConn.Executeinsertintouser_20707(name,pwd,sex,age,phone,address,cum,rank,ID)values(&Text1.Text&,&Text2.Text&,&Text3.Text&,&Text4.Text&,&Text5.Text&,&Text6.Text&,0,0,&Text7.Text&)MsgBox 注册成功!,提示信息Form1.ShowForm2.HideConn.CloseEnd SubPrivate Sub Command2_Click()Form1.ShowForm2.HideEnd SubPrivate Sub Form_Unload(Cancel As Integer)rs.CloseConn.CloseSet rs=NothingSet Conn=NothingEnd Sub3.用户密码修改Dim Conn As New ADODB.ConnectionDim conStr As StringDim Sql As StringDim rs As New ADODB.RecordsetPrivate Sub Command1_Click()On Error Resume NextconStr=Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:UsersAdministratorDesktop付永军u_20707.mdb;Persist Security Info=FalseConn.Properties(Jet OLEDB:Max Buffer Size)=256Conn.Open conStrAdodc4.RecordSource=select*fromuser_20707where pwd=&Text2.Text&Adodc4.RefreshIf Text1.Text=ThenMsgBox 请输入用户名!,提示信息ElseIf Text3=Text4 ThenConn.Execute update user_20707 set pwd=&Text4.Text&where name=&Text1.Text&MsgBox 密码修改成功!,提示信息Conn.CloseForm4.HideForm1.ShowElseMsgBox 重新输入密码!,提示信息End IfEnd IfEnd SubPrivate Sub Command2_Click()Form6.HideForm3.ShowEnd SubPrivate Sub Form_Load()End Sub4.用户信息修改Private Sub Command1_Click()On Error Resume NextconStr=Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:UsersAdministratorDesktop付永军u_20707.mdb;Persist Security Info=FalseConn.Properties(Jet OLEDB:Max Buffer Size)=256Conn.Open conStrIf Text1.Text ThenConn.Execute update user_20707 set name=&Text7.Text&where pwd=&Text17.Text&End IfIf Text8.Text ThenConn.Executeupdateuser_20707setage=&Text8.Text&where pwd=&Text17.Text&End IfIf Text9.Text ThenConn.Executeupdateuser_20707setsex=&Text9.Text&where pwd=&Text17.Text&End IfIf Text10.Text ThenConn.Execute update user_20707 set address=&Text10.Text&where pwd=&Text17.Text&End IfIf Text11.Text ThenConn.Execute update user_20707 set phone=&Text11.Text&where pwd=&Text17.Text&End IfIf Text12.Text ThenConn.Executeupdateuser_20707setID=&Text12.Text&where pwd=&Text17.Text&End IfMsgBox 修改成功!,提示信息Conn.CloseForm5.HideForm3.ShowEnd SubPrivate Sub Command2_Click()Form5.HideForm3.ShowEnd SubPrivate Sub Form_Load()End Sub八实验总结八实验总结在本次课程设计期间我们学到了许多计算机专业知识,使我们受益匪浅。通过“商品推荐系统”的设计,进一步掌握了文献检索、资料查询的基本方法以及获取新知识的能力,提高了计算机软、硬件设计、测试、分析和解决实际问题的能力,使我们的创新意识和专业素质得到了较大的提高。了解到开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面,我们实现了数据库的创建及数据的输入、浏览、维护和统计,使得系统具有功能强大,界面友好的特点。虽然还用些功能没有实现,但我相信随着水平的不断提升,我以后一定会更好的完成这种类型的数据库的设计。并且十分感谢帮助解答的同学和老师的指导。