您好,欢迎访问三七文档
学号:课程设计题目汽车租赁数据库设计学院计算机专业班级姓名指导教师唐祖锴2011年1月10日课程设计任务书学生姓名:赵中祥专业班级:指导教师:工作单位:计算机学院题目:汽车租赁数据库设计初始条件:中兴公司是一家长途汽车出租公司,需要处理如下信息:租赁业务(发票号、日期、牌照号、地点、往返里程、行驶时间、客户号、司机号)汽车(注册号码、汽车型号、购入日期、价格、维修日期、运行功利、运行小时、租金率)司机(司机号、姓名、参加工作年月、基本工资)客户(客户号、客户姓名、客户单位、客户电话、客户地址、邮编)公司需要时刻掌握汽车和司机的状态,尽量满足客户的租车需求。要求完成的主要任务:1.根据上述的初始条件,进行调查分析。设计一个汽车租赁数据库,DBMS可选MsSQLServer、Access、VFP等。2.完成课程设计说明书,其格式遵守学校今年的新规定。主要内容包括:需求分析,概念设计,逻辑设计,物理实现等。3.基于该数据库,最好实现一个或多个应用程序(自己确定功能),程序设计语言(工具)任选。这一项是选作,不作硬性要求。时间安排:本学期第18周:1.消化资料、系统调查1天2.系统分析1天3.总体设计,实施计划2天4.撰写报告1天指导教师签名:年月日系主任(或责任教师)签名:年月日汽车租赁数据库设计一.摘要伴随着社会的发展,需要记录处理的事物也越来越多。这就使得数据库在各个领域都得到了极大地应用。同样,汽车租赁行业要想向现代化发展,必然需要采用一种现代化的管理方式。如此便可以扩大行业的服务对象范围及领域,建立与现代化汽车社会相适应的专业化、网络化汽车租赁特许经营服务体系,使汽车租凭在中国有序地发展起来。如何找到一种现代化的管理方式呢?我们可以建立一个系统,使得汽车租赁公司或企业可以在这个系统中管理整个公司不同店面的物流、资金流和人事流。汽车租赁数据库系统是一款专用于汽车租赁行业的信息化管理软件。该软件按照汽车租赁的实际业务流程,结合了租赁行业实际运营特点,能够很好的满足汽车租赁行业的信息化需求。通过本系统租赁公司可以时刻掌握公司内部汽车和司机的状态,来尽量满足客户的租车需求。二.需求分析中兴公司是一家长途汽车出租公司,需要处理如下信息:租赁业务(发票号、日期、牌照号、地点、往返里程、行驶时间、客户号、司机号)汽车(注册号码、汽车型号、购入日期、价格、维修日期、运行功利、运行小时、租金率)司机(司机号、姓名、参加工作年月、基本工资)客户(客户号、客户姓名、客户单位、客户电话、客户地址、邮编)公司需要时刻掌握汽车和司机的状态,尽量满足客户的租车需求。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_idchar10主键注册号码Car_modchar10null汽车类型Buy_datechar20null购入日期Pricechar10null价格M_datechar30null维修日期Run_utichar20null运行功利R_ratechar10null租金率Run_hourchar10null运行小时2)客户字段号数据类型长度约束描述C_idchar10主键客户号C_namechar10null客户姓名C_unitchar30null客户单位C_telechar20null客户电话C_addrchar30null客户地址Z_codechar10null邮政编码3)司机字段号数据类型长度约束描述D_idchar10主键司机号D_namechar10null司机姓名ob_datechar30null参加工作年月B_wagechar10null基本工资4)租赁业务字段号数据类型长度约束描述Invoice_idchar20主键发票号inv_datechar20null日期Lp_numchar10外键牌照号Adrrchar30null地点Rt_meichar10null往返里程Timechar10null行驶里程C_idchar20外键客户号D_idchar20外键司机号五.物理实现1.数据表框架1)创建表.CREATETABLECars(Reg_idchar(10)primarykey,Car_modchar(10),Buy_datechar(20),Pricechar(10),M_datechar(30),Run_utichar(20),Run_hourchar(10),R_ratechar(10),);.CREATETABLECustom(C_idchar(10)primarykey,C_namechar(10),C_unitchar(30),C_telechar(20),C_addrchar(30),Z_codechar(10),).CREATETABLEDriv(D_idchar(10)primarykey,D_namechar(10),Job_datechar(30),B_wagechar(10),).CREATETABLEInv(Invoice_idchar(20)primarykey,inv_datechar(20),Lp_numchar(10)notnull,Addrchar(30),Rt_meichar(10),Timechar(10),C_idchar(20)notnull,D_idchar(20)notnull,)2.向表中插入部分数据有两种方法1)用SQl语句INSERTINTO表名[属性列1,属性列2,.........]VALUES(常量1,常量2,.........)2)直接在数据库的表中插入为了简洁操作采用第二种方法。.汽车.客户.司机.租赁业务3.用C#与数据库连接本项目中使用SqlConnection对象与SQlServer进行连接,程序员需要制定一个连接字符串,其格式由一系列关键字和值组成,各关键字之间用分号隔开,关键自不区分大小写。在本次项目中系统自动生成了一个连接字符串CarRentalConnectionString。对数据库数据的操作有两种方法。在保持连接的情况下操作数据的一般步骤是:1)创建SqlConnection连接2)创建SqlCommand实例3)打开连接4)执行命令5)关闭连接在断开连接方式操作数据库的一般步骤是:1)创建SqlConnection实例2)创建SqlDataAdapter的实例3)创建DataSet的实例4)使用Fill方法将数据库中的表填充到DataSet的表中5)利用DataGirdView或者其他控件编辑或显示数据6)根据需要使用Update方法更新数据库在本项目中采用的时断开连接的方式。intindex=listBox1.SelectedIndex;selectedTable=carRentalDataSet1.Tables[index];stringqueryString=“SQL语句”+selectedTable.TableNameadapter=newSqlDataAdapter(queryString,Properties.settings.Defaut.CarRentalConnectionString);SqlCommandBuilderbuilder=newSqlCommandBuilder(adapter);adapter.InsertC
本文标题:汽车租赁数据库设计
链接地址:https://www.777doc.com/doc-5695359 .html