出租车管理系统实验课程设计Word文档格式.docx
《出租车管理系统实验课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《出租车管理系统实验课程设计Word文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
4.1.2需求分析过程
功能需求简介:
针对出租车行业的特点开发的出租车管理系统,实现出租车公司内部及时准确地采集内部各种数据信息,处理高速化和网络办公自动化。
实现对出租车公司司机的信息记录,操作,出租车管理,提供精确查询等多种查询方式。
4.1.3调查需求
基本操作:
对出租车信息表、司机信息表、租赁表、违章表的查询、添加、更新、删除等功能。
特别操作:
对租赁表的功能。
4.1.4系统数据分析
表2-1数据结构定义
数据结构名
含义说明
组成
出租车信息表
定义了出租车有关信息
车牌号入户时间车型颜色出租情况营业时间
司机信息表
定义了司机有关信息
司机编号姓名性别地址身份证号驾驶证号发证时间驾龄
租赁表
定义了租赁的有关信息
司机编号车牌号期限开始日期截止日期租赁费车保费
违章表
定义了违章的有关信息
司机编号姓名扣分违章时间
违章地点
出车记录表
定义了每天哪些司机的出车情况
司机编号车牌号出车日期
4.2概念结构设计
4.2.1概念结构设计的方法
概念设计阶段我采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上的进行概念结构设计。
对已经细化到无法再分的阶段逐步集成在一起,最终合成一个全局概念模式。
4.2.2概念结构设计的步骤
第一步是进行局部视图的设计:
由于高层的数据流图只能反映系统的概貌,而中层流图能较好的反映系统中各局部应用的子系统组成。
因此我们先逐一的设计分E-R图。
第二步是进行视图的集成:
各子系统的E-R图设计好之后,下一步就是要将所有的分E-R图合成一个系统的总E-R图,一般有两个方式,多个分E-R图一次集成,另一种是一次集成两个分E-R图。
我想采用一次集成两个分E-R图的方式。
图4-1出车记录E-R图
图4-2出租车E-R图
图4-3司机R-R图
图4-4租赁E-R图
图4-5违章E-R图
图4-6总体概念结构E-R图
4.3逻辑结构设计
E-R图向关系模型的转换
将上述总体概念结构E-R图转化成关系模型,根据这个关系写出数据依赖,确定数据依赖。
司机与出租车是一对一的关系,司机、出租车与租赁是一对一的关系,司机与违章是一对一的关系。
司机(司机编号,姓名,性别,地址,身份证号,驾驶证号,发证时间,驾龄)
出租车(车牌号,入户时间,车型,颜色,出租情况,营业时间)
租赁表(司机编号,车牌号,期限,开始日期,截止日期,租赁费,车保费)
出车记录表(司机编号,车牌号,出车日期)
违章表(司机编号,姓名,扣分,违章时间,违章地点)
4.4物理设计
物理表结构如下
表4-7司机表(Driver)
列标示
数据类型
长度
约束
列意义
DriverNumber
char
6
主键
司机编号
Name
10
不为空
姓名
Sex
bit
默认
性别
Address
varchar
40
地址
IDumber
20
身份证号
LincenseNumber
驾驶证号
CertificateDate
datetime
发证时间
DriverAge
tinyint
驾龄
表4-8出租车表(Taxi)
TaxiNumber
车牌号
StartDate
入户时间
TaxiShape
车型
Color
颜色
RentSituation
出租情况
BusinessTime
营业时间
表4-9租赁表(Rent)
LimitTime
期限
开始日期
EndDate
截止日期
RentFee
float
租赁费
ProtectionFee
Float
车保费
表4-10违章表(Violate)
Points
扣分
ViolateDate
违章时间
ViolateAddress
违章地点
表4-11出车记录表(Notes)
DriveDate
出车日期
4.5数据库的实施
4.5.1.创建表
/*创建数据库*/
CREATEDATABASETAXI/*数据库名*/
ON
(
NAME=TAXI_DATA,
'
D:
\MicrosoftSQLServer\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\TAXI.mdf'
SIZE=10MB,
MAXSIZE=100MB,
)
LOGON
NAME='
TAXI_log'
/*日志*/
\MicrosoftSQLServer\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\TAXI_Log.ldf'
MAXSIZE=100MB,
/*创建基本表*/
/*创建司机表*/
USETAXI
CREATETABLEDriver
DriverNumberchar(6)NOTNULLPRIMARYKEY,/*司机编号*/
Namechar(10),/*姓名*/
SexbitNOTNULL,/*性别*/
Addressvarchar(40)NOTNULL,/*地址*/
IDNumberchar(18)NOTNULL,/*身份证号*/
licenseNumberchar(10)NOTNULL,/*驾驶证号*/
CertificateDatedatetimeNOTNULL,/*发证时间*/
DriverAgetinyintNOTNULL/*驾龄*/
/*创建出租车表*/
CREATETABLETaxi
TaxiNumberchar(6)NOTNULLPRIMARYKEY,/*车牌号*/
StartDatedatetimeNOTNULL,/*入户时间*/
TaxiShapechar(10)NOTNULL,/*车型*/
Colorchar(10)NOTNULL,/*颜色*/
RentSituationbitNOTNULLDEFAULT1,/*出租情况*/
BusinessTimetinyintNOTNULL/*营业时间*/
/*创建租赁表*/
CREATETABLERent
DriverNumberchar(6)NOTNULL,/*司机编号*/
TaxiNumberchar(6)NOTNULL,/*车牌号*/
LimitTimetinyintNOTNULL,/*期限*/
StartDatedatetimeNOTNULL,/*开始日期*/
EndDatedatetimeNOTNULL,/*截止日期*/
RentFeefloatNOTNULL,/*租赁费*/
ProtectionFeefloatNOTNULL,/*车保费*/
PRIMARYKEY(DriverNumber,TaxiNumber)
/*创建违章表*/
CREATETABLEViolate
Namechar(10),/*姓名*/
PointstinyintNOTNULL,/*扣分*/
ViolateDatedatetimeNOTNULL,/*违章时间*/
ViolateAddressvarchar(40)NOTNULL/*违章地点*/
/*创建出车表*/
CREATETABLENotes
DriverDatedatetimeNOTNULL/*出车日期*/
4.5.2.创建主要视图
视图是从一个或多个表导出的表。
视图是数据库的用户使用数据库的观点。
司机和出租车是主要的实体,而这两个实体的信息又在不同的表中,作为出租车公司对司机和出租车有时关心的数据又是不同的,即使是相同的数据,也可能又不同的操作。
有时候仅有的表的列属性名是不能满足需求的,于是根据不同的需求,在物理的数据库上定义他们对数据库所要求的数据结构。
(1)创建Driver_VIEW视图,包含司机所有的信息
GO
CREATEVIEWDriver_VIEW(司机编号,姓名,性别,地址,身份证号,驾驶证号,发证时间,驾龄)
AS
SELECT*FROMDriver
(2)创建Taxi_V