汽车租赁数据库设计.doc
《汽车租赁数据库设计.doc》由会员分享,可在线阅读,更多相关《汽车租赁数据库设计.doc(21页珍藏版)》请在咨信网上搜索。
(完整word版)汽车租赁数据库设计 学 号: 课 程 设 计 题 目 汽车租赁数据库设计 学 院 计算机 专 业 班 级 姓 名 指导教师 唐祖锴 2011 年 1 月 10 日 课程设计任务书 学生姓名: 赵中祥 专业班级: 指导教师: 工作单位: 计算机学院 题目:汽车租赁数据库设计 初始条件: 中兴公司是一家长途汽车出租公司,需要处理如下信息: l 租赁业务(发票号、日期、牌照号、地点、往返里程、行驶时间、客户号、司机号) l 汽车(注册号码、汽车型号、购入日期、价格、维修日期、运行功利、运行小时、租金率) l 司机(司机号、姓名、参加工作年月、基本工资) l 客户(客户号、客户姓名、客户单位、客户电话、客户地址、邮编) 公司需要时刻掌握汽车和司机的状态,尽量满足客户的租车需求。 要求完成的主要任务: 1. 根据上述的初始条件,进行调查分析。设计一个汽车租赁数据库,DBMS可选Ms SQL Server、Access、VFP等。 2. 完成课程设计说明书,其格式遵守学校今年的新规定。主要内容包括:需求分析,概念设计,逻辑设计,物理实现等。 3. 基于该数据库,最好实现一个或多个应用程序(自己确定功能),程序设计语言(工具)任选。这一项是选作,不作硬性要求。 时间安排: 本学期第18周: 1. 消化资料、系统调查 1天 2. 系统分析 1天 3. 总体设计,实施计划 2天 4. 撰写报告 1天 指导教师签名: 年 月 日 系主任(或责任教师)签名: 年 月 日 汽车租赁数据库设计 一. 摘要 伴随着社会的发展,需要记录处理的事物也越来越多。这就使得数据库在各个领域都得到了极大地应用。同样,汽车租赁行业要想向现代化发展,必然需要采用一种现代化的管理方式。如此便可以扩大行业的服务对象范围及领域,建立与现代化汽车社会相适应的专业化、网络化汽车租赁特许经营服务体系,使汽车租凭在中国有序地发展起来。如何找到一种现代化的管理方式呢?我们可以建立一个系统,使得汽车租赁公司或企业可以在这个系统中管理整个公司不同店面的物流、资金流和人事流。汽车租赁数据库系统是一款专用于汽车租赁行业的信息化管理软件。该软件按照汽车租赁的实际业务流程,结合了租赁行业实际运营特点,能够很好的满足汽车租赁行业的信息化需求。通过本系统租赁公司可以时刻掌握公司内部汽车和司机的状态,来尽量满足客户的租车需求。 二. 需求分析 中兴公司是一家长途汽车出租公司,需要处理如下信息: l 租赁业务(发票号、日期、牌照号、地点、往返里程、行驶时间、客户号、司机号) l 汽车(注册号码、汽车型号、购入日期、价格、维修日期、运行功利、运行小时、租金率) l 司机(司机号、姓名、参加工作年月、基本工资) l 客户(客户号、客户姓名、客户单位、客户电话、客户地址、邮编) 公司需要时刻掌握汽车和司机的状态,尽量满足客户的租车需求。 1. 处理订单的流程图: 客户申请出租公司查看是否有空闲司机和空闲汽车如果有则为用 户安排汽车和司机为客户服务以及生成发票结账处理更新数 据库结束。 其具体流程图如下: 当客户发出租车需求后,公司便从数据库相应数据表项中读取汽车信息和司机信息进行客户需求处理,其中汽车信息包括:注册号码、汽车型号、购入日期、价格、维修日期、运行功利、运行小时、租金率;司机信息包括:司机号、姓名、参加工作年月、基本工资。如果有空闲汽车和司机,那么便给客户进行汽车和司机的分配工作。分配成功后便根据数据库相应数据表项中的汽车信息和租赁信息开出发票,其中租赁业务信息包括:发票号、日期、牌照号、地点、往返里程、行驶时间、客户号。最后的发票若经双方核对后确认无误的话,便进行结账处理。 2.该系统应具有的功能 (1) 查询功能 为了刻掌握汽车和司机的状态,尽量满足客户的租车需求,该系统至少应该满足三个查询功能。 1)查询剩余空闲汽车 2)查询剩余空闲司机 3)查询正在执行任务的司机和汽车 (2) 添加功能 在建立好该系统后,由于公司或企业不断变动,可能会增加部分新的汽车和司机。并且接受的任务数目也可能增加(涉及发票的增加)。所以需要有添加功能。 (3) 删除功能 同理,公司或企业不断变动,可能会有部分汽车中途淘汰或者司机离职,某些订单也许会取消或者该订单已完成。此时就用到了删除功能。 (4)保存功能 每次对数据库进行修改后需要进行保存。所以需要有保存功能。 3.数据字典 经分析结合题目要求可知要用到四个表:租赁业务(发票),汽车,司机,客户。数据结构的定义如下: 数据结构的定义 数据结构名 含义说明 组成 租赁业务 定义了与租赁业务相关的信息 发票号、日期、牌照号、地点、往返里程、行驶时间、客户号、司机号 汽车 定义了与汽车相关的信息 注册号码、汽车型号、购入日期、价格、维修日期、运行功利、运行小时、租金率 司机 定义了与司机相关的信息 司机号、姓名、参加工作年月、基本工资 客户 定义了与客户相关的信息 客户号、客户姓名、客户单位、客户电话、客户地址、邮编 三.概念设计 根据业务流程及数据结构的定义设计E-R图如下: 1.局部E-R图 汽车E-R图 客户E-R图 司机E-R图 2.基本E-R图 注: 由于司机,客户,汽车的属性在部分E-R图中已有,这里就不再表示了。 租赁业务为一个关系。 1) 一个租赁业务中一个司机可以对应多个汽车,一个汽车也可以对应多个司机,即司机和 汽车为多对多的关系。 2) 一个租赁业务中一个客户可以对应多个汽车,一个汽车也可以对应多个客户,即客户和汽车为多对多的关系。 3) 一个租赁业务中一个客户可以对应多个司机,一个司机也可以对应多个客户,即司机和客户为多对多的关系。 四.逻辑设计 1.E-R图向关系模型转换 将(三)中基本E-R图向转换成关系模型 (1)客户(客户号、客户姓名、客户单位、客户电话、客户地址、邮编) (2) 司机(司机号、姓名、参加工作年月、基本工资) (3) 汽车(注册号码、汽车型号、购入日期、价格、维修日期、运行功利、运行小时、租金率) (4) 租赁业务(发票号、日期、牌照号、地点、往返里程、行驶时间、客户号、司机号) 2.数据模型的优化 将转化的关系模式进行优化,最终达到第三范式。为了提高数据库应用系统的性能,还应该根据应用需要适当的修改、调整关系模式,这就是数据模型的优化。规范化理论为数据库设计人员判断关系模式优劣提供了理论标准,可用来预测模式可能出现的问题,使数据库设计工作有了严格的理论基础。同时为了规范化,我们把表名及表项内容转化为易于理解的英语或英语缩写。 经优化得: 汽车 Car(Reg_id[char(10)],Car_mod[char(10)],Buy_date[char(20)],Price[char(10)],M_date[char(30)],Run_uti[char(20)],Run_hour[char(10)],R_rate[char(10)] 客户 Custom(C_id[char(10)],C_name[char(10)],C_unit[char(30)],C_tele[char(20)],C_addr[char(30)],Z_code[char(10)]). 司机 Driv(D_id[char(10),D_name[char(10)],Job_date[char(30)],B_wage[char(10)] 租赁业务 Inv(Invoice_id[char(20)],inv_date[char(20)],Lp_num[char(10)],Adrr[char(30)],Rt_mei[char(10)],Time[char(10)],C_id[char(20)],D_id[char(20)]) 3.数据库的结构 根据各表功能及各字段存储信息形式确定各表结构: 1) 汽车 字段名 数据类型 长度 约束 描述 Reg_id char 10 主键 注册号码 Car_mod char 10 null 汽车类型 Buy_date char 20 null 购入日期 Price char 10 null 价格 M_date char 30 null 维修日期 Run_uti char 20 null 运行功利 R_rate char 10 null 租金率 Run_hour char 10 null 运行小时 2) 客户 字段号 数据类型 长度 约束 描述 C_id char 10 主键 客户号 C_name char 10 null 客户姓名 C_unit char 30 null 客户单位 C_tele char 20 null 客户电话 C_addr char 30 null 客户地址 Z_code char 10 null 邮政编码 3)司机 字段号 数据类型 长度 约束 描述 D_id char 10 主键 司机号 D_name char 10 null 司机姓名 ob_date char 30 null 参加工作年月 B_wage char 10 null 基本工资 4) 租赁业务 字段号 数据类型 长度 约束 描述 Invoice_id char 20 主键 发票号 inv_date char 20 null 日期 Lp_num char 10 外键 牌照号 Adrr char 30 null 地点 Rt_mei char 10 null 往返里程 Time char 10 null 行驶里程 C_id char 20 外键 客户号 D_id char 20 外键 司机号 五.物理实现 1.数据表框架 1) 创建表 . CREATE TABLE Cars ( Reg_id char(10) primary key, Car_mod char(10), Buy_date char(20), Price char(10), M_date char(30), Run_uti char(20), Run_hour char(10), R_rate char(10), ); .CREATE TABLE Custom ( C_id char(10) primary key, C_name char(10), C_unit char(30), C_tele char(20), C_addr char(30), Z_code char(10), ) .CREATE TABLE Driv ( D_id char(10) primary key, D_name char(10), Job_date char(30), B_wage char(10), ) .CREATE TABLE Inv ( Invoice_id char(20) primary key, inv_date char(20), Lp_num char(10) not null, Addr char(30), Rt_mei char(10), Time char(10), C_id char(20) not null, D_id char(20) not null, ) 2.向表中插入部分数据 有两种方法 1) 用SQl语句 INSERT INTO <表名> [属性列1,属性列2,.........] VALUES (常量1,常量2,.........) 2) 直接在数据库的表中插入 为了简洁操作采用第二种方法。 .汽车 .客户 .司机 .租赁业务 3.用C#与数据库连接 本项目中使用SqlConnection对象与SQl Server进行连接,程序员需要制定一个连接字符串,其格式由一系列关键字和值组成,各关键字之间用分号隔开,关键自不区分大小写。 在本次项目中系统自动生成了一个连接字符串CarRentalConnectionString。 对数据库数据的操作有两种方法。 在保持连接的情况下操作数据的一般步骤是: 1) 创建SqlConnection连接 2) 创建SqlCommand实例 3) 打开连接 4) 执行命令 5) 关闭连接 在断开连接方式操作数据库的一般步骤是: 1) 创建SqlConnection实例 2)创建SqlDataAdapter的实例 3)创建DataSet的实例 4)使用Fill方法将数据库中的表填充到DataSet的表中 5)利用DataGirdView或者其他控件编辑或显示数据 6)根据需要使用Update方法更新数据库 在本项目中采用的时断开连接的方式。 int index = listBox1.SelectedIndex; selectedTable = carRentalDataSet1.Tables[index]; string queryString = “SQL语句 ”+ selectedTable.TableName adapter=newSqlDataAdapter(queryString, Properties.settings.Defaut.CarRentalConnectionString); SqlCommandBuilder builder = new SqlCommandBuilder(adapter); adapter.InsertCommand = builder.GetInsertCommand(); adapter.DeleteCommand = builder.GetDeleteCommand(); adapter.UpdateCommand = builder.GetUpdateCommand(); adapter.Fill(selectedTable); adapter.Fill(selectedTable); bindingSource1.DataSource = selectedTable; dataGridView1.DataSource = bindingSource1; SqlDataAdapter对象通过SelectedCommand,InsertCommand,UpdateCommand和DeleteCommand属性为后台数据库提供对应的操作命令,并传递需要的参数。一般情况下,只需要向SqlDataAdapter对象提供SELECT语句和连接字符串参数,然后利用SqlCommandBuilder对象让其自动生成InsertCommand,updateCommand和DeleteCommand。 本系统的主界面如下: 1) 添加 点击添加即可在相应的表中添加数据,点保存即可保存。 2) 删除 选中数据行,点击删除,再点保存即可删除。 3) 查看剩余空闲司机 4) 查看剩余可用司机 5)查看正在执行的任务 六. 小结 1.特点 本系统能够使公司时刻掌握汽车和司机的情况。当有客户申请租赁业务时能够即时查看汽车和司机状况,实时为客户安排租赁业务。并且当汽车,司机,订单情况变化时,能够实时更改数据库的内容。 2.不足 本系统仅仅实现了基本的数据管理模块。1. 客户信息管理 2. 汽车信息管理 3. 租赁信息管理 4. 司机信息管理。没有注意租赁业务的过程中遇到的问题。比如当汽车租赁过程中汽车出现故障,没有为客户安排第二套方案,当出现交通事故时或超时的情况时,如何进行赔偿,如何查询历史记录等等一些问题。总之来说,此系统还有很多方面有待完善。 3.体会 通过将近一星期的训练,最终完成了此系统。借此训练使我进一步实践了书上所学的数据库设计的一般步骤。 “纸上得来终觉浅,绝知此事要躬行”按照书上数据库设计的一般步骤:1.需求分析2.概念结构设计3.逻辑结构设计4.物理结构设计5.数据库的建立与测试6.数据库的运行与维护 完成了此系统—— 使我体会到了这种设计方法的科学性。它不仅能使我们在设计数据库的过程中比较严谨的实现所需要的功能,还进一步照顾到后续数据库的扩充与改进。同时这相对前面的实验来说,这次得到的训练更全面——从需求分析到数据库实施都得到了训练。再者,在本次训练过程中,对Sql语句的理解和巩固有了一定的提高,这是对数据库知识学习的第一个较全面的训练。 在这次训练中,不仅仅巩固了数据库知识,还进一步学习了前面学过的C#语言的一些关于数据库方面的知识。前面学习了一些基本的C#知识。借此机会学习了数据库怎样与C#连接,以及怎样在应用程序中对数据库进行操作。感觉通过对这些的学习使自己受益匪浅。 最后,尽管任务书中的功能基本实现了,但由于自己对数据库的学习不够深刻以及数据库与应用程序怎样连接也是刚刚学习的,所以导致一些方面做得不够完善。还有许多更深的理论,方法需要学习。我们要认清自己的不足,在不足的基础上做进一步的学习。 本科生课程设计成绩评定表 序号 评分项目 满分 实得分 1 学习态度认真、遵守纪律 10 2 设计分析合理性 10 3 设计方案正确性、可行性、创造性 20 4 设计结果正确性 40 5 设计报告的规范性 10 6 设计验收 10 总得分/等级 评语: 注:最终成绩以五级分制记。优(90-100分)、良(80-89分)、中(70-79分)、 及格(60-69分)、60分以下为不及格 指导教师签名: 20 年 月 日- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汽车 租赁 数据库 设计
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文