数据库课程设计报告汽车租赁管理系统.docx
- 文档编号:11789574
- 上传时间:2023-06-02
- 格式:DOCX
- 页数:4
- 大小:18.47KB
数据库课程设计报告汽车租赁管理系统.docx
《数据库课程设计报告汽车租赁管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计报告汽车租赁管理系统.docx(4页珍藏版)》请在冰点文库上搜索。
数据库课程设计报告汽车租赁管理系统
数据库课程设计报告(汽车租赁管理系统)
一.系统简介 本系统为汽车租赁系统,采用B/S实现。
可以实现不同权限的浏览和管理。
管理员可以用于汽车租赁公司对汽车租赁事务的管理,包括新增、删除车辆记录,新增、删除用户记录,新增、删除租赁信息记录,新增、删除管理人员记录以及会员设置,客户则可以浏览车辆信息和个人的租车信息。
主要技术:
jsp 运行环境:
winowsos+apache+sqlserver2005+开发软件:
开源软件:
二.数据库设计 1.需求分析 因为客户只能亲自到汽车租赁公司去注册或租赁车辆,因而,两者权限分配如下:
汽车公司方面:
能够对车辆,租赁信息和用户信息进行管理。
超级管理员还可以对公司内部人员的信息进行管理 客户方面:
只能浏览车辆信息和个人用户信息及个人租赁信息。
数据流图如下:
管理人员信息文件管理员新增车辆个人信息车辆车辆信息文车辆信息新增管理员新增客户用户信息文件新增交易个人信息客户内部人员交易信息文件 2.概念设计ER图如下所示:
工号用户名类型密码管理用户n管理员证件号用户名管理车辆m密码客户信誉度1M会员类型NN租用时间单价租用车辆车辆起租时间状态编号状态客户编号编号类型押金起租时间经手人员车辆编返回金额租用时间 3.逻辑设计 建表语句如下:
用户表:
//后为各字段意义声明createtableuserinfo( pidvarchar(8)primarykey,//用户证件号usernamevarchar(8), //用户名 isvipint, //用户类型,是否为会员 xingyuint, //信誉度,满分100。
passwordvarchar(8) //用户登录密码); 管理员表:
createtablemanager( widvarchar(8)primarykey,//管理员工号 typeint, //类型,超级管理员和普通管理员usernamevarchar(8), //管理员用户名passwordvarchar(8) //管理员密码);车辆表:
createtabletaxi( tidvarchar(8)primarykey,//车辆编号typevarchar(8), //车辆类型 statevarchar(8), //车辆状态,是否可租widvarchar(8), // yearint, //起租年月日monthint,dayint,timeint, detailinfotext, //车辆详细信息payint //租用单价); 租车信息表createtablerentinfo( ridintidentity(1,1)primarykey,//交易编号 widvarchar(8),//经手人员pidvarchar(8), //客户证件号tidvarchar(8),//车辆号码yajinint,//押金backmoneyint,//返还金额payint,//单价 brokenvarchar(8),//破坏情况outyearint,//结束交易时间outmonthint,outdayint, timeint,//实际使用时间statevarchar(8)//交易状态); --设置外键 BEGINTRANSACTION altertableaddconstraintFK_rentinfo_tidforeignkey(tid) references([tid]) altertableaddconstraintFK_rentinfo_pidforeignkey(pid) references([pid]) altertableaddconstraintFK_rentinfo_widforeignkey(wid) references([wid]) COMMITTRANSACTION 4.数据库建立与备份,恢复 在sqlserver2005建立一个数据库,名称为hello,执行以上建表语句即可。
或者将,hello_文件恢复。
sp_attach_db‘hello’, ’C:
\\ProgramFiles\\MicrosoftSQLServer\\MSSQL\\Data\\’,‘C:
\\ProgramFiles\\MicrosoftSQLServer\\MSSQL\\Data\\hello_’sp_attach_single_file_db‘hello’,’C:
\\ProgramFiles\\MicrosoftServer\\MSSQL\\Data\\’ 备份:
将hello数据库备份成文件 SQL 三.框架实现 系统总体框架实现如下图所示:
不同权限的用户登录超级管理员普通管理员客户内部人员管理客户信息管理车辆信息管理财务信息管理客户信息管理财务信息管理车辆信息管理个人信息浏览租车信息浏览车辆信息浏览以下是各模块的子功能截图:
登录模块截图:
超级管理员页面截图:
普通管理员页面截图:
员工信息管理页面截图:
员工信息管理 员工业绩查询 增加员工 修改个人密码 客户信息管理:
交易信息查询 客户信息查询 车辆信息管理:
新增车辆信息 车辆信息查询 财务信息查询:
数据操作实现方法:
定义一个类DataManager,在每个jsp页面中实例化这个类,并调用它的某 个方法,完成数据库的连接,数据查询,删除,及修改操作。
程序示例:
如里面可以验证用户登录信息,并转向不同页面。
DataManagerdm=newDataManager();//实例化DataManager类 ResultSetrs=null; if(type==1){//如果是以客户身份登录 } Stringsql=\+\rs=(sql);//用户名和密码获取记录if(()){//如果记录不为空,表明该客户存在 } Stringsql=\+username+\+\(sql);rs=(sql);if(()){Stringwid=(\(\(\(\} (\ Stringpid=(\保存该用户信息(\(\ (\(\转向客户页面 }else{//转向管理员页面,以下与上面if语句类似。
此外,系统具有良好的安全性,对每个页面都有良好的保护措施,如,,通过session验证用户有无权限进入该页面,否则跳转到页面,重新登录。
四.程序设计 1.含有表单的jsp页面可以通过设置隐藏域的值来提交到本页面,其程序流程 如下:
开始获得隐藏域变量的值Y为空?
N表单的填写显示表单提交结果结束跳转到本页 2.财务管理中有个导出execl报表的功能,其实现如下:
从网上下载一个包,该jar包支持生成execl文件的操作,然后建立一个专门的类,用于生成execl,该类源码如下:
package; import*; importjxl.*;//里面的类库import*;import*; publicclassCreateXLS{ publicStringcreate(ResultSetrs,Stringfilename) { try{ Filef=newFile(filename); booleanexist=(); WritableWorkbookbook=(newFile(filename)); //生成名为“第一页”的工作表,参数0表示这是第一页WritableSheetsheet=(\第一页\ //在Label对象的构造子中指名单元格位置是第一列第一行(0,0)//以及单元格内容为test Labellabel0=newLabel(0,0,\交易号\Labellabel1=newLabel(1,0,\经手人员\Labellabel2=newLabel(2,0,\客户证号\Labellabel3=newLabel(3,0,\车辆号码\Labellabel4=newLabel(4,0,\押金\Labellabel5=newLabel(5,0,\返还金额\Labellabel6=newLabel(6,0,\破坏情况\Labellabel7=newLabel(7,0,\开始时间\Labellabel8=newLabel(8,0,\实收金额\ (label0);(label1);(label2);(label3);(label4);(label5);(label6);(label7);(label8); inti=1; while(()){ label01=new(0,i,
(1));Labellabel11=newLabel(1,i,
(2));Labellabel21=newLabel(2,i,(3));Labellabel31=newLabel(3,i,(4)); label41=new(4,i,(5)); label51=new(5,i,(6)); Labellabel61=newLabel(6,i,(8)); Labellabel71=newLabel(7,i,(9)+\ +(10)+\ label81=new(8,i,(5) -(6)); (label01); (label11); (label21); (label31); (label41); (label51); (label61); (label71); (label81); i++; } (); (); }catch(Exceptione){ (); } return\} //测试creat方法 publicstaticvoidmain(Stringarg)throwsSQLException { CreateXLSc=newCreateXLS(); DataManagerdm=newDataManager();Stringsql=\ +\交易完成’\ (sql); ResultSetrs=(sql); (rs,\ }} 在jsp页面中调用该类方法既能生成Exel文件,源码如下:
//该文件名按apachetomcat安装目录而定Stringfilename=\Foundation/Tomcat/webapps/COURSEPROJECT/execls/\ CreateXLScxls=newCreateXLS();(rss,filename); +year+\+month+\; 3.用到了数据库知识里面的触发器,该触发器用于新增交易信息时,sql语句如下:
SETANSI_NULLSONGO SETQUOTED_IDENTIFIERONGO CREATETRIGGERrent1onrentinfo AFTERinsertASBEGIN updatetaxi set=, =, =, =, = fromtaxit,Insertedi where= SETNOCOUNTON; ENDGO 五.总结 本次实验的最大收获就是真正写了个关于数据库的软件。
数据库无论在现在 各类软件中都有涉及,所以数据库对于计算机从业者来说是一门必须掌握的课程。
本次试验只能说是初步了解了数据库编程的一些知识,许多高深的数据库知识如sql优化都未能研究深入。
其次是对jsp编程有了一定得了解。
因为是首次学习jsp编程,没有用到javabean,更不用说struts,hibernate,spring框架,所用到的技术非常简单,属于“菜鸟级“,不过,打下了web编程的基础,相信以后会对web开发更有兴趣。
最后,对软件工程的知识有了一定了解。
本次试验成果可以说是一个软件,软件的完成需要固定的几个步骤:
需求分析,概念设计,编码,测试等等,经过本次尝试,终于知道了需求分析的重要性,它是整个软件的基础,影响到软件的功能是否完善等等,所以需求分析一定要到位。
还有测试,测试用例一定要全面,否则,功能实现就会有缺陷。
以上就是本次实验的心得体会。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 报告 汽车 租赁 管理 系统