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

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

举报
开通vip

数据库课程设计报告(汽车租赁管理系统)1. 系统简介 本系统为汽车租赁系统,采用B/S实现。可以实现不同权限的浏览和管理。管理员可以用于汽车租赁公司对汽车租赁事务的管理,包括新增、删除车辆记录,新增、删除用户记录,新增、删除租赁信息记录,新增、删除管理人员记录以及会员设置,客户则可以浏览车辆信息和个人的租车信息。 主要技术:jsp 运行环境:winows os+apache tomcat5.5+sql server 2005+jdk1.6 开发软件:myeclipse6.0.1 开源软件:jxl.jar,sqljdbc4.jar 2...

数据库课程设计报告(汽车租赁管理系统)
1. 系统简介 本系统为汽车租赁系统,采用B/S实现。可以实现不同权限的浏览和管理。管理员可以用于汽车租赁公司对汽车租赁事务的管理,包括新增、删除车辆 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 ,新增、删除用户记录,新增、删除租赁信息记录,新增、删除管理人员记录以及会员设置,客户则可以浏览车辆信息和个人的租车信息。 主要技术:jsp 运行环境:winows os+apache tomcat5.5+sql server 2005+jdk1.6 开发软件:myeclipse6.0.1 开源软件:jxl.jar,sqljdbc4.jar 2. 数据库设计 1. 需求分析 因为客户只能亲自到汽车租赁公司去注册或租赁车辆,因而,两者权限分配如下: 汽车公司方面:能够对车辆,租赁信息和用户信息进行管理。超级管理员还可以对公司内部人员的信息进行管理 客户方面:只能浏览车辆信息和个人用户信息及个人租赁信息。 数据流图如下: 2. 概念设计 ER图如下所示: 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 TRANSACTION alter table dbo.rentinfo add constraint FK_rentinfo_tid foreign key (tid) references dbo.taxi([tid]) alter table dbo.rentinfo add constraint FK_rentinfo_pid foreign key (pid) references dbo.userinfo([pid]) alter table dbo.rentinfo add constraint FK_rentinfo_wid foreign key (wid) references dbo.manager([wid]) COMMIT TRANSACTION 4. 数据库建立与备份,恢复 在sql server 2005 建立一个数据库,名称为hello,执行以上建表语句即可。 或者将hello.mdf,hello_log.ldf文件恢复。 sp_attach_db 'hello', 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\hello.mdf', 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\hello_log.ldf' sp_attach_single_file_db 'hello','C:\Program Files\Microsoft SQL Server\MSSQL\Data\hello.mdf' 备份:将hello数据库备份成hello.bak文件 3. 框架实现 系统总体框架实现如下图所示: 以下是各模块的子功能截图: 登录模块截图: 超级管理员页面截图: 普通管理员页面截图: 员工信息管理页面截图: 员工 信息管理(单表查询) 员工业绩查询(多表查询) 增加员工(单表插入数据) 修改个人密码 客户信息管理: 交易信息查询(多表查询) 客户信息查询 车辆信息管理: 新增车辆信息 车辆信息查询 财务信息查询: 数据操作实现方法: 定义一个类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页面,重新登录。 4. 程序设计 1.含有表单的jsp页面可以通过设置隐藏域的值来提交到本页面,其程序 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 如下: 2.财务管理中有个导出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) { try{ File 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 ON GO SET QUOTED_IDENTIFIER ON GO CREATE TRIGGER rent1 on rentinfo AFTER insert AS 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; END GO 查询用户李明的租车记录 Select t. type, t.state, t. year, t. month, t.day, t.time, t.pay From taxi0303 t join rentinfo0303 r on r.wid=t.wid Join userinfo0303 u on r.pid=u.pid Where u.name=’王充’ 5. 总结 本次实验的最大收获就是真正写了个关于数据库的软件。数据库无论在现在各类软件中都有涉及,所以数据库对于计算机从业者来说是一门必须掌握的课程。本次试验只能说是初步了解了数据库编程的一些知识,许多高深的数据库知识如sql优化都未能研究深入。 其次是对jsp编程有了一定得了解。因为是首次学习jsp编程,没有用到javabean,更不用说struts,hibernate,spring框架,所用到的技术非常简单,属于“菜鸟级“,不过,打下了web编程的基础,相信以后会对web开发更有兴趣。 最后,对软件工程的知识有了一定了解。本次试验成果可以说是一个软件(质量暂且不论),软件的完成需要固定的几个步骤:需求分析,概念设计,编码,测试等等,经过本次尝试,终于知道了需求分析的重要性,它是整个软件的基础,影响到软件的功能是否完善等等,所以需求分析一定要到位。还有测试,测试用例一定要全面,否则,功能实现就会有缺陷。 以上就是本次实验的心得体会。 管理员 客户 新增客户 个人信息 用户信息文件 车辆 新增交易 车辆信息 交易信息文件 个人信息 新增车辆 车辆信息文件 新增 管理员 内部人员 管理人员信息文件 管理员 管理车辆 车辆 租用车辆 客 户 1 N 管理用户 工号 用户名 类型 密码 编号 类型 状态 起租时间 单价 租用时间 编号 客户编号 车辆编号 经手人员 起租时间 押金 租用时间 返回金额 状态 证件号 用户名 会员类型 密码 M N n m 信誉度 不同权限的用户登录 超级管理员 内部人员 管理 客户信息 管理 车辆信息 管理 普通管理员 客户信息 管理 车辆信息 管理 客户 个人信息 浏览 车辆信息 浏览 租车信息 浏览 财务信息 管理 财务信息 管理 开始 获得隐藏域变量的值 为空? 表单的填写 跳转到本页 显示表单提交结果 结束 Y N
本文档为【数据库课程设计报告(汽车租赁管理系统)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_039385
暂无简介~
格式:doc
大小:470KB
软件:Word
页数:20
分类:企业经营
上传时间:2012-06-18
浏览量:394