拼车系统数据库设计说明.docx
- 文档编号:27155970
- 上传时间:2023-06-27
- 格式:DOCX
- 页数:70
- 大小:214.15KB
拼车系统数据库设计说明.docx
《拼车系统数据库设计说明.docx》由会员分享,可在线阅读,更多相关《拼车系统数据库设计说明.docx(70页珍藏版)》请在冰豆网上搜索。
拼车系统数据库设计说明
本科学生综合性实验报告
课程名称:
数据库系统原理
拼车系统数据库设计
实验项目名称拼车系统数据库设计
1需求分析1
1.1编写目的1
1.2背景1
1.3系统目标1
1.4系统功能分析2
1.4.1卖家基本信息管理2
1.4.2路线基本信息管理2
1.4.3商品基本信息管理3
1.4.4拼车预订信息管理4
1.4.5订单信息管理4
1.4.6拼车评价信息管理5
1.5系统总体功能图5
1.6数据需求及业务规则分析7
1.7数据约束分析12
1.8数据字典13
1.8.1数据项与数据结构13
1.8.2数据处理15
2数据库概念设计19
2.1定义实体集及属性19
2.2定义联系集及属性19
2.3E-R模型设计20
2.3.1实体E-R模型设计20
2.3.2二元联系E-R模型设计21
2.3.3三元联系E-R模型设计22
2.3.4总E-R模型设计24
3逻辑设计24
3.1实体的转化为关系模式24
3.2联系的转化为关系模式25
3.3关系设计25
3.3函数关系依赖28
3.4模式求精29
4物理设计31
4.1关系模式存储方式选择31
4.1.1索引存取方式,主要采用B+树索引方法31
4.1.2聚簇存取方式32
4.2数据库的存取结构32
4.2.1数据的存放位置32
4.2.2数据存储路径32
5数据库脚本33
6触发器与存储过程43
1需求分析
需求分析将从编写目的、背景、系统目标系统功能分析、系统总体功能图、数据字典、数据需求及业务规则分析、实体和联系等方面进行分析,为概念设计提供依据。
1.1编写目的
让该文档的使用成员成为拼车系统的开发人员及拼车系统具体组织管理人员。
1.2背景
拼车是指具有相同路线的人乘坐同一商品进行通勤及节假日出行,车费由乘客协议分摊的行为。
市场经济,理性经济人假设条件下,任何一项事物的产生都有着一定的必然性,就“拼车”而言,其产生的原因大致可概括为六个方面:
(1)随着社会经济的发展,居民生活水平的提高,小汽车开始走进千家万户,这使得“拼车”成为了可能,即为“拼车”的出现提供了必要的物质基础;
(2)机动车保有(出行)成本的大幅攀升(如燃油、停车、维修保养等),迫使车主开始寻找成本分担方法;
(3)现有旅客运输的供给无法满足居民的出行需求(节假日期间尤为明显),那部分无法被满足的“过剩需求”必将转寻其他方式,“拼车”无疑是一种不错的选择;
(4)居民个性化出行需求的增多(特别是年轻人),对现有的旅客运输也是一种无形的挑战;
(5)一些交通管理措施的实行,推动了“拼车”的产生,如,国外一些发达国家为缓解城市交通拥堵锁推行的“鼓励上下班合乘”的措施等;
(6)信息技术的飞速发展,特别是互联网的广泛普及,为“拼车”信息的发布、检索以及“拼车”条件的协商提供了中介平台,在XX上进行搜索,可以发现,几乎每个大城市都有自己的卖家(拼车)网,“拼”作为一种崭新的生活方式已逐渐被人们所接受。
将上述六个方面的原因分为三类:
第一,供给条件(原因
(1)、
(2));第二,需求条件(原因(3)、(4)、(5));第三,中介平台条件(原因(6))。
从中可以看出,运输市场构成的三个要素已经完全具备,“拼车”的的产生已成为一种趋势。
1.3系统目标
有车一族在网上发布出行信息(每天的出行、远途出行都可以),没车(或者有车,但不想开车)又顺路的人可以拼车,当然搭车的人需要付一定的金额。
当拼车网的管理人员使用了《拼车系统》软件后,可以通过计算机完成以下几方面的管理工作:
拼车网注册卖家管理、路线信息管理、商品信息管理、成功拼车信息管理。
拼车系统用户分为二类:
(1)拼车网游客:
只可以浏览拼车网开放的业务和信息,不可以进行网上拼车,也不为该类客户提供个性化服务,该类客户无需注册。
(2)拼车网正式客户:
必须在拼车网注册,登录本拼车网后,这类客户可以浏览拼车网的拼车信息,可以进行网上拼车,也可享受拼车网提供的个性化服务以及优惠服务等。
1.4系统功能分析
拼车系统功能:
卖家基本信息管理、路线基本信息管理、商品基本信息管理、拼车预订信息管理、订单信息管理、拼车评论信息管理、成功拼车信息管理。
1.4.1卖家基本信息管理
提供卖家基本信息注册、注销、修改、查询以及统计功能。
包括:
(1)卖家基本信息录入:
卖家通过注册录入基本信息,卖家注册时要求填写基本信息,包括、性别、年龄、、所属区域、号等信息。
系统检测所有信息填写正确后提示客户注册成功,并返回卖家编号。
(2)卖家基本信息修改:
卖家基本信息注册错误或有所改变时可以进行信息的修改。
①修改卖家;
②修改卖家登陆密码;
③修改卖家出生年月;
④修改卖家;
⑤修改卖家性别;
⑥修改卖家所属区域;
⑦修改卖家号;
(3)卖家基本信息查询:
根据不同的条件查询卖家基本信息。
①按卖家查询卖家基本信息;
②按卖家编号查询卖家基本信息;
③按卖家查询卖家基本信息;
④按卖家所属区域查询卖家基本信息;
⑤按卖家年龄查询卖家基本信息;
(4)卖家基本信息删除:
卖家可以通过注销来删除基本信息。
(5)卖家基本信息统计:
可以按不同的条件统计卖家们使用本系统的情况。
①统计某一年龄的卖家人数;
②统计不同性别的卖家人数;
③统计某一地区的卖家人数;
1.4.2买家基本信息管理
提供买家基本信息注册、注销、修改、查询以及统计功能。
包括:
(1)买家基本信息录入:
买家通过注册录入基本信息,买家注册时要求填写基本信息,包括、性别、年龄、、所属区域、号等信息。
系统检测所有信息填写正确后提示客户注册成功,并返回买家编号。
(2)买家基本信息修改:
买家基本信息注册错误或有所改变时可以进行信息的修改。
①修改买家;
②修改买家登陆密码;
③修改买家出生年月;
④修改买家;
⑤修改买家性别;
⑥修改买家所属区域;
⑦修改买家号;
(3)买家基本信息查询:
根据不同的条件查询买家基本信息。
①按买家查询买家基本信息;
②按买家编号查询买家基本信息;
③按买家查询买家基本信息;
④按买家所属区域查询买家基本信息;
⑤按买家年龄查询买家基本信息;
(4)买家基本信息删除:
买家可以通过注销来删除基本信息。
(5)买家基本信息统计:
可以按不同的条件统计买家们使用本系统的情况。
①统计某一年龄的买家人数;
②统计不同性别的买家人数;
③统计某一地区的买家人数;
④统计各年龄段的买家人数;
1.4.3商品基本信息管理
提供商品基本信息增加、删除、修改、查询以及统计功能。
包括:
(1)商品基本信息增加:
卖家可以增加商品基本信息,包括商品编号、商品类型、商品数量、商品名称、卖家编号、价格、发布时间等信息。
系统检查所有信息填写正确后提示增加成功,返回商品编号。
(2)商品基本信息修改:
商品基本信息如果出错或者有所改变,可以对商品基本信息的具体容进行修改。
①修改商品编号;
②修改商品类型;
③修改商品数量;
④修改商品名称;
⑤修改卖家编号;
⑥修改车辆发布时间;
⑦修改商品价格;
(3)商品基本信息查询:
根据不同的条件查询商品基本信息。
①按商品编号查询商品基本信息;
②按商品类型查询商品基本信息;
③按商品数量查询商品基本信息;
④按商品名称查询商品基本信息;
⑤按卖家编号查询商品基本信息;
⑥按发布时间查询车辆基本信息;
⑦按商品价格查询商品基本信息;
(4)商品基本信息删除:
可以删除商品编号、商品类型、商品数量、商品名称、卖家编号、发布时间、价格等所有信息。
卖家在注销删除自己基本信息时也能把卖家增加的商品信息删除。
(5)商品基本信息统计:
系统可以根据不同的条件进行统计
①统计某一商品类型的商品数;
②统计某一商品数量的商品数;
③统计某一商品名称的商品数;
④统计系统商品总数;
⑤统计某地区注册的商品数;
⑥统计某一商品价格的商品数;
1.4.4拼车预订信息管理
提供预订信息的增加、预订信息的查询、预订信息的修改、预订信息的删除、拼车座位预订、拼车座位退订。
包括:
(1)预订信息增加:
卖家对路线与商品的确定能够产生一个预订信息供其他卖家的加入,预订信息需要增加预订编号、路线编号、商品编号、卖家编号、拼车费用、集合点、预订备注。
(2)预订信息修改:
对预订信息具体容修改。
①更改路线编号;
②更改商品编号;
③修改拼车费用;
④修改集合点容;
⑤修改预订备注容;
(3)预订信息查询:
可以根据不同的条件查询预订信息。
①按商品商品编号查询预订信息;
②按商品商品类型查询预订信息;
③按商品商品数量查询预订信息;
④按商品商品名称查询预订信息;
⑤按商品卖家编号查询预订信息;
⑥按路线编号查询预订信息;
⑦按路线出发地查询预订信息;
⑧按路线目的地查询预订信息;
⑨按预订编号查询预订信息;
⑩按商品使用费查询预订信息;
(4)拼车座位预订:
在预订期卖家可以预定任意路线的一个或多个座位。
(5)拼车座位退订:
在预订期卖家可以退订自己所预订过的任意路线的一个或多个座位。
(6)预订信息统计:
可以根据不同的条件进行预订信息统计。
①统计同一商品类型的预订信息数;
②统计同一商品数量的预订信息数;
③统计某一路线的预订信息数;
④统计某一出发地的预订信息数;
⑤统计某一目的地的预订信息数;
1.4.5订单信息管理
提供订单信息增加、修改、查询与统计功能。
包括:
(1)订单信息增加:
当预订信息在预订期人数达到商品商品数量,预订单将生成订单信息。
如果预订期到了预订单还未凑足人数,将做如下考虑:
如果商品商品数量为5人以下的,且实际参加人数少一个的预订信息将继续生成订单信息,且费用将按实际人数进行平摊。
如果商品商品数量为5人以上的,且实际参加人数少于商品数量20%的将继续生成订单信息,且费用将按实际人数进行平摊。
((订单信息需要增加卖家编号、集合点、费用、订单备注等信息。
))
(2)订单信息删除:
如果订单信息生成后,由于过多的人数退出导致商品数量不能达到60%的系统自动删除订单信息。
(3)订单信息查询:
根据不同的条件查询。
①按商品商品编号查询订单信息;
②按商品商品类型查询订单信息;
③按商品商品数量查询订单信息;
④按商品商品名称查询订单信息;
⑤按商品卖家编号查询订单信息;
⑥按路线编号查询订单信息;
⑦按路线出发地查询订单信息;
⑧按路线目的地查询订单信息;
⑨按预订编号查询订单信息;
⑩按拼车费用查询订单信息;
(4)订单信息统计:
根据不同的条件统计。
①统计同一商品类型的订单信息数;
②统计同一商品数量的订单信息数;
③统计某一路线的订单信息数;
④统计某一出发地的订单信息数;
⑤统计某一目的地的订单信息数;
1.4.6拼车评价信息管理
提供卖家对商品的评价、卖家对卖家的评价。
包括:
(1)卖家对商品的评价:
卖家们成功参加一次拼车,付款后,系统会提示自愿对此次拼车使用的商品进行评价。
(2)卖家对卖家的评价:
卖家们成功参加一次拼车,付款后,系统会提示自愿对此次拼车的其他卖家进行评价。
1.5系统总体功能图
该系统总体功能图如图1.1所示。
成功拼车信息统计
图1.1系统功能图
1.6数据需求及业务规则分析
业务规则分析主要是分析系统中数据之间的约束以及数据库的围界定,基于上述功能需求,通过进一步了解拼车系统需求及业务分析规则如下:
(1)卖家由卖家编号唯一标识,需要存储卖家的名字、性别、密码、注册日期、所属区域、、性别、、号、拼车经验等信息。
其中所属区域只记录省份或市,员工的只有一个,拼车经验以参加过的拼车次数来统计。
(2)卖家只能查询自己的基本信息和参加同一拼车路线的其他卖家基本信息。
(3)统计有驾驶证的卖家人数,统计号大于零的人数就是有驾驶证的卖家人数。
(4)卖家不得修改预订信息。
(5)卖家在预订阶段可以预定任意预订信息的一个或多个座位。
(6)卖家在预订阶段可以退订自己所预订过的任意预订信息的一个或多个座位。
(7)预订拼车座位的总数不得超过使用商品的商品数量。
(8)订单信息增加,当预订信息在预订期人数达到商品商品数量,预订单将生成订单信息。
如果预订期到了预订单还未凑足人数,将做如下考虑:
如果商品商品数量为5人以下的,且实际参加人数少一个的预订信息将继续生成订单信息,且费用将按实际人数进行平摊。
如果商品商品数量为5人以上的,且实际参加人数少于商品数量20%的将继续生成订单信息。
(9)订单信息删除,如果订单信息生成后,由于过多的人数退出导致收入不能达到60%的系统自动删除订单信息。
(10)拼车路线在出发的前一天,不能够预订到足够的人(商品商品数量为5人以下的(包括5人),且实际参加人数少两个人以上的。
商品商品数量为5人以上的且实际参加人数少于商品数量的20%以上的。
),预定信息将自动失效,将不再预订,并把信息告知已经预订的卖家。
(11)预订信息生成订单信息后,已经拼车的卖家原则上不允许退出,如果有不可阻挡的因素非要退出的做如下处理:
①如果卖家的退出还能满足生成订单信息的条件的将对退出的每一个座位进行原来座位价20%的惩罚;②如果卖家的退出不能满足生成订单信息的条件的将对退出的每一个座位进行原来座位价50%的惩罚;这些罚金如果拼车还能够继续进行,在拼车成功后将作为补偿全部给予商品提供者。
(12)拼车路线在订单阶段,如果由于退出的座位太多,导致无法再拼车在进行下去的,订单信息将自动失效,且通知未退出的卖家。
由于退出座位所收取的罚金将会被作为由于订单信息失效而导致未退出的卖家的补偿。
(13)为了安全与舒适参加拼车的卖家最多只允许携带一个一米二以下的儿童同行。
(14)由于个人原因在卖家中途下车的,依然按照订单的价格付款。
1.7数据约束分析
(1)卖家编号约束:
以字母M开头再加上8位数字组成,按流水号一次增大。
check约束为check(memNolike‘[M][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]’)。
(2)商品编号约束:
以字母C开头加上8位数字,按流水号一次增大。
check约束为check(carNolike‘[C][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]’)。
(3)路线编号约束:
以字母R开头再加上8位数字,按流水号一次增大。
check约束为check(rouNolike‘[R][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]’)。
(4)预订编号约束:
以字母B开头再加上8位数字。
按流水号一次增大。
check约束为check(bookNolike‘[B][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]’)。
(5)卖家信息表的主键是memNo,每一个卖家编号都是唯一的。
(6)卖家信息表中所有信息不允许为空。
(7)商品信息表的主键是carNo,每一个商品编号都是唯一的。
(8)商品信息表中所有信息不允许为空。
(9)路线信息表的主键是rouNo,每一个路线编号都是唯一的。
(10)路线信息表中所有信息不允许为空。
(11)预订信息表的主键是bookNo,每一个预订编号都是唯一的。
(12)预订信息表中所有信息不允许为空。
(13)密码(memCode)不能为空值,由6-12位字母和数字组成。
(14)注册日期(regDate)不能为空值,数据类型为datetime。
(15)所属区域(address)可以为空值,填写省份和市(如:
省市)或直辖市(如:
市),字数不得超过20字。
(16)(teletphone)不能为空值,取值围9,固定加地区号输入。
(17)性别(sex)不能为空值,只能输入f或m(f代表男性,m代表女性).
(18)(memName)不能为空值,不得超过20字。
(19)号(driTime)不能为空值,数据类型为int。
(20)拼车次数(carNum)不能为空值,数据类型为int,每成功拼车一次自动加一。
(21)商品编号(carNoo)不能为空值,真实填写。
(22)商品类型(carType)不能为空值,不得超过5字,用文字说明。
(23)商品数量(pasQuantity)不能为空值,数据类型为int。
(24)商品名称(carTime)不能为空值,数据类型为int。
(25)卖家编号(safeCase)不能为空值,不得超过10字,用文字说明。
(26)发布时间(carRemark)不能为空值,不得超过25字,用文字说明。
(27)发布日期(issDate)不能为空值,数据类型为datetime。
(28)价格(feeExplain)可以为空值,不得超过25字,用文字说明。
(29)出发地(start)不能为空值,不得超过20字,用文字说明,默认只能用城市名。
(30)目的地(distination)不能为空值,不得超过20字,用文字说明,默认只能用城市名。
1.8数据字典
数据字典包括数据项、数据结构、数据处理3个部分。
其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑容。
1.8.1数据项与数据结构
通过对所建立的表进行分析,我们得到了以下一些数据项,如表1.1至表1.10所示。
表1.1卖家信息表
数据项
数据类型
别名
是否为空
约束
取值含义
memNo
char(9)
卖家编号
Notnull
M00000001-M99999999主键
M代表客户,后8位按顺序编号,是主码
regDate
datetime
注册日期
Notnull
yyyy-mm-dd
memCode
varchar(12)
密码
Notnull
6-12位,由字母和数字组成
输错次数不得超过三次
address
varchar(20)
所属区域
Null
不得超过20字
teletphone
char(11)
Notnull
9
若输入家庭,则要输入地区号
sex
char
(2)
性别
Notnull
f/m
f代表男性,m代表女性
memName
varchar(20)
Notnull
不得超过20字
birthday
datetime
出生日期
Notnull
driTime
int
号
Notnull
carNum
int
拼车次数
Notnull
每成功拼车一次,自动加一
表1.2商品信息表
数据项
数据类型
别名
是否为空
约束
取值含义
carNo
char(9)
商品编号
Notnull
C00000001-C99999999主键
C代表商品,后8位按顺序编号
carNoo
char(6)
商品编号
Notnull
真实填写
carType
char(10)
商品类型
Notnull
不得超过5字
用文字说明
pasQuantity
int
商品数量
Notnull
carTime
int
商品名称
Notnull
safeCase
varchar(20)
卖家编号
Notnull
不得超过10字
用文字说明
carRemark
varchar(80)
发布时间
Null
不得超过40字
用文字说明
fee
int
费用
Null
issDate
datetime
发布日期
Notnull
表1.3路线信息表
数据项
数据类型
别名
是否为空
约束
取值含义
rouNo
char(9)
路线编号
Notnull
R00000001-R99999999主键
R代表路线,后8位按顺序编号
start
varchar(40)
出发地
Notnull
不得超过20字
用文字说明
distination
varchar(40)
目的地
Notnull
不得超过20字
用文字说明
1.8.2数据处理
为了实现预期的系统功能,我们建立了以下数据处理过程,如表1.4所示。
表1.4数据处理
编号
功能
处理说明
1.
卖家基本信息录入
当卖家成功注册后,自动在卖家表中添加该卖家的注册信息
2.
修改卖家
先按卖家编号查询到卖家基本型信息再对进行修改
3.
修改卖家登陆密码
先按卖家编号查询到卖家基本型信息再对登陆密码进行修改
4.
修改卖家出生年月
先按卖家编号查询到卖家基本型信息再对出生年月进行修改
5.
修改卖家
先按卖家编号查询到卖家基本型信息再对进行修改
6.
修改卖家性别
先按卖家编号查询到卖家基本型信息再对性别进行修改
7.
修改卖家所属区域
先按卖家编号查询到卖家基本型信息再对所属区域进行修改
8.
修改卖家号
先按卖家编号查询到卖家基本型信息再对号进行修改
9.
按卖家查询卖家基本信息
按卖家精确查询卖家基本信息
10.
按卖家编号查询卖家基本信息
按卖家编号精确查询卖家基本信息
11.
按卖家查询卖家基本信息
按卖家精确查询卖家基本信息
12.
按卖家所属区域查询卖家基本信息
按卖家精确查询卖家基本信息
13.
按卖家年龄查询卖家基本信息
按卖家年龄模糊查询卖家基本信息
14.
卖家基本信息删除
按卖家编号精确查询到卖家基本信息,再进行删除
15.
统计某一年龄的卖家人数
输入年龄,对卖家基本信息逐条查询累计计数
16.
统计不同性别的卖家人数
输入性别,对卖家基本信息逐条查询累计计数
17.
统计某一地区的卖家人数
输入城市名,对卖家基本信息逐条模糊查询累计计数
18.
统计各年龄段的卖家人数
输入正确的年龄段,对卖家基本信息逐条查询累计计数
19.
统计有驾驶证的卖家人数
对卖家基本信息逐条查询,对号大于零的信息累计计数
20.
统计各号段的卖家人数
输入正确的号段,对卖家基本信息逐条查询累计计数
21.
统计各拼车次数段的卖家人数
输入正确的拼车次数段,对卖家基本信息逐条查询累计计数
22.
路线基本信息增加
按要求输入正确的路线基本信息,并添加到路线信息表
23.
路线基本信息删除
按路线编号精确查询到路线基本信息,再进行删除
24.
按路线编号查询路线基本信息
按路线编号精确查询路线基本信息
25.
按路线出发地查询路线基本信息
按路线出发地精确查询路线基本信息
26.
按路线目的地查询路线基本信息
按路线目的地精确查询路线基本信息
27.
修改路线出发地
先按路线编号查询到路线基本型信息再对出发地进行修改
28.
修改路线目的地
先按路线编号查询到路线基本型信息再对目的地进行修改
29.
统计某一出发地的路线数
输入出发地城市名,对路线基本信息逐条查询累计计数
30.
统计某一目的地的路线数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统 数据库 设计 说明