欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    数据库课程设计报告(汽车租赁管理系统).docx

    • 资源ID:12686483       资源大小:254.12KB        全文页数:15页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库课程设计报告(汽车租赁管理系统).docx

    一 系统简介 本系统为汽车租赁系统,采用B/S实现。可以实现不同权限的浏览和管理。管理员可以用于汽车租赁公司对汽车租赁事务的管理,包括新增、删除车辆记录,新增、删除用户记录,新增、删除租赁信息记录,新增、删除管理人员记录以及会员设置,客户则可以浏览车辆信息和个人的租车信息。 主要技术:jsp运行环境:winows os+apache tomcat5.5+sql server 2005+jdk1.6开发软件:myeclipse6.0.1开源软件:jxl.jar,sqljdbc4.jar二 数据库设计1. 需求分析因为客户只能亲自到汽车租赁公司去注册或租赁车辆,因而,两者权限分配如下:汽车公司方面:能够对车辆,租赁信息和用户信息进行管理。超级管理员还可以对公司内部人员的信息进行管理客户方面:只能浏览车辆信息和个人用户信息及个人租赁信息。数据流图如下: 管理员客户新增客户个人信息用户信息文件车辆新增交易车辆信息交易信息文件个人信息新增车辆车辆信息文件新增管理员内部人员管理人员信息文件2. 概念设计ER图如下所示: 管理员管理车辆车辆租用车辆客 户1N管理用户工号用户名类型密码编号类型状态起租时间单价租用时间编号客户编号车辆编号经手人员起租时间押金租用时间返回金额状态证件号用户名会员类型密码MNnm信誉度3. 逻辑设计建表语句如下:用户表:/后为各字段意义声明create table userinfo( pid varchar(8) primary key, /用户证件号 username varchar(8), /用户名 isvip int, /用户类型,是否为会员 xingyu int, /信誉度,满分100。 password varchar(8) /用户登录密码);管理员表:create table manager( wid varchar(8) primary key, /管理员工号 type int, /类型,超级管理员(部门经理等)和普通管理员 username varchar(8), /管理员用户名 password varchar(8) /管理员密码);车辆表:create table taxi( tid varchar(8) primary key,/车辆编号 type varchar(8), /车辆类型 state varchar(8), /车辆状态,是否可租 wid varchar(8), / year int, /起租年月日 month int, day int, time int, detailinfo text, /车辆详细信息 pay int /租用单价);租车信息表create table rentinfo( rid int identity(1,1) primary key, /交易编号 wid varchar(8), /经手人员 pid varchar(8), /客户证件号 tid varchar(8),/ 车辆号码 yajin int, /押金 backmoney int, /返还金额 pay int,/单价 broken varchar(8),/破坏情况 outyear int,/结束交易时间 outmonth int, outday int, time int,/实际使用时间 state varchar(8)/交易状态 );-设置外键BEGIN TRANSACTIONalter table dbo.rentinfo add constraint FK_rentinfo_tidforeign key (tid)references dbo.taxi(tid) alter table dbo.rentinfo add constraint FK_rentinfo_pidforeign key (pid)references dbo.userinfo(pid) alter table dbo.rentinfo add constraint FK_rentinfo_widforeign key (wid)references dbo.manager(wid) COMMIT TRANSACTION4. 数据库建立与备份,恢复在sql server 2005 建立一个数据库,名称为hello,执行以上建表语句即可。或者将hello.mdf,hello_log.ldf文件恢复。sp_attach_db 'hello', 'C:Program FilesMicrosoft SQL ServerMSSQLDatahello.mdf', 'C:Program FilesMicrosoft SQL ServerMSSQLDatahello_log.ldf' sp_attach_single_file_db 'hello','C:Program FilesMicrosoft SQL ServerMSSQLDatahello.mdf'备份:将hello数据库备份成hello.bak文件三 框架实现 系统总体框架实现如下图所示: 不同权限的用户登录超级管理员内部人员管理客户信息管理车辆信息管理普通管理员客户信息管理车辆信息管理客户个人信息浏览车辆信息浏览租车信息浏览财务信息管理财务信息管理以下是各模块的子功能截图:登录模块截图: 超级管理员页面截图:普通管理员页面截图:员工信息管理页面截图:员工 信息管理(单表查询)员工业绩查询(多表查询)增加员工(单表插入数据)修改个人密码客户信息管理:交易信息查询(多表查询)客户信息查询车辆信息管理:新增车辆信息车辆信息查询财务信息查询:数据操作实现方法: 定义一个类DataManager,在每个jsp页面中实例化这个类,并调用它的某个方法,完成数据库的连接,数据查询,删除,及修改操作。程序示例:如check.jsp里面可以验证用户登录信息,并转向不同页面。DataManager dm = new DataManager();/实例化DataManager类ResultSet rs = null;if (type = 1) /如果是以客户身份登录String sql = "select * from userinfo where username='" + username+ "'" + " and password = '" + password + "'"rs = dm.getResult(sql);/由用户名和密码获取记录if (rs.next() /如果记录不为空,表明该客户存在String pid = rs.getString("pid");/保存该用户信息session.setAttribute("type", "1");session.setAttribute("pid", pid);session.setAttribute("username", username);response.sendRedirect("user.jsp");/转向客户页面 else /转向管理员页面,以下与上面if语句类似。String sql = "select * from manager where username='"+ username + "'" + " and password = '" + password+ "' and type ="+type;System.out.println(sql);rs = dm.getResult(sql);if (rs.next() String wid = rs.getString("wid");session.setAttribute("type", t);session.setAttribute("wid", wid);session.setAttribute("username", username);response.sendRedirect("manager.jsp");此外,系统具有良好的安全性,对每个页面都有良好的保护措施,如manashare.jsp,usershar.jsp,通过session验证用户有无权限进入该页面,否则跳转到login.jsp页面,重新登录。四 程序设计 1.含有表单的jsp页面可以通过设置隐藏域的值来提交到本页面,其程序流程如下:开始获得隐藏域变量的值为空?表单的填写跳转到本页显示表单提交结果结束YN2.财务管理中有个导出execl报表的功能,其实现如下: 从网上下载一个jxl.jar包,该jar包支持生成execl文件的操作,然后建立一个专门的类,用于生成execl,该类源码如下:package my.pkgs;import java.io.*; import jxl.*; /jxl.jar里面的类库import jxl.write.*; import java.sql.*;public class CreateXLS public String create(ResultSet rs,String filename) tryFile f = new File(filename);boolean exist = f.exists();WritableWorkbook book = Workbook.createWorkbook(new File(filename);/生成名为“第一页”的工作表,参数0表示这是第一页 WritableSheet sheet = book.createSheet("第一页", 0);/在Label对象的构造子中指名单元格位置是第一列第一行(0,0) /以及单元格内容为test Label label0 = new Label(0, 0, "交易号");Label label1 = new Label(1, 0, "经手人员");Label label2 = new Label(2, 0, "客户证号");Label label3 = new Label(3, 0, "车辆号码");Label label4 = new Label(4, 0, "押金(元)");Label label5 = new Label(5, 0, "返还金额(元)");Label label6 = new Label(6, 0, "破坏情况");Label label7 = new Label(7, 0, "开始时间");Label label8 = new Label(8, 0, "实收金额(元)");sheet.addCell(label0);sheet.addCell(label1);sheet.addCell(label2);sheet.addCell(label3);sheet.addCell(label4);sheet.addCell(label5);sheet.addCell(label6);sheet.addCell(label7);sheet.addCell(label8);int i = 1;while (rs.next() jxl.write.Number label01 = new jxl.write.Number(0,i,rs.getInt(1);Label label11 = new Label(1, i, rs.getString(2);Label label21 = new Label(2, i, rs.getString(3);Label label31 = new Label(3, i, rs.getString(4);jxl.write.Number label41 = new jxl.write.Number(4, i, rs.getInt(5);jxl.write.Number label51 = new jxl.write.Number(5, i, rs.getInt(6);Label label61 = new Label(6, i, rs.getString(8);Label label71= new Label(7, i, rs.getInt(9) + "-"+ rs.getInt(10) + "-" + rs.getInt(11);jxl.write.Number label81 = new jxl.write.Number(8, i, rs.getInt(5)- rs.getInt(6);sheet.addCell(label01);sheet.addCell(label11);sheet.addCell(label21);sheet.addCell(label31);sheet.addCell(label41);sheet.addCell(label51);sheet.addCell(label61);sheet.addCell(label71);sheet.addCell(label81); i+;book.write(); book.close(); catch (Exception e) e.printStackTrace();return "ok" /测试creat方法 public static void main(String arg) throws SQLException CreateXLS c = new CreateXLS(); DataManager dm = new DataManager();String sql = "select * from rentinfo where outyear =" + 2009+ " and state='交易完成'"System.out.println(sql);ResultSet rs = dm.getResult(sql);c.create(rs, "c:3.xls"); 在jsp页面中调用该类方法既能生成Exel文件,源码如下: /该文件名按apache tomcat 安装目录而定String filename = "C:/Program Files/Apache Software Foundation/Tomcat 5.5/webapps/COURSEPROJECT/execls/"+ year + "-" + month + ".xls"CreateXLS cxls = new CreateXLS();cxls.create(rss, filename);3.用到了数据库知识里面的触发器,该触发器用于新增交易信息时,sql语句如下:SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TRIGGER rent1on rentinfo AFTER insertAS BEGIN update taxi set taxi.state = i.state, taxi.year = i.outyear, taxi.month = i.outmonth, taxi.day = i.outday, taxi.time = i.time from taxi t,Inserted i where t.tid = i.tid SET NOCOUNT ON;ENDGO五 总结 本次实验的最大收获就是真正写了个关于数据库的软件。数据库无论在现在各类软件中都有涉及,所以数据库对于计算机从业者来说是一门必须掌握的课程。本次试验只能说是初步了解了数据库编程的一些知识,许多高深的数据库知识如sql优化都未能研究深入。 其次是对jsp编程有了一定得了解。因为是首次学习jsp编程,没有用到javabean,更不用说struts,hibernate,spring框架,所用到的技术非常简单,属于“菜鸟级“,不过,打下了web编程的基础,相信以后会对web开发更有兴趣。 最后,对软件工程的知识有了一定了解。本次试验成果可以说是一个软件(质量暂且不论),软件的完成需要固定的几个步骤:需求分析,概念设计,编码,测试等等,经过本次尝试,终于知道了需求分析的重要性,它是整个软件的基础,影响到软件的功能是否完善等等,所以需求分析一定要到位。还有测试,测试用例一定要全面,否则,功能实现就会有缺陷。 以上就是本次实验的心得体会。

    注意事项

    本文(数据库课程设计报告(汽车租赁管理系统).docx)为本站会员(赵**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开