交警队车辆管理系统.docx
- 文档编号:24985166
- 上传时间:2023-06-03
- 格式:DOCX
- 页数:19
- 大小:633.16KB
交警队车辆管理系统.docx
《交警队车辆管理系统.docx》由会员分享,可在线阅读,更多相关《交警队车辆管理系统.docx(19页珍藏版)》请在冰豆网上搜索。
交警队车辆管理系统
《数据库实训项目报告》
班级:
112803
姓名:
党浩亮
学号:
080183
完成日期:
2011-6-26
(1)实训题目:
《交警队车辆管理系统》
(2)实训目的:
通过对《数据库系统概论》这门课程的学习,学会建立一个比较复杂的数据库系统,可以实现最基本的各项操作,例如,利用SQ语言对基本数据的查询,删除,修改以及合理的创建触发器和存贮过程。
在时间允许的情况下,试着做一前台,能够使其链接至数据库并能实现对基本数据的录入,删除和修改,对数据库涉及到的一系列内容进一步去认识与了解,能够在以后的工作中灵活运用。
(3)实训要求:
1、用MicrosoftSQL Server2000中建立所要求的数据库
2、用SQL语言实现数据库中数据的查询、删除、修改等操作
3、用VisualStudio2008设计并编程实现该数据库的前台操作
(4)正文:
1需求分析:
随着社会经济的快速发展,人们的生活水平在逐步提高,因此对物质的需求也随之增长。
汽车则成为人们出行、旅游的主要代步工具,与此同时给各行政机关单位(交警队)带来了不少新的问题,例如:
意外交通事故的发生、车辆的违章、车辆的盗窃犯罪等等。
为了方便各行政机关单位的管理,特开发出《交警队车辆管理系统》,它可以帮交警队所有执法人员能够轻松的去工作,高质量的完成任务,其该系统所具有功能如下:
(1)录入信息
当用户购买车辆后,可以实现车辆,驾驶员等所有的相关信息,按照某个特定的顺序备录在案。
(2)修改信息
当用户因某种原因将其车辆转让、出售给他人时,可以更改其驾驶员的所有信息。
(3)删除信息
由于意外事故而造成车辆报废或是驾驶员死亡,可以将关于车辆驾信息或驶员信息删除掉。
(4)查询信息
车辆的被盗或是利用该车辆犯罪的,可以查询出该车的驾驶员所有信息,能够帮助公安机关破案。
(5)统计信息
能够实现在某一时间或某一区域内的车辆违章、事故的数量等信息,作为文件上报给上级部门。
2概要设计:
交警队车辆管理系统数据流图
详细设计:
数据模型:
驾驶员 (档案号、姓名、性别、出生日期、身份证号、准驾车型、住址、联系电话、累计积分)
汽车(车主姓名、车牌号码、发动机号、车辆名称、车辆外观、购车日期、购车时间、上户地点、上户时间、车辆用途、耗油量、出厂日期、报废日期)
保险 (车牌号码、车主姓名、投保日期、保险类型、保险金额、终止日期、保险公司、经手人)
违章/事故(车牌号码、发生时间、发生地点、事故代码、处理部门)
处罚条例(事故代码、事故原因、刑事责任、罚款金额)
积分(积分代码、积分、扣分原因)
统计 (汽车总量、事故总量、罚款总金额、死亡总人数)
注:
单下划线为主键;双下划线为外键
④系统实现:
1、创建driver表
createtabledriver
(ddaIDint primarykey, /*档案编号*/
dnamechar(10), /*车主姓名*/
dsex char
(2), /*车主性别*/
dbirth datetime, /*出生日期*/
dIDchar(50)foreignkey, /*身份证号*/
dchx char(3), /*准驾车型*/
daddr char(50), /*车主住址*/
dtel int, /*联系电话*/
zjifen int / *累计积分*/
);
2、创建car表:
createtablecar
(carnochar(20) foreignkey, /*车牌号码*/
dname char(10), /*车主姓名*/
cmaIDchar(20) primarykey, /*发动机号*/
cnamechar(20), /*车辆名称*/
ccolorchar(10), /*车辆外观*/
cbuytdatetime, /*购车日期*/
ccostchar(20), /*购车价格*/
caddr char(20), /*上户地点*/
cshahutdatetime, /*上户日期*/
cyongtu char(10), /*车辆用途*/
chaoyoufloat, /*耗油量*/
cshechadatetime, /*出厂日期*/
cbaofeidatetime /*报废日期*/
);
3、创建baoxian表:
createtablebaoxian
(carno char(20) primarykey, /*车牌号码*/
dnamechar(10), /*车主姓名*/
toubt datetime, /*投保日期*/
typechar(10), /*投保类型*/
baomonchar(20), /*投保金额*/
deadldatetime, /*保险终止日期*/
bnamechar(50), /*保险公司*/
jsname char(10) /*经手人姓名*/
);
4、创建accident表:
create tableaccident
(carnochar(20)primarykey, /*车牌号码*/
acctimedatetime, /*违章/事故时间*/
accaddrchar(50), /*违章/事故地点*/
accIDchar(30)foreignkey,/*违章/事故代码*/
accdeptchar(20) /*处理部门*/
);
5、创建daima表:
create table daima
(accIDchar(20)primarykey, /*事故代码*/
acccase char(300), /*事故原因*/
acccrimchar(100), /*刑事责任*/
accmonechar(20) /*罚款金额*/
);
6、创建jifen表:
create table jifen
(jfedaimachar(20) primarykey, /*积分代码*/
jifen int, /*积分*/
kccasechar(300) /*扣分原因*/
);
7、创建total表:
createtabletotal
(carcount char(60), /*汽车总量*/
acccountchar(20), /*事故总量*/
kuacountchar(20), /*罚款总金额*/
diecountchar(60), /*死亡总人数*/
);
⑤系统测试:
1、车牌号为“陕C84261”的汽车发生重大交通事故,查询该车的所属者姓名,并通过电话联系其家属。
select driver.name,daddr,dtel
fromdriver,car
wherecarno=’陕C84261’and
driver.dname=car.name;
2、李东先生买了最近一辆汽车,要求将其他本人的基本信息存入档案、由于搬家的原因需更改相应的地址、最后因一场车祸而不幸身亡则删除其信息。
(1) insert
intodriver(ddaID,dname,dsex,dbirth,dID,dchx,daddr,dtel)
values('1000011','李东','男','1985-03-25','610532198503250465','A','长安区官堰村','856304851');
(2)updatedriver
set daddr=’西安交通大学’
whereddaID=’1000011’;
(3) delete
from driver
whereddaID='1000011';
3、查询关于车牌号为陕AT7694的所有违章/事故信息。
(accident与daima表的链接)
selectacctime,accaddr,acccase,acccrim,accmone,accdept
fromaccident,daima
wherecarno='陕AT7694'and
accident.accID=daima.accID;
4、档案号为100004的司机因在高速公路上倒车、逆行、穿越中央分隔带掉头的原因而被扣除相应的积分,更新driver表的累计积分。
updatedriver
set zjifen=zjifen-jifen
fromjifen
whereddaID='1000004' and
jfdaima='1111116'
5、建立出生于1987年的驾驶员的视图
create viewIS_driver
as
selectdname,dsex
from driver
wheredbirth>='1987-1-1'and
dbirth<='1987-12-30'
6、建立驾驶黑色汽车的驾驶员姓名及身份证号的视图
createviewGG_car
as
selectdriver.name,dID,ccolor
fromdriver,car
wheredriver.dname=car.dnameand
ccolor='黑色';
7、创建一个触发器,可以实现当某用户购买一辆新车时,录入该信息后,统计表中的汽车总量数量会自动加一。
createtriggerIntotal
oncar
forinsert
as
declare @qichechar(6)
select@qiche=carno frominserted
updatetotal
set carcount=carcount+1
8、创建一触发器,可以实现当某一司机因重大交通事故而死亡的,删除driver表中的相关信息,其total表中死亡人数自动加一。
createtrigger AAA
on driver
for delete
as
declare@renint
select @ren=ddaID fromdeleted
updatetotal
set diecount=diecount+1
删除档案号为1000008的驾驶员信息:
total的结果:
9、创建一个BBC,用于获取指定车辆的车辆信息
If exists
(selectnamefrom sysobjects
where name='BBC'and type='p')
dropprocedureBBC
go
createprocedureBBC
@chepaichar(10)
as
select*
fromdriver
wherecarno=@chepai
go
execBBC'空251234'
10、创建一个存储过程CCD,用于获取给定驾驶员积分是否达到合格的标准。
Ifexists
(selectnamefromsysobjects
wherename='CCD'andtype='p' )
drop procedureCCD
go
createprocedure CCD @xingmingchar(20)
as
declare @jifenint
select@jifen=zjifen
fromdriver,car
wheredriver.dname=@xingmingand
driver.dname=car.dname
if @jifen<=12
print'及格'
elseprint'不及格'
execCCD'安虎'
11、创建一存储过程,用于提醒保险即将到期的用户是否继续续险。
Ifexists
(selectname fromsysobjects
wherename='ABC'andtype='p')
drop procedureABC
go
createprocedureABC @chepaichar(20)
as
declare@riqidatetime
select @riqi=deadl
frombaoxian
wherecarno=@chepai
if @riqi>2012/5/3
print'您的保险已到期,确定是否及时续险'
else print'您的保险尚未到期'
execABC'陕K84611'
12、创建一存储过程,获取所有驾驶员的平均积分,以评估驾驶员的违章状况。
If exists
(selectnamefromsysobjects
wherename='ACC'andtype='p' )
dropprocedureACC
go
createprocedureACC
as
select avg(zjifen)
fromdriver
execACC
修改积分后的driver表:
获取结果:
总结:
经过老师在实训中对本系统的仔细分析,以及同学的帮助,同事翻阅了大量的书本和网上资料,终于将其《交警对车辆管理系统》的后台部分完成,其该系统结构清晰,可使其执法人员在短暂的时间内掌握其各种操作,提高工作效率。
但它还具有一定的局限性,例如属性驾驶员照片、车辆照片等都未能在此实现,因此,有许多地方还需要进一步的分析改进,望老师能够见谅,在以后的数据库系统设计过程中,自己会考虑周全,不断的完善系统,使用户百分满意,更能方便现今的生活。
参考文献:
(1) 《中华人民共和国道路交通安全法》
(2)张海藩《软件工程导论》第五版清华大学出版社
(3)王珊、萨师煊 《数据库系统概论》第四版 高等教育出版社
(4)张登辉、沙嘉祥《ASP.NET网络应用案例教程》 北京大学出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 交警队 车辆 管理 系统