您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > java-sql-server课程设计实验报告
课程设计报告课程设计题目:学生个人消费记载系统学生姓名:胡阳升学号:201420130332专业:计算机科学与技术班级:1420702班指导教师:黄笑鹃、郑勇明2016年06月30日目录一、问题描述.............................................................................11、理论基础方面.........................................................................12、实际操作方面.........................................................................1二、解决方案及说明..................................................................1三、具体实现...............................................................................31、数据库层面.............................................................................3(1)E_R图的设计......................................................................3(2)关系模式...........................................................................3(3)外键约束.............................................................................3(4)存储过程.............................................................................42、Java层面................................................................................7(1)用户登录.............................................................................7(2)用户注册.............................................................................8(3)添加数据............................................................................10(4)删除数据............................................................................11(5)修改数据............................................................................12(6)查询数据............................................................................14(7)统计消费............................................................................17四、收获及心得体会...............................................................19五、附录(java代码)..............................................................221一、问题描述课程设计题目:学生个人消费记载系统1、理论基础方面(1)系统功能的基本要求:消费记录:记载每笔支出的消费数目、消费项目、消费时间;统计功能:可以按时间段统计消费的金额。查询功能:按消费时间查询,按消费项目查询。(2)系统应该具备最基本的进入和退出以及用户的登录和退出(3)大学生对自己的每个月的吃饭消费、电话消费、买书花费、旅游花费、其他花费、月总支出,、净消费进行管理,可以对自己的每个月的各项消费进行浏览、录入、查询、修改、删除、排序、统计的功能。2、实际操作方面(1)数据库层面:两张表,一张消费记录表,一张学生信息表,连接查询。(2)java界面层:①登录界面:实现学生进入到主界面的操作②注册界面:添加一位新的学生③主界面-增、删、改、查界面:对所登录的学生的消费记录进行操作二、解决方案及说明需求分析:(1)目标:由于当今学生生活丰富,所对应的消费项目也是琳琅满目。而很多学生的消费观念并不够强,不知不觉中就会开销过度。为了使学生们建立一个完善的消费观念以及方便学生们实时记录和查询自己的日常开销,从而开发出一个便于学生个人记载消费记录的一个系统。(2)开发环境:eclipse,sqlserver2008。(3)数据库描述:①用户管理数据库:用于学生注册信息和登录系统,利于保护学生个人隐私,也方便多用户独立使用系统。②消费记载数据库:主要用于记录学生的日常消费(包括消费项目名称,消费时间,消费金额,消费地点等),同时便于学生随时查询记录(可按时期,消费项目名,消费金额等查询),按日期统计自己的消费支出,还可按自己的意愿修改消费的详细内容以及删除自己的消费记录。③利用用户管理数据库的学生学号为消费记载数据库添加外键,便于不同学生独立查询个人记录,以维护数据的完整性。(4)功能描述:21添加消费记录:①消费项目名称②消费日期③消费金额④消费种类⑤消费记录编号2删除消费记录:①删除某一条消费记录②或者可按个人要求删除消费记录3修改消费记录:①修改某条消费记录里的内容4查询消费记录:①按消费日期查询消费记录②按消费项目查询消费记录③查看所用消费记录5统计消费支出:①统计历史消费支出总额②按时间段统计期间支出总额(5)系统功能结构图:登录判断(y/n)(n)学生注册(y)进入系统消费支出记录查询修改记录删除记录添加记录消费项目消费种类消费金额消费时期总消费金额按日期统计按日期查询按名称查询修改某行记录(学号不能改)删除某行记录退出系统3三、具体实现1、数据库层面:(1)E_R图的设计:(2)关系模式:a)消费记录(消费编号,消费项目,消费日期,消费金额,消费种类,学生学号)b)学生(学生学号,学生姓名,登录密码)c)记载(学生姓名,消费项目,学生学号)三线表:表3.1学生信息表列名数据类型说明stu_idstu_namestu_passwordInt(主键,notnull)Nvarchar(50)Nvarchar(50)学生学号学生姓名登录密码表3.2消费记载表列名数据类型说明IdNameCostsTimeStu_idKind_nameInt(notnull)Nvarchar(50)IntNvarchar(50)Int(外键,notnull)Nvarchar(50)消费编号消费项目消费金额消费日期学生学号消费种类消费记录学生记载学生学号学生姓名登录密码消费编号消费项目消费日期消费金额消费种类学生学号学号4(3)外键约束:select*fromCostLogaltertablestuaddconstraintpk_noprimarykey(stu_id)altertableCostLogaddconstraintfk_noforeignkey(stu_id)referencesstu(stu_id)(4)存储过程:①添加:CREATEPROCEDURE[dbo].[add_proce]@xnvarchar(50),@ynvarchar(50),@mint,@nnvarchar(50),@zintASBEGINinsertintoCostLog(name,kind_name,costs,time,stu_id)values(@x,@y,@m,@n,@z)END②删除:CREATEPROCEDUREdel_proce@xintASBEGINdeletefromCostLogwhereid=@xEND③修改:CREATEPROCEDURE[dbo].[alt_proce]@anvarchar(50),@bint,@cnvarchar(50),@dint,@envarchar(50),@xintASBEGINupdateCostLogsetname=@a,costs=@b,time=@c,stu_id=@d,kind_name=@ewhereid=@xEND④查询1:CREATEPROCEDURE[dbo].[que1_proce]@xnvarchar(50),@ynvarchar(50),@zintASBEGIN5select*fromCostLogwheretimebetween@xand@yandstu_id=@zEND⑤查询2:CREATEPROCEDURE[dbo].[que2_proce]@xnvarchar(50),@yintASBEGINselect*fromCostLogwherename=@xandstu_id=@yEND⑥统计:CREATEPROCEDURE[dbo].[sum_proce]@xnvarchar(50),@ynvarchar(50),@zintASBEGINselectsum(costs)asifromCostLogwheretimebetween@xand@yandstu_id=@zEND⑦注册:CREATEPROCEDUREinsert_stu@xnvarchar(50),@ynvarchar(50)ASBEGINinsertintostu(stu_name,stu_password)values(@x,@y)END(3)具体的解决实例:a)useCostb)c)--消费记录表d)createtableCostLog(e)idintidentity(1,1),f)[name]nvarchar(50),g)costsint,h)[time]datetime,i)kind_idintj))k)--学生用户表l)createtablestu(m)stu_idintidentity(1,1),n)stu_namenvarchar(50),o)stu_passwordnvarchar(50)p))6q)r)--为表CostLog创建外键约束s)select*fromCostLogt)u)altertableCostLogv)addconstraintc_idprimarykey(id)w)x)altertableCostLogy)dropconstraintc_idz)aa)altertablestubb)addconstraintpk_noprimarykey(stu_id)cc)dd)altertableCostLogee)addconstraintpk_noprimarykey(stu_id)ff)gg)altertableCostLoghh)addconstraintfk_noforeignkey(stu_id)ii)referencesstu(stu_id)jj)kk)ll)mm)nn)select*fromstuoo)select*fromCostLogpp)qq)--存储过程:添加rr)execadd_proce@x='吃火锅',@y='一般',@m=100,@n='2016.06.29',@z=1ss
本文标题:java-sql-server课程设计实验报告
链接地址:https://www.777doc.com/doc-6332934 .html