• 724.00 KB
  • 15页

数据库实训项目报告-交警队车辆管理系统

  • 15页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'《数据库实训项目报告》班级:姓名:学号:完成日期:2011-6-26 (1)实训题目:《交警队车辆管理系统》(2)实训目的:通过对《数据库系统概论》这门课程的学习,学会建立一个比较复杂的数据库系统,可以实现最基本的各项操作,例如,利用SQ语言对基本数据的查询,删除,修改以及合理的创建触发器和存贮过程。在时间允许的情况下,试着做一前台,能够使其链接至数据库并能实现对基本数据的录入,删除和修改,对数据库涉及到的一系列内容进一步去认识与了解,能够在以后的工作中灵活运用。(3)实训要求:1、用MicrosoftSQLServer2000中建立所要求的数据库2、用SQL语言实现数据库中数据的查询、删除、修改等操作3、用VisualStudio2008设计并编程实现该数据库的前台操作 (4)正文:①需求分析:随着社会经济的快速发展,人们的生活水平在逐步提高,因此对物质的需求也随之增长。汽车则成为人们出行、旅游的主要代步工具,与此同时给各行政机关单位(交警队)带来了不少新的问题,例如:意外交通事故的发生、车辆的违章、车辆的盗窃犯罪等等。为了方便各行政机关单位的管理,特开发出《交警队车辆管理系统》,它可以帮交警队所有执法人员能够轻松的去工作,高质量的完成任务,其该系统所具有功能如下:(1)录入信息当用户购买车辆后,可以实现车辆,驾驶员等所有的相关信息,按照某个特定的顺序备录在案。(2)修改信息当用户因某种原因将其车辆转让、出售给他人时,可以更改其驾驶员的所有信息。(3)删除信息由于意外事故而造成车辆报废或是驾驶员死亡,可以将关于车辆驾信息或驶员信息删除掉。(4)查询信息车辆的被盗或是利用该车辆犯罪的,可以查询出该车的驾驶员所有信息,能够帮助公安机关破案。(5)统计信息能够实现在某一时间或某一区域内的车辆违章、事故的数量等信息,作为文件上报给上级部门。②概要设计:交警队车辆管理系统数据流图③详细设计: 数据模型:驾驶员(档案号、姓名、性别、出生日期、身份证号、准驾车型、住址、联系电话、累计积分)汽车(车主姓名、车牌号码、发动机号、车辆名称、车辆外观、购车日期、购车时间、上户地点、上户时间、车辆用途、耗油量、出厂日期、报废日期)保险(车牌号码、车主姓名、投保日期、保险类型、保险金额、终止日期、保险公司、经手人)违章/事故(车牌号码、发生时间、发生地点、事故代码、处理部门)处罚条例(事故代码、事故原因、刑事责任、罚款金额)积分(积分代码、积分、扣分原因)统计(汽车总量、事故总量、罚款总金额、死亡总人数)注:单下划线为主键;双下划线为外键④系统实现:1、创建driver表createtabledriver(ddaIDintprimarykey,/*档案编号*/dnamechar(10),/*车主姓名*/dsexchar(2),/*车主性别*/dbirthdatetime,/*出生日期*/dIDchar(50)foreignkey,/*身份证号*/ dchxchar(3),/*准驾车型*/daddrchar(50),/*车主住址*/dtelint,/*联系电话*/zjifenint/*累计积分*/);1、创建car表:createtablecar(carnochar(20)foreignkey,/*车牌号码*/dnamechar(10),/*车主姓名*/cmaIDchar(20)primarykey,/*发动机号*/cnamechar(20),/*车辆名称*/ccolorchar(10),/*车辆外观*/cbuytdatetime,/*购车日期*/ccostchar(20),/*购车价格*/caddrchar(20),/*上户地点*/cshahutdatetime,/*上户日期*/cyongtuchar(10),/*车辆用途*/chaoyoufloat,/*耗油量*/cshechadatetime,/*出厂日期*/cbaofeidatetime/*报废日期*/);2、创建baoxian表:createtablebaoxian(carnochar(20)primarykey,/*车牌号码*/dnamechar(10),/*车主姓名*/toubtdatetime,/*投保日期*/typechar(10),/*投保类型*/baomonchar(20),/*投保金额*/deadldatetime,/*保险终止日期*/bnamechar(50),/*保险公司*/ jsnamechar(10)/*经手人姓名*/);1、创建accident表:createtableaccident(carnochar(20)primarykey,/*车牌号码*/acctimedatetime,/*违章/事故时间*/accaddrchar(50),/*违章/事故地点*/accIDchar(30)foreignkey,/*违章/事故代码*/accdeptchar(20)/*处理部门*/);2、创建daima表:createtabledaima(accIDchar(20)primarykey,/*事故代码*/acccasechar(300),/*事故原因*/acccrimchar(100),/*刑事责任*/accmonechar(20)/*罚款金额*/); 1、创建jifen表:createtablejifen(jfedaimachar(20)primarykey,/*积分代码*/jifenint,/*积分*/kccasechar(300)/*扣分原因*/);2、创建total表:createtabletotal(carcountchar(60),/*汽车总量*/acccountchar(20),/*事故总量*/kuacountchar(20),/*罚款总金额*/ diecountchar(60),/*死亡总人数*/);⑤系统测试:1、车牌号为“陕C84261”的汽车发生重大交通事故,查询该车的所属者姓名,并通过电话联系其家属。selectdriver.name,daddr,dtelfromdriver,carwherecarno=’陕C84261’anddriver.dname=car.name;2、李东先生买了最近一辆汽车,要求将其他本人的基本信息存入档案、由于搬家的原因需更改相应的地址、最后因一场车祸而不幸身亡则删除其信息。(1)insertintodriver(ddaID,dname,dsex,dbirth,dID,dchx,daddr,dtel)values("","李东","男","1985-03-25","","A","长安区官堰村","");(2)updatedriversetdaddr=’西安交通大学’whereddaID=’’;(3)deletefromdriverwhereddaID=""; 3、查询关于车牌号为陕AT7694的所有违章/事故信息。(accident与daima表的链接)selectacctime,accaddr,acccase,acccrim,accmone,accdeptfromaccident,daimawherecarno="陕AT7694"andaccident.accID=daima.accID;4、档案号为的司机因在高速公路上倒车、逆行、穿越中央分隔带掉头的原因而被扣除相应的积分,更新driver表的累计积分。updatedriversetzjifen=zjifen-jifenfromjifenwhereddaID=""andjfdaima=""5、建立出生于1987年的驾驶员的视图createviewIS_driveras selectdname,dsexfromdriverwheredbirth>="1987-1-1"anddbirth<="1987-12-30"6、建立驾驶黑色汽车的驾驶员姓名及身份证号的视图createviewGG_carasselectdriver.name,dID,ccolorfromdriver,carwheredriver.dname=car.dnameandccolor="黑色";7、创建一个触发器,可以实现当某用户购买一辆新车时,录入该信息后,统计表中的汽车总量数量会自动加一。createtriggerIntotaloncarforinsertasdeclare@qichechar(6)select@qiche=carnofrominsertedupdatetotalsetcarcount=carcount+18、创建一触发器,可以实现当某一司机因重大交通事故而死亡的,删除driver表中的相关信息,其total表中死亡人数自动加一。createtriggerAAA ondriverfordeleteasdeclare@renintselect@ren=ddaIDfromdeletedupdatetotalsetdiecount=diecount+1删除档案号为的驾驶员信息:total的结果:9、创建一个BBC,用于获取指定车辆的车辆信息Ifexists(selectnamefromsysobjectswherename="BBC"andtype="p")dropprocedureBBCgocreateprocedureBBC@chepaichar(10)asselect*fromdriverwherecarno=@chepaigoexecBBC"空" 10、创建一个存储过程CCD,用于获取给定驾驶员积分是否达到合格的标准。Ifexists(selectnamefromsysobjectswherename="CCD"andtype="p")dropprocedureCCDgocreateprocedureCCD@xingmingchar(20)asdeclare@jifenintselect@jifen=zjifenfromdriver,carwheredriver.dname=@xingminganddriver.dname=car.dnameif@jifen<=12print"及格"elseprint"不及格"execCCD"安虎"11、创建一存储过程,用于提醒保险即将到期的用户是否继续续险。Ifexists(selectnamefromsysobjectswherename="ABC"andtype="p")dropprocedureABCgocreateprocedureABC@chepaichar(20)asdeclare@riqidatetimeselect@riqi=deadlfrombaoxianwherecarno=@chepaiif@riqi>2012/5/3print"您的保险已到期,确定是否及时续险"elseprint"您的保险尚未到期"execABC"陕K84611" 12、创建一存储过程,获取所有驾驶员的平均积分,以评估驾驶员的违章状况。Ifexists(selectnamefromsysobjectswherename="ACC"andtype="p")dropprocedureACCgocreateprocedureACCasselectavg(zjifen)fromdriverexecACC修改积分后的driver表:获取结果:⑥总结: 经过老师在实训中对本系统的仔细分析,以及同学的帮助,同事翻阅了大量的书本和网上资料,终于将其《交警对车辆管理系统》的后台部分完成,其该系统结构清晰,可使其执法人员在短暂的时间内掌握其各种操作,提高工作效率。但它还具有一定的局限性,例如属性驾驶员照片、车辆照片等都未能在此实现,因此,有许多地方还需要进一步的分析改进,望老师能够见谅,在以后的数据库系统设计过程中,自己会考虑周全,不断的完善系统,使用户百分满意,更能方便现今的生活。⑦参考文献:(1)《中华人民共和国道路交通安全法》(2)张海藩《软件工程导论》第五版清华大学出版社(3)王珊、萨师煊《数据库系统概论》第四版高等教育出版社(4)张登辉、沙嘉祥《ASP.NET网络应用案例教程》北京大学出版社'