拼车数据库设计


    


    科学生综合性实验报告

    课程名称:数库系统原理

    拼车系统数库设计

    项目组长 学号
    班 级
    实验项目名称 拼车系统数库设计
    指导教师职称
    开课学期 _ 学年 第 学期
    完成时间 __ 年 月 日

    目 录
    1 需求分析 1
    11编写目 1
    12背景 1
    13系统目标 1
    14系统功分析 2
    141卖家基信息理 2
    142路线基信息理 2
    143商品基信息理 3
    144拼车预订信息理 4
    145订单信息理 4
    146拼车评价信息理 5
    15系统总体功图 5
    16数需求业务规分析 7
    17数约束分析 12
    18数字典 13
    181数项数结构 13
    182数处理 15
    2 数库概念设计 19
    21定义实体集属性 19
    22定义联系集属性 19
    23 ER模型设计 20
    231实体ER模型设计 20
    232二元联系ER模型设计 21
    233三元联系ER模型设计 22
    234总ER模型设计 24
    3 逻辑设计 24
    31实体转化关系模式 24
    32联系转化关系模式 25
    33关系设计 25
    33函数关系赖 28
    34模式求精 29
    4 物理设计 31
    41关系模式存储方式选择 31
    411索引存取方式采B+ 树索引方法 31
    412聚簇存取方式 32
    42数库存取结构 32
    421数存放位置 32
    422数存储路径 32
    5 数库脚 33
    6 触发器存储程 43




    1 需求分析
    需求分析编写目背景系统目标系统功分析系统总体功图数字典数需求业务规分析实体联系等方面进行分析概念设计提供
    11编写目
    该文档成员成拼车系统开发员拼车系统具体组织理员
    12背景
    拼车指具相路线坐商品进行通勤节假日出行车费客协议分摊行市场济理性济假设条件项事物产生着定必然性拼车言产生原致概括六方面:
      (1) 着社会济发展居民生活水提高汽车开始走进千家万户拼车成拼车出现提供必物质基础
      (2) 机动车保(出行)成幅攀升(燃油停车维修保养等)迫车开始寻找成分担方法
      (3) 现旅客运输供法满足居民出行需求(节假日期间尤明显)部分法满足剩需求必转寻方式拼车疑种错选择
      (4) 居民性化出行需求增(特年轻)现旅客运输种形挑战
      (5) 交通理措施实行推动拼车产生国外发达国家缓解城市交通拥堵锁推行鼓励班合措施等
    (6) 信息技术飞速发展特互联网广泛普拼车信息发布检索拼车条件协商提供中介台百度进行搜索发现城市卖家(拼车)网拼作种崭新生活方式已逐渐接受
      述六方面原分三类:第供条件(原(1)(2))第二需求条件(原(3)(4)(5))第三中介台条件(原(6))中出运输市场构成三素已完全具备拼车产生已成种趋势
    13系统目标
    车族网发布出行信息(天出行远途出行)没车(者车想开车)路拼车然搭车需付定金额
    拼车网理员拼车系统软件通计算机完成方面理工作:拼车网注册卖家理路线信息理商品信息理成功拼车信息理拼车系统户分二类:
    (1)拼车网游客:浏览拼车网开放业务信息进行网拼车该类客户提供性化服务该类客户需注册
    (2)拼车网正式客户: 必须拼车网注册登录拼车网类客户浏览拼车网拼车信息进行网拼车享受拼车网提供性化服务优惠服务等

    14系统功分析
    拼车系统功:卖家基信息理路线基信息理商品基信息理拼车预订信息理订单信息理拼车评信息理成功拼车信息理

    141卖家基信息理
    提供卖家基信息注册注销修改查询统计功包括:
    (1)卖家基信息录入:卖家通注册录入基信息卖家注册时求填写基信息包括姓名性年龄电话号码属区域身份证号等信息系统检测信息填写正确提示客户注册成功返回卖家编号
    (2)卖家基信息修改:卖家基信息注册错误改变时进行信息修改
    ①修改卖家姓名
    ②修改卖家登陆密码
    ③修改卖家出生年月
    ④修改卖家电话号码
    ⑤修改卖家性
    ⑥修改卖家属区域
    ⑦修改卖家身份证号
    (3)卖家基信息查询:根条件查询卖家基信息
    ①卖家姓名查询卖家基信息
    ②卖家编号查询卖家基信息
    ③卖家电话号码查询卖家基信息
    ④卖家属区域查询卖家基信息
    ⑤卖家年龄查询卖家基信息
    (4)卖家基信息删:卖家通注销删基信息
    (5)卖家基信息统计:条件统计卖家系统情况
    ①统计某年龄卖家数
    ②统计性卖家数
    ③统计某区卖家数
    142 买家基信息理
    提供买家基信息注册注销修改查询统计功包括:
    (1)买家基信息录入:买家通注册录入基信息买家注册时求填写基信息包括姓名性年龄电话号码属区域身份证号等信息系统检测信息填写正确提示客户注册成功返回买家编号
    (2)买家基信息修改:买家基信息注册错误改变时进行信息修改
    ①修改买家姓名
    ②修改买家登陆密码
    ③修改买家出生年月
    ④修改买家电话号码
    ⑤修改买家性
    ⑥修改买家属区域
    ⑦修改买家身份证号
    (3)买家基信息查询:根条件查询买家基信息
    ①买家姓名查询买家基信息
    ②买家编号查询买家基信息
    ③买家电话号码查询买家基信息
    ④买家属区域查询买家基信息
    ⑤买家年龄查询买家基信息
    (4)买家基信息删:买家通注销删基信息
    (5)买家基信息统计:条件统计买家系统情况
    ①统计某年龄买家数
    ②统计性买家数
    ③统计某区买家数
    ④统计年龄段买家数

    143商品基信息理
    提供商品基信息增加删修改查询统计功包括:
    (1)商品基信息增加:卖家增加商品基信息包括商品编号商品类型商品数量商品名称卖家编号价格发布时间等信息系统检查信息填写正确提示增加成功返回商品编号
    (2)商品基信息修改:商品基信息果出错者改变商品基信息具体容进行修改
    ①修改商品编号
    ②修改商品类型
    ③修改商品数量
    ④修改商品名称
    ⑤修改卖家编号
    ⑥修改车辆发布时间
    ⑦修改商品价格
    (3)商品基信息查询:根条件查询商品基信息
    ①商品编号查询商品基信息
    ②商品类型查询商品基信息
    ③商品数量查询商品基信息
    ④商品名称查询商品基信息
    ⑤卖家编号查询商品基信息
    ⑥发布时间查询车辆基信息
    ⑦商品价格查询商品基信息
    (4)商品基信息删:删商品编号商品类型商品数量商品名称卖家编号发布时间价格等信息卖家注销删基信息时卖家增加商品信息删
    (5)商品基信息统计:系统根条件进行统计
    ①统计某商品类型商品数
    ②统计某商品数量商品数
    ③统计某商品名称商品数
    ④统计系统商品总数
    ⑤统计某区注册商品数
    ⑥统计某商品价格商品数

    144拼车预订信息理
    提供预订信息增加预订信息查询预订信息修改预订信息删拼车座位预订拼车座位退订包括:
    (1)预订信息增加:卖家路线商品确定够产生预订信息供卖家加入预订信息需增加预订编号路线编号商品编号卖家编号拼车费集合点预订备注
    (2)预订信息修改:预订信息具体容修改
    ①更改路线编号
    ②更改商品编号
    ③修改拼车费
    ④修改集合点容
    ⑤修改预订备注容
    (3)预订信息查询:根条件查询预订信息
    ①商品商品编号查询预订信息
    ②商品商品类型查询预订信息
    ③商品商品数量查询预订信息
    ④商品商品名称查询预订信息
    ⑤商品卖家编号查询预订信息
    ⑥路线编号查询预订信息
    ⑦路线出发查询预订信息
    ⑧路线目查询预订信息
    ⑨预订编号查询预订信息
    ⑩商品费查询预订信息
    (4)拼车座位预订:预订期卖家预定意路线座位
    (5)拼车座位退订:预订期卖家退订预订意路线座位
    (6)预订信息统计:根条件进行预订信息统计
    ①统计商品类型预订信息数
    ②统计商品数量预订信息数
    ③统计某路线预订信息数
    ④统计某出发预订信息数
    ⑤统计某目预订信息数

    145订单信息理
    提供订单信息增加修改查询统计功包括:
    (1)订单信息增加:预订信息预订期数达商品商品数量预订单生成订单信息果预订期预订单未凑足数做考虑:果商品商品数量5实际参加数少预订信息继续生成订单信息费实际数进行摊果商品商品数量5实际参加数少商品数量20继续生成订单信息费实际数进行摊((订单信息需增加卖家编号集合点费订单备注等信息))
    (2)订单信息删:果订单信息生成数退出导致商品数量达60系统动删订单信息
    (3)订单信息查询:根条件查询
    ①商品商品编号查询订单信息
    ②商品商品类型查询订单信息
    ③商品商品数量查询订单信息
    ④商品商品名称查询订单信息
    ⑤商品卖家编号查询订单信息
    ⑥路线编号查询订单信息
    ⑦路线出发查询订单信息
    ⑧路线目查询订单信息
    ⑨预订编号查询订单信息
    ⑩拼车费查询订单信息
    (4)订单信息统计:根条件统计
    ①统计商品类型订单信息数
    ②统计商品数量订单信息数
    ③统计某路线订单信息数
    ④统计某出发订单信息数
    ⑤统计某目订单信息数

    146拼车评价信息理
    提供卖家商品评价卖家卖家评价包括:
    (1)卖家商品评价:卖家成功参加次拼车付款系统会提示愿次拼车商品进行评价
    (2)卖家卖家评价:卖家成功参加次拼车付款系统会提示愿次拼车卖家进行评价

    15系统总体功图
    该系统总体功图图11示





    增加路线基信息

    修改路线基信息


    线路基信息理
    查询路线基信息

    删路线基信息

    商品基信息理
    拼车预订信息理
    卖家基信息理
    成功拼车信息统计
    预订信息统计
    统计商品基信息
    删商品基信息
    查询商品基信息
    修改商品基信息
    增加商品基信息
    统计卖家基信息
    注销卖家基信息
    查询卖家基信息
    修改卖家基信息
    卖家注册基信息
    预订信息增加
    预订信息修改
    预订信息查询
    拼车座位退订
    拼车座位预订
    统计路线基信息







    拼车系统





    订单信息修改
    订单信息增加

    订单信息理
    订单信息统计
    订单信息查询

    卖家商品评价

    卖家卖家评价
    拼车评价信息理

    图11 系统功图
    16数需求业务规分析
    业务规分析分析系统中数间约束数库范围界定基述功需求通进步解拼车系统需求业务分析规:
    (1) 卖家卖家编号唯标识需存储卖家名字性密码注册日期属区域电话性姓名身份证号拼车验等信息中属区域记录省份市员工电话号码拼车验参加拼车次数统计
    (2) 卖家查询基信息参加拼车路线卖家基信息
    (3) 统计驾驶证卖家数统计身份证号零数驾驶证卖家数
    (4) 卖家修改预订信息
    (5) 卖家预订阶段预定意预订信息座位
    (6) 卖家预订阶段退订预订意预订信息座位
    (7) 预订拼车座位总数超商品商品数量
    (8) 订单信息增加预订信息预订期数达商品商品数量预订单生成订单信息果预订期预订单未凑足数做考虑:果商品商品数量5实际参加数少预订信息继续生成订单信息费实际数进行摊果商品商品数量5实际参加数少商品数量20继续生成订单信息
    (9) 订单信息删果订单信息生成数退出导致收入达60系统动删订单信息
    (10)拼车路线出发前天够预订足够(商品商品数量5(包括5)实际参加数少两商品商品数量5实际参加数少商品数量20)预定信息动失效预订信息告知已预订卖家
    (11)预订信息生成订单信息已拼车卖家原允许退出果 阻挡素非退出做处理: ①果卖家退出满足生成订单信息条件退出座位进行原座位价20惩罚②果卖家退出满足生成订单信息条件退出座位进行原座位价50惩罚罚金果拼车够继续进行拼车成功作补偿全部予商品提供者
    (12)拼车路线订单阶段果退出座位太导致法拼车进行订单信息动失效通知未退出卖家退出座位收取罚金会作订单信息失效导致未退出卖家补偿
    (13)安全舒适参加拼车卖家允许携带米二童行
    (14)原卖家中途车然订单价格付款
    17数约束分析
    (1)卖家编号约束:字母M开头加8位数字组成流水号次增check约束check(memNo like [M][09] [09] [09] [09] [09] [09] [09] [09]’)
    (2)商品编号约束:字母C开头加8位数字流水号次增check约束check(carNo like [C][09] [09] [09] [09] [09] [09] [09] [09]’)
    (3)路线编号约束:字母R开头加8位数字流水号次增check约束check(rouNo like [R][09] [09] [09] [09] [09] [09] [09] [09]’)
    (4)预订编号约束:字母B开头加8位数字流水号次增check约束check(bookNo like [B][09] [09] [09] [09] [09] [09] [09] [09]’)
    (5)卖家信息表键memNo卖家编号唯
    (6)卖家信息表中信息允许空
    (7)商品信息表键carNo商品编号唯
    (8)商品信息表中信息允许空
    (9) 路线信息表键rouNo路线编号唯
    (10) 路线信息表中信息允许空
    (11)预订信息表键bookNo预订编号唯
    (12)预订信息表中信息允许空
    (13)密码(memCode)空值612位字母数字组成
    (14)注册日期(regDate)空值数类型datetime
    (15)属区域(address)空值填写省份市(:江西省南昌市)直辖市(:海市)字数超20字
    (16)电话号码(teletphone)空值取值范围0000000000099999999999固定电话加区号输入
    (17)性(sex)空值输入fm(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字文字说明默认城市名
    18数字典
    数字典包括数项数结构数处理3部分中数项数组成单位干数项组成数结构数字典通数项数结构定义描述数流数存储逻辑容
    181数项数结构
    通建立表进行分析数项表11表110示
    表11 卖家信息表
    数项
    数类型

    否空
    约束
    取值含义
    memNo
    char(9)
    卖家编号
    Not null
    M00000001M99999999 键
    M代表客户8位序编号码
    regDate

    datetime
    注册日期
    Not null
    yyyymmdd

    memCode
    varchar(12)
    密码
    Not null
    612位字母数字组成
    输错次数超三次
    address

    varchar(20)
    属区域
    Null
    超20字

    teletphone
    char(11)
    电话
    Not null
    0000000000099999999999
    输入家庭号码输入区号
    sex
    char(2)

    Not null
    fm
    f代表男性m代表女性
    memName
    varchar(20)
    姓名
    Not null
    超20字

    birthday
    datetime
    出生日期
    Not null


    driTime

    int
    身份证号
    Not null


    carNum

    int
    拼车次数
    Not null
    成功拼车次动加


    表12商品信息表
    数项
    数类型

    否空
    约束
    取值含义
    carNo
    char(9)
    商品编号
    Not null
    C00000001C99999999 键
    C代表商品8位序编号
    carNoo
    char(6)
    商品编号
    Not null

    真实填写
    carType
    char(10)
    商品类型
    Not null
    超5字
    文字说明
    pasQuantity
    int
    商品数量
    Not null


    carTime
    int
    商品名称
    Not null


    safeCase
    varchar(20)
    卖家编号
    Not null
    超10字
    文字说明
    carRemark
    varchar(80)
    发布时间
    Null
    超40字
    文字说明
    fee
    int

    Null


    issDate
    datetime
    发布日期
    Not null



    表13路线信息表
    数项
    数类型

    否空
    约束
    取值含义
    rouNo
    char(9)
    路线编号
    Not null
    R00000001R99999999 键
    R代表路线8位序编号
    start
    varchar(40)
    出发
    Not null
    超20字
    文字说明
    distination
    varchar(40)

    Not null
    超20字
    文字说明

    182数处理
    实现预期系统功建立数处理程表14示

    表14 数处理
    编号

    处理说明
    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
    统计某目路线数
    输入目城市名路线基信息逐条查询累计计数
    31
    商品基信息增加
    求输入正确商品基信息添加商品信息表
    32
    修改商品商品编号
    先商品编号查询商品基型信息商品编号进行修改
    33
    修改商品商品类型
    先商品编号查询商品基型信息商品类型进行修改
    34
    修改商品商品数量
    先商品编号查询商品基型信息商品数量进行修改
    35
    修改商品商品名称
    先商品编号查询商品基型信息商品名称进行修改
    36
    修改商品卖家编号
    先商品编号查询商品基型信息卖家编号进行修改
    37
    修改商品发布时间
    先商品编号查询商品基型信息发布时间进行修改
    38
    修改商品价格
    先商品编号查询商品基型信息价格进行修改
    39
    商品商品编号查询商品基信息
    商品商品编号精确查询商品基信息
    40
    商品商品类型查询商品基信息
    商品类型精确查询商品基信息
    41
    商品商品数量查询商品基信息
    商品商品数量精确查询商品基信息
    42
    商品商品名称查询商品基信息
    商品商品名称精确查询商品基信息
    43
    商品卖家编号查询商品基信息
    商品卖家编号模糊查询商品基信息
    44
    商品发布时间查询商品基信息
    商品发布时间模糊查询商品基信息
    45
    商品价格查询商品基信息
    商品价格模糊查询商品基信息
    46
    商品编号查询商品基信息
    商品编号精确查询商品基信息
    47
    商品基信息删
    商品编号查询商品基信息进行删
    48
    统计某商品类型商品数
    输入某商品类型商品基信息逐条查询累计计数
    49
    统计某商品数量商品数
    输入某商品数量商品基信息逐条查询累计计数
    50
    统计某商品名称商品数
    输入某商品名称商品基信息逐条查询累计计数
    51
    统计系统商品总数
    商品基信息逐条查询累计计数
    52
    统计某区注册商品数(商品编号统计)
    输入某区特商品编号开头商品基信息逐条查询累计计数
    53
    统计车保险商品数
    查询商品基信息车保险空商品信息逐条累计计数
    54
    预订信息增加
    路线商品确定生成预订信息预订信息添加预订信息表中
    55
    预订信息修改
    预订编号精确查询预订信息进行具体修改
    56
    商品商品编号查询预订信息
    商品商品编号精确查询预订信息
    57
    商品商品类型查询预订信息
    商品商品类型精确查询预订信息
    58
    商品商品数量查询预订信息
    商品商品数量精确查询预订信息
    59
    商品商品名称查询预订信息
    商品商品名称精确查询预订信息
    60
    商品卖家编号查询预订信息
    商品卖家编号模糊查询预订信息
    61
    路线编号查询预订信息
    路线编号精确查询预订信息
    62
    路线出发查询预订信息
    路线出发精确查询预订信息
    63
    路线目查询预订信息
    路线目精确查询预订信息
    64
    预订编号查询预订信息
    预订编号精确查询预订信息
    65
    商品价格查询预订信息
    商品价格模糊查询预订信息
    66
    拼车座位预订
    条件查找预订信息然卖家编号预订座位数预订编号添加预订明细表中
    67
    拼车座位退订
    预订明细表中找已预订座位数进行修改者删明细表记录
    68
    统计商品类型预订信息数
    输入某商品类型预订信息逐条查询累计计数
    69
    统计商品数量预订信息数
    输入某商品数量预订信息逐条查询累计计数
    70
    统计某路线预订信息数
    输入某路线预订信息逐条查询累计计数
    71
    统计某出发预订信息数
    输入某出发城市名预订信息逐条查询累计计数
    72
    统计某目预订信息数
    输入某目城市名预订信息逐条查询累计计数
    73
    订单信息增加
    预订信息满足条件会动预订信息生成订单信息添加订单表中
    74
    订单信息删
    订单信息满足条件会动订单信息订单表中删
    75
    订单信息修改
    预订编号精确查询预订信息进行具体修改
    76
    商品商品编号查询订单信息
    商品商品编号精确查询订单信息
    77
    商品商品类型查询订单信息
    商品商品类型精确查询订单信息
    78
    商品商品数量查询订单信息
    商品商品数量精确查询订单信息
    79
    商品商品名称查询订单信息
    商品商品名称精确查询订单信息
    80
    商品卖家编号查询订单信息
    商品卖家编号精确查询订单信息
    81
    路线编号查询订单信息
    路线编号精确查询订单信息
    82
    路线出发查询订单信息
    路线出发城市名精确查询订单信息
    83
    路线目查询订单信息
    路线目城市名精确查询订单信息
    84
    预订编号查询订单信息
    预订编号精确查询订单信息
    85
    拼车费查询订单信息
    拼车费精确查询订单信息
    86
    统计商品类型订单信息数
    输入商品类型订单信息逐条查询累计计数
    87
    统计商品数量订单信息数
    输入商品数量订单信息逐条查询累计计数
    88
    统计某路线订单信息数
    输入路线编号订单信息逐条查询累计计数
    89
    统计某出发订单信息数
    输入路线出发订单信息逐条查询累计计数
    90
    统计某目订单信息数
    输入路线目订单信息逐条查询累计计数
    91
    卖家商品评价
    成功拼车卖家商品进行评价评价容添加商品评价表中
    92
    卖家卖家评价
    成功拼车卖家行拼车卖家进行评价评价容添加卖家评价表中
    93
    统计某路线参加拼车次数
    输入路线编号成功拼车信息逐条查询累计计数
    94
    统计某商品参加拼车次数
    输入商品编号成功拼车信息逐条查询累计计数
    95
    统计某商品类型参加拼车次数
    输入某商品类型成功拼车信息逐条查询累计计数

    2 数库概念设计
    实体集属性联系集属性进行定义ER模型设计
    21定义实体集属性
    (1)卖家实体集Member:卖家编号(memNo)注册日期(regDate)密码(memCode)属区域(address)电话号码(Teletphone)性(Sex)姓名 (memName)出生日期(datetime)身份证号(driTime)拼车次数(carNum ) 等信息
    (2)商品实体集 Car:商品编号(carNo)商品编号(carNO)商品类型(carType)商品数量(pasQuantity)商品名称(carTime)卖家编号(safeCase)发布时间(carRemark)发布日期(issDate)卖家编号(memNo)等信息
    (3)路线实体集Route:路线编号(rouNo)出发( start)目 (distination) 等信息
    22定义联系集属性
    (1)Book联系集:RouteCarMember间三元联系集表明条路线辆车组成预订信息辆车条路线组成预订信息卖家参加条拼车路线预订条拼车路线卖家预订属性:预订编号(bookNo)商品编号(carNo)路线编号(rouNo)出发日期(startDate)预订座位数(bookNum)票价(fee)预订说明(explain)集合点(gather)卖家编号(memNo)预订日期(bookDate)等信息
    (2)EvaluateC联系集:MemberCar间联系集卖家次辆车评价辆车拼车路线卖家评价属性:商品编号(carNo)卖家编号(memNo)评价容(evaluateC)等信息
    (3)EvaluateM联系集:MemberMember间联系集成功参加拼车活动卖家卖家愿评价属性:卖家编号(memNo)卖家编号(memNo)评价容(evaluateM)等信息
    (4)Control联系集:MemberCar间联系集卖家拥辆车辆车卖家拥属性:卖家编号(memNo)商品编号(carNo)等信息
    (5)Order联系集:RouteCarMember间三元联系集卖家条订单信息进行单条订单信息卖家单卖家参加条订单信息条订单信息卖家参加属性:预订编号(bookNo)商品编号(carNo)路线编号(rouNo)预订座位数(bookNum)票价(fee)订单说明(explain)集合点(gather)卖家编号(memNo)订单日期(orderDate)完成日期(completeDate)等信息
    23 ER模型设计
    系统ER模型设计仅包括基实体ER图设计包括两实体间联系ER图设计面分单实体ER图设计两实体ER图设计聚合ER图设计进行简单表示阐述

    231实体ER模型设计
    实体描述:
    (1) 卖家基属性图21示
    Member
    memNo

    driTime
    memName
    sex
    teletphone
    address
    regDate
    memCode
    carNum
    birthday














    图21 Member实体集





    (2) 商品基属性图22示
    Car
    safeCase
    carTime
    carQuantity
    carType

    issDate
    carNO
    carNo
    carRemark













    图22 Car实体集

    (3) 路线基属性图23示

    couNo

    start
    distination
    Route








    图23 Route实体集

    232二元联系ER模型设计

    (1) EvaluateC联系集ER图图24示
    evaluateDate
    evaluateM



    EvaluateC

    Car
    Member
    M N


    图24 EvaluateC联系集

    (2) Control联系集ER图图25示

    Control

    Car
    Member
    1 M


    图25 Control联系集

    (3) EvaluateM联系集ER图图26示

    evaluateDate
    evaluateC


    EvaluateM

    Member
    N
    M

    图26 EvaluateM联系集

    233三元联系ER模型设计

    (1)Book联系集ER图图27示
    Member

    Route
    Car

    Book
    bookNo
    bookDate
    bookNum
    explain
    fee
    startDate
    gateher



    M N





    P



    图27 Book联系集

    (2)Order联系集ER图图28示
    Member

    Route
    Car

    Order
    bookNo
    startDate
    bookNum
    explain
    fee
    completeDate
    gateher



    M N





    P


    图28 Order联系集
    234总ER模型设计

    (1) 总体E—R图图28示
    EvaluateC

    Member
    EvaluateM
    M M
    N


    M M 1
    M
    Order
    Book
    Control


    N P N
    Route

    P
    Car



    图 28 总ER图
    3 逻辑设计
    次设计数库SQL Server 2000实现概念结构设计中ER图转换成SQL Sever 2000支持关系数模型
    31实体转化关系模式
    实体分转换单独张表
    (1)卖家实体集Member:
    Member(memNo regDatememCodeaddressteletphoneSexmemNamedatetimedriTimecarNum)
    (2)路线实体集Route:
    Route(rouNostartdistination)
    (3)商品实体集Car:
    Car(carNocarNoocarTypepasQuantitycarTimesafeCase carRemarkissDate)
    32联系转化关系模式
    (1)1M处理:联系属性放参联系边实体集中
    ① Control联系集:Car属性中增加属性memNo
    Car(carNocarNoocarTypepasQuantitycarTimesafeCase carRemarkissDatememNo)
    (2)MN处理:联系集码参联系集中实体集码
    组成
    ① EvaluateC联系集:
    EvealuateC(carNomemNoevaluateDateevaluateC)
    ② EvaluateM联系集:
    EvealuateM(memNomemNooevaluateDateevaluateM)
    (3)MNP处理:三元联系码参联系集实体集码够唯确定
    ① Book联系集:
    Book(carNorouNostartDatebookDatebookNumfeeexplaingatherbookNomemNoquantityprice)
    ② Order联系集:
    Order(carNorouNocompleteDateorderDatebookNumfeeexplaingatherbookNomemNoquantityprice)
    33关系设计
    关系设计包括转换表函数赖关系转换关系表31表37示
    表31 卖家信息表
    数项
    数类型

    否空
    约束
    取值含义
    memNo
    char(9)
    卖家编号
    Not null
    M00000001M99999999 键
    M代表客户8位序编号
    regDate

    datetime
    注册日期
    Not null
    yyyymmdd

    memCode
    varchar(12)
    密码
    Not null
    612位字母数字组成
    输错次数超三次
    address

    varchar(20)
    属区域
    Null
    超20字

    teletphone
    char(11)
    电话
    Not null
    0000000000099999999999
    输入家庭号码输入区号
    sex
    char(2)

    Not null
    fm
    f代表男性m代表女性
    memName
    varchar(20)
    姓名
    Not null
    超20字

    birthday
    datetime
    出生日期
    Not null


    driTime

    int
    身份证号
    Not null


    carNum

    int
    拼车次数
    Not null
    成功拼车次动加


    表32 商品信息表
    数项
    数类型

    否空
    约束
    取值含义
    carNo
    char(9)
    商品编号
    Not null
    C00000001C99999999 键
    C代表商品8位序编号
    carNoo
    char(6)
    商品编号
    Not null

    真实填写
    carType
    varchar(10)
    商品类型
    Not null
    超5字
    文字说明
    pasQuantity
    int
    商品数量
    Not null


    carTime
    int
    商品名称
    Not null


    safeCase
    varchar(20)
    卖家编号
    Not null
    超10字
    文字说明
    carRemark
    varchar(80)
    发布时间
    Null
    超40字
    文字说明
    fee
    int




    issDate
    datetime
    发布日期
    Not null


    memNo
    char(9)
    卖家编号
    Not null
    M00000001M99999999
    M代表客户8位序编号

    表33路线信息表
    数项
    数类型

    否空
    约束
    取值含义
    rouNo
    char(9)
    路线编号
    Not null
    R00000001R99999999 键
    R代表路线8位序编号
    start
    varchar(40)
    出发
    Not null
    超20字
    文字说明
    distination
    varchar(40)

    Not null
    超20字
    文字说明

    表34预订信息表
    数项
    数类型

    否空
    约束
    取值含义
    bookNo
    char(9)
    预订编号
    Not null
    B00000001B99999999 键键
    B代表路线8位序编号
    carNo
    char(9)
    商品编号
    Not null
    C00000001C99999999 外键
    商品信息表
    rouNo
    char(9)
    路线编号
    Not null
    R00000001R99999999 外键
    路线信息表
    memNo
    char(9)
    卖家编号
    Not null
    M00000001M99999999 外键
    卖家信息表
    startDate
    datetime
    出发日期
    Not null


    bookDate
    datetime
    发布日期
    Not null


    bookNum
    int
    预订座位数
    Not null


    fee
    int
    票价
    Not null


    explain
    varchar(200)
    预订说明
    Null
    超40字
    文字说明
    gather
    varchar (80)
    集合点
    Not null
    超40字
    文字说明
    quantity
    int
    座位数
    Not null


    price
    int
    单价价
    Not null



    表35订单信息表
    数项
    数类型

    否空
    约束
    取值含义
    bookNo
    char(9)
    订单编号
    Not null
    B00000001B99999999 键
    B代表路线8位序编号
    carNo
    char(9)
    商品编号
    Not null
    C00000001C99999999 外键
    商品信息表
    rouNo
    char(9)
    路线编号
    Not null
    R00000001R99999999 外键
    路线信息表
    carNo
    char(9)
    商品编号
    Not null
    C00000001C99999999 外键
    商品信息表
    startDate
    datetime
    出发日期
    Not null


    completeDate
    datetime
    完成日期
    Not null


    bookNum
    int
    预订座位数
    Not null


    fee
    int
    票价
    Not null


    explain
    varchar(200)
    预订说明
    Null
    超40字
    文字说明
    gather
    varchar(80)
    集合点
    Not null
    超40字
    文字说明
    quantity
    int
    座位数
    Not null


    price
    int
    单价价
    Not null



    表36商品评价信息表
    数项
    数类型

    否空
    约束
    取值含义
    carNo
    char(9)
    商品编号
    Not null
    C00000001C99999999 外键
    商品信息表
    memNo
    char(9)
    卖家编号
    Not null
    M00000001M99999999 外键
    卖家信息表
    evaluateC
    varchar(50)

    Not null
    超25字
    文字说明
    evaluateDate
    datetime
    评价时间
    Not null



    表37卖家评价信息表
    数项
    数类型

    否空
    约束
    取值含义
    memNo
    char(9)
    卖家编号
    Not null
    C00000001C99999999 外键
    卖家信息表
    memNoo
    char(9)
    卖家编号
    Not null
    C00000001C99999999 外键
    卖家信息表
    evaluateM
    varchar(50)

    Not null
    超25字
    文字说明
    evaluateDate
    datetime
    评价时间
    Not null



    33函数关系赖
    (1) 卖家信息表
    R1(卖家编号注册日期密码属区域电话号码性姓名出生日期身份证号拼车次数)∈3NF
    (2) 商品信息表
    R2(商品编号商品编号商品类型商品数量商品名称卖家编号发布时间发布日期价格卖家编号)∈3NF
    (3) 路线信息表
    R3(路线编号出发目)∈3NF
    (4) 预订信息表
    R4(卖家编号商品编号路线编号出发日期预订座位数票价预订说明集合点座位数单价)∈2NF
    (5) 订单信息表
    R5(商品编号路线编号卖家编号出发日期预订座位数票价订单说明集合点座位数单价)∈2NF
    (6) 商品评价信息表
    R6(商品编号卖家编号评价日期评)∈3NF
    (7) 卖家评价信息表
    R7(卖家编号卖家编号评价日期评)∈3NF
    34模式求精
    仔细分析表34表35知道许卖家参加预订信息订单信息时carNorouNo等许信息重复仅仅memNopricequantity等属性会造成量冗余两表属性分产生张明细表预订表订单表中分加预订编号订单编号做码
    (1)Book联系集产生预订表(Book)预订明细表(BookDetail):
    Book(bookNocarNorouNostartDatebookDatebookNumfeeexplain
    gather)
    BookDetail(bookNomemNoquantityprice)
    验证关系模式BookBookDetail满足BCNF求分解损连接
    转化成应表:
    表38预订表
    数项
    数类型

    否空
    约束
    取值含义
    bookNo
    char(9)
    预订编号
    Not null
    B00000001B99999999 PK
    B代表路线8位序编号
    carNo
    char(9)
    商品编号
    Not null
    C00000001C99999999 FK
    商品信息表
    rouNo
    char(9)
    路线编号
    Not null
    R00000001R99999999 FK
    路线信息表
    startDate
    datetime
    出发日期
    Not null


    bookDate
    datetime
    发布日期
    Not null


    bookNum
    int
    预订座位数
    Not null


    fee
    int
    票价
    Not null


    explain
    varchar(80)
    预订说明
    Null
    超40字
    文字说明
    gather
    varchar (80)
    集合点
    Not null
    超40字
    文字说明

    表39 预订明细表
    数项
    数类型

    否空
    约束
    取值含义
    bookNo
    char(9)
    预订编号
    Not null
    B00000001B99999999 PK
    B代表路线8位序编号
    memNo
    char(9)
    卖家编号
    Not null
    M00000001M99999999 PK
    卖家信息表
    quantity
    int
    座位数
    Not null


    price
    int
    单价价
    Not null



    (2)Order联系集产生订单表(Order)订单明细表(OrderDetail):
    Order(bookNocarNorouNocompleteDateorderDatebookNumfee
    explaingather)
    OrderDetail(bookNomemNoquantityprice)
    验证关系模式OrderOrderDetail满足BCNF求分解损连接
    转化成应表:
    表310订单表
    数项
    数类型

    否空
    约束
    取值含义
    bookNo
    char(9)
    订单编号
    Not null
    B00000001B99999999 PK
    B代表路线8位序编号
    carNo
    char(9)
    商品编号
    Not null
    C00000001C99999999 FK
    商品信息表
    rouNo
    char(9)
    路线编号
    Not null
    R00000001R99999999 FK
    路线信息表
    startDate
    datetime
    出发日期
    Not null


    completeDate
    datetime
    完成日期
    Not null


    bookNum
    int
    预订座位数
    Not null


    fee
    int
    票价
    Not null


    explain
    varchar(80)
    预订说明
    Null
    超40字
    文字说明
    gather
    varchar(80)
    集合点
    Not null
    超40字
    文字说明

    表311订单明细表
    数项
    数类型

    否空
    约束
    取值含义
    bookNo
    char(9)
    预订编号
    Not null
    B00000001B99999999 PK
    B代表路线8位序编号
    memNo
    char(9)
    卖家编号
    Not null
    M00000001M99999999 PK
    卖家信息表
    quantity
    int
    座位数
    Not null


    price
    numeric(72)
    单价价
    Not null



    模式求精整拼车系统确定关系表:
    ①表31卖家信息表 Member
    ②表32商品信息表 Car
    ③表33路线表Route
    ④表34商品评价信息表EvealuateC
    ⑤表35卖家评价信息表 EvealuateM
    ⑥表38拼车预订表 Book
    ⑦表39预订明细表 BookDetail
    ⑧表310 订单表 Order
    ⑨表311 订单明细表 OrderDetail
    4 物理设计
    逻辑设计基础关系模式存储方式数库存取结构进行物理优化
    41关系模式存储方式选择
    提高数库数存取速度需设置合适存取方式采两类存取方式
    411索引存取方式采B+ 树索引方法
    (1)Member表数量相中memName(员工姓名)teletphone(电话号码) 等属性列 Route表start(出发)distination(目)等属性列Car表carType(商品类型)等属性常出现查询条件中表中列中建立索引
    (2)Member表memNo(卖家编号)Route表rouNo(路线编号)Car表 carNo(商品编号)Book表bookNo(预订编号)等属性列常出现链接操作链接条件中列建立B+树索引
    (3)bookDetail表price(单价)quantity(座位数)Book表中fee(票价)等属性列常查询表中建立索引
    412聚簇存取方式
    (1)特殊说明表外余表键默认建立聚簇索引
    (2)预订明细表订单明细中数量常查询数加快查询速度BookDetail表quantityOrderDetail表quantity列建立聚簇索引
    42数库存取结构
    提高系统整体性数库中数组织分文件分开进行存储
    421数存放位置
    数库中数组织primary文件进行存储表数进行分析
    (1)数相稳定数量较常查询表存组符合该条件表:
    表33路线表Route
    (2)数变动性较数量较查询较表符合条件表:
    表31卖家信息表 Member
    表32商品信息表 Car
    表34 商品评价信息表EvealuateC
    表35 卖家评价信息表 EvealuateM
    表38预订表 Book
    表39 预订明细表 BookDetail
    表310 订单表 Order
    表311 订单明细表 OrderDetail
    422数存储路径
    (1)目前实验条件根实验需求数文件存储路径中
    create database cardb
    on primary
    ( name'cardb'
    filename' I\Work2\cardbmdf'
    size5
    maxsize20
    filegrowth 1 )
    log on
    ( name'carlog'
    filename' I\Work2\carlogldf'
    size2
    maxsize8
    filegrowth1)
    Go
    5 数库脚
    set nocount on
    set dateformat ymd
    use master
    go
    if not exists(select * from syslogins where name'user01')
    exec sp_addlogin user01user01
    go
    *create database*
    if exists(select *from sysdatabases where name'CarDB')
    drop database CarDB
    go
    create database CarDB
    on primary
    (name'CarDB'
    filename'I\Work2\CarDBmdf'
    size1
    maxsize5
    filegrowth1)
    log on
    (name'CarLog'
    filename'I\Work2\CarLogldf'
    size1
    maxsize5
    filegrowth1)
    go

    *data mydatabase*
    use CarDB
    go

    * add my user*
    exec sp_adduser user01user01
    go


    *卖家信息表*
    print'creat table Member'
    go
    CREATE TABLE Member(
    memNo char(9) not null *卖家编号*
    check(memNo like '[M][09][09][09][09][09][09][09][09]')
    memName char(20) not null *姓名*
    sex char(1) not null *卖家性*
    birthday datetime null *卖家生日*
    address char(20) null *属区域*
    telephone char(11) not null *电话号码*
    regDate datetime not null *注册日期*
    memCode varchar(12) not null *密码*
    driTime int not null *身份证号*
    carNum int not null *拼车次数*
    constraint MemberPK primary key (memNo)
    )
    go
    grant all on Member to user01
    go

    *事表(Member)数:*
    insert Member values('M00000011''喻强''M''19650415''南京市' '13817605008' '19900206''123456'20)
    insert Member values('M00000012''张梅''F''19731101''海市' '13607405016' '19910328''abcdef'31)
    insert Member values('M00000013''张娟''F''19730306''海市' '13707305025' '19920328''abc123'53)
    insert Member values('M00000014''张露' 'F''19670105''南昌市' '15907205134' '19900328''lct123'60)
    insert Member values('M00000015''张东''M''19730903''南昌市' '15607105243' '19920328''567890'57)
    insert Member values('M00000016''陈辉' 'M''19651101''南昌市' '13607705352' '19900328''qwerty'84)
    insert Member values('M00000017''韩梅' 'F''19731211''海市' '13807805461' '19901128''zxcvbn'31)
    insert Member values('M00000018''刘风' 'F''19730521''福州市' '15907805578' '19910228''asdfgh'10)

    insert Member values('M00000019''林翠涛''M''19880502''福州市' '15083822523' '19910228''asuigh'10)
    insert Member values('M00000020''罗乐' 'M''19890521''南昌市' '13576964531' '19910228''aerfgh'80)
    insert Member values('M00000021''万杨' 'M''19890511''南昌市' '15083824034' '19910228''awefgh'10)
    insert Member values('M00000022''李宗耀' 'M''19900211''宜昌市' '13597162578' '19910228''asdsdh'20)
    insert Member values('M00000023''刘阳' 'M''19880521''赣州市' '13507000491' '19910228''asdfgh'50)
    insert Member values('M00000024''刘翔' 'M''19730721''海市' '13617002461' '19910228''ascfgh'10)

    insert Member values('M00000025''赵婷' 'F''19890521''连市' '15083822752' '19910228''asdfgh'30)
    insert Member values('M00000026''陈晓燕' 'F''19880713''福州市' '15270988511' '19910228''asdfgh'60)
    insert Member values('M00000027''陈潇雅' 'F''19890821''赣州市' '15270986085' '19910228''asdfgh'10)
    insert Member values('M00000028''杨冬梅' 'F''19890529''嘉兴市' '15083825646' '19910228''asdfgh'20)
    insert Member values('M00000029''陶阳' 'F''19680518''哈尔滨市' '13614962510' '19910228''asdfgh'10)
    insert Member values('M00000030''熊云' 'F''19900523''南昌市' '15879185531' '19910228''asdfgh'90)
    go


    *商品信息表*
    print 'create Car'
    go
    create table Car(
    CarNo char(9) not null primary key*商品编号*
    check(CarNo like '[C][09][09][09][09][09][09][09][09]')
    CarNoo char(8) not null *商品编号*
    carType varchar(10) not null *商品类型*
    pasNumber int not null *商品数量*
    carTime int not null *商品名称*
    safeCase varchar(20) not null *卖家编号*
    carRemark varchar(80) null *发布时间*
    fee int null *出租金额*
    issDate datetime not null *发布日期*
    memNo char(9) not null *卖家编号*
    )
    go
    grant all on Car to user01
    go

    *客户表(Car)数:*
    insert Car values('C00000001''鲁KK5555''巴' '10''2''全险''南昌北京'4000 '20080109''M00000011')
    insert Car values('C00000002''陕AT1234''轿车' '3' '2''全险''南昌海'2100 '20080109''M00000012')
    insert Car values('C00000003''赣A12345''出租车' '3' '2''全险' null null '20080109''M00000013')
    insert Car values('C00000004''赣A00001''商务车' '5' '2''全险' null null '20080109''M00000014')
    insert Car values('C00000005''赣A00002''面' '7' '2''全险' null null '20080109''M00000015')
    insert Car values('C00000006''赣A00003''轿车' '4' '2''全险' null null '20080109''M00000016')
    insert Car values('C00000007''赣B00001''奔驰' '3' '2''全险''南昌福州'1500 '20080109''M00000017')
    insert Car values('C00000008''赣B00002''巴' '10''2''全险' null null '20080109''M00000018')
    insert Car values('C00000009''赣C00001''宝马' '3' '2''全险' null null '20080109''M00000019')
    insert Car values('C00000010''赣C00002''巴' '10''2''全险''南昌云南'6000 '20080109''M00000020')

    insert Car values('C00000011''赣C02364''巴' '10''2''全险''南昌云南'6000 '20080109''M00000020')
    insert Car values('C00000012''赣CK4568''巴' '10''2''全险''南昌云南'6000 '20080109''M00000021')
    insert Car values('C00000013''赣C88953''巴' '10''2''全险''南昌云南'6000 '20080109''M00000022')
    insert Car values('C00000014''赣C95678''巴' '10''2''全险''南昌云南'6000 '20080109''M00000023')
    insert Car values('C00000015''赣C23567''巴' '10''2''全险''南昌云南'6000 '20080109''M00000024')
    insert Car values('C00000016''赣C12785''巴' '10''2''全险''南昌云南'6000 '20080109''M00000025')
    go



    *路线信息表*
    print 'create Route'
    go
    create table Route(
    rouNo char(9) not null primary key *路线编号*
    check(rouNo like '[R][09][09][09][09][09][09][09][09]')
    start varchar(40) not null *出发*
    distination varchar(40) not null *目*
    )
    go
    grant all on Route to user01
    go
    *路线(Route)数:*
    insert Route values('R00000001''南昌''北京')
    insert Route values('R00000002''南昌''海')
    insert Route values('R00000003''南昌''福州')
    insert Route values('R00000004''南昌''天津')
    insert Route values('R00000005''南昌''锡')
    insert Route values('R00000006''海''北京')
    insert Route values('R00000007''海''福州')
    insert Route values('R00000008''海''理')
    insert Route values('R00000009''北京''海')
    insert Route values('R00000010''北京''天津')
    insert Route values('R00000011''北京''南昌')
    insert Route values('R00000012''北京''海')
    insert Route values('R00000013''理''海')
    insert Route values('R00000014''桂林''海')
    insert Route values('R00000015''桂林''南昌')
    insert Route values('R00000016''南昌''三明')

    insert Route values('R00000017''南昌''龙岩')
    insert Route values('R00000018''南昌''哈尔滨')
    insert Route values('R00000019''南昌''赣州')
    insert Route values('R00000020''南昌''宜春')
    insert Route values('R00000021''南昌''理')
    insert Route values('R00000022''南昌''长春')
    insert Route values('R00000023''南昌''济南')
    insert Route values('R00000024''南昌''青岛')
    insert Route values('R00000025''南昌''厦门')

    insert Route values('R00000026''南昌''广州')
    insert Route values('R00000027''南昌''深圳')
    insert Route values('R00000028''南昌''武汉')
    insert Route values('R00000029''南昌''成')
    insert Route values('R00000030''南昌''西安')
    insert Route values('R00000031''南昌''杭州')
    insert Route values('R00000032''南昌''宁波')
    insert Route values('R00000033''南昌''嘉兴')

    go



    *预订表*
    print 'create BookMaster'
    go
    create table BookMaster(
    bookNo char(9) not null primary key*预订编号*
    check(bookNo like '[B][09][09][09][09][09][09][09][09]')
    carNo char(9) not null *商品编号*
    rouNo char(9) not null *路线编号*
    startDate datetime not null *出发日期*
    bookDate datetime not null *预订发布日期*
    bookNum int not null *剩余票数*
    price numeric(72) not null *座位单价*
    explain varchar(200) null *预订说明*
    gather varchar(80) not null *集合点*
    constraint BookMasterFK1 foreign key(carNo) references Car(CarNo)
    constraint BookMasterFK2 foreign key(rouNo) references Route(rouNo)
    )
    go
    grant all on BookMaster to user01
    go
    *预订表(Book)数:*
    insert BookMaster values('B00000001''C00000001''R00000001''20101220''20101215'140000'路途遥远途吃饭时间会停车吃饭然愿哦天气较冷希做带保暖衣服特果带孩卖家哦''12月20日早八点南昌八广场集合卖家迟哦')
    insert BookMaster values('B00000002''C00000010''R00000016''20101220''20101215'160000'路途遥远途吃饭时间会停车吃饭然愿哦天气较冷希做带保暖衣服特果带孩卖家哦''12月20日早八点南昌八广场集合卖家迟哦')
    insert BookMaster values('B00000003''C00000002''R00000002''20101220''20101215'170000'路途遥远途吃饭时间会停车吃饭然愿哦天气较冷希做带保暖衣服特果带孩卖家哦''12月20日早八点南昌八广场集合卖家迟哦')
    insert BookMaster values('B00000004''C00000001''R00000002''20101220''20101215'1040000'路途遥远途吃饭时间会停车吃饭然愿哦天气较冷希做带保暖衣服特果带孩卖家哦''12月20日早八点南昌八广场集合卖家迟哦')
    insert BookMaster values('B00000005''C00000001''R00000002''20101220''20101215'1040000'路途遥远途吃饭时间会停车吃饭然愿哦天气较冷希做带保暖衣服特果带孩卖家哦''12月20日早八点南昌八广场集合卖家迟哦')
    insert BookMaster values('B00000006''C00000001''R00000002''20101220''20101215'1040000'路途遥远途吃饭时间会停车吃饭然愿哦天气较冷希做带保暖衣服特果带孩卖家哦''12月20日早八点南昌八广场集合卖家迟哦')
    insert BookMaster values('B00000007''C00000001''R00000002''20101220''20101215'1040000'路途遥远途吃饭时间会停车吃饭然愿哦天气较冷希做带保暖衣服特果带孩卖家哦''12月20日早八点南昌八广场集合卖家迟哦')

    go



    *预订明细表*
    print 'create BookDetail'
    go
    create table BookDetail(
    bookNo char(9) not null *预订编号*
    memNo char(9) not null *卖家编号*
    quantity int not null *座位数量*
    sumprice numeric(72) not null *预订总额*
    constraint BookDetailFK1 foreign key(bookNo) references BookMaster(bookNo)
    constraint BookDetailFK2 foreign key(memNo) references Member(memNo)
    )
    go
    grant all on BookDetail to user01
    go
    *预订明细表(bookDetail)数:*
    insert BookDetail values('B00000001''M00000011'2 80000)
    insert BookDetail values('B00000001''M00000012'2 80000)
    insert BookDetail values('B00000001''M00000013'1 40000)
    insert BookDetail values('B00000001''M00000014'2 80000)
    insert BookDetail values('B00000001''M00000015'2 80000)
    insert BookDetail values('B00000001''M00000016'1 40000)

    insert BookDetail values('B00000002''M00000016'2 120000)
    insert BookDetail values('B00000002''M00000017'2 120000)
    insert BookDetail values('B00000002''M00000018'1 60000)
    insert BookDetail values('B00000002''M00000019'2 120000)
    insert BookDetail values('B00000002''M00000020'2 120000)
    insert BookDetail values('B00000002''M00000016'1 60000)

    insert BookDetail values('B00000003''M00000021'1 70000)
    insert BookDetail values('B00000003''M00000022'1 70000)
    go


    *订单表*
    print 'create OrderMaster'
    go
    create table OrderMaster(
    orderNo char(9) not null primary key *预订编号*
    check(orderNo like '[B][09][09][09][09][09][09][09][09]')
    carNo char(9) not null *商品编号*
    rouNo char(9) not null *路线编号*
    startDate datetime not null *出发日期*
    completeDate datetime not null *完成日期*
    bookNum int not null *预订座位数*
    fee int not null *票价*
    explain varchar(200) null *预订说明*
    gather varchar(80) not null *集合点*

    constraint OrderMasterFK1 foreign key(carNo) references Car(CarNo)
    constraint OrderMasterFK2 foreign key(rouNo) references Route(rouNo)
    )
    go
    grant all on OrderMaster to user01
    go
    *订单表(orderdetail)数:*
    insert OrderMaster values('B00000004''C00000007''R00000003''20101220''20101230'350000'路途遥远途吃饭时间会停车吃饭然愿哦天气较冷希做带保暖衣服特果带孩卖家哦''12月20日早八点南昌八广场集合卖家迟哦')

    go



    *订单明细表*
    print 'create OrderDetail'
    go
    create table OrderDetail(
    orderNo char(9) not null *预订编号*
    memNo char(9) not null *卖家编号*
    quantity int not null *座位数量*
    price numeric(72) not null *座位单价*
    constraint OrderDetailFK1 foreign key(orderNo) references OrderMaster(orderNo)
    constraint OrderDetailFK2 foreign key(memNo) references Member(memNo)
    )
    go
    grant all on OrderDetail to user01
    go
    *订单明细表(OrderDetail)数:*
    insert OrderDetail values('B00000004''M00000021'1 50000)
    insert OrderDetail values('B00000004''M00000022'1 50000)
    insert OrderDetail values('B00000004''M00000023'1 50000)
    go


    *商品评价表*
    print 'create EvealuateC'
    go
    create table EvealuateC(
    carNo char(9) not null *商品编号*
    memNo char(9) not null *卖家编号*
    evaluateDate datetime not null *评价日期*
    evaluateC varchar(100) not null *评价容*
    constraint EvealuateCFK1 foreign key(carNo) references Car(carNo)
    constraint EvealuateCFK2 foreign key(memNo) references Member(memNo)
    )
    go
    grant all on EvealuateC to user01
    go
    insert EvealuateC values('C00000007''M00000021''20101230''车新舒服')
    insert EvealuateC values('C00000007''M00000022''20101230''路利噪音')
    insert EvealuateC values('C00000007''M00000023''20101230''新车舒服')
    go



    *商品评价表*
    print 'create EvealuateM'
    go
    create table EvealuateM(
    memNo char(9) not null *卖家编号*
    memNoo char(9) not null *卖家编号*
    evaluateDate datetime not null *评价日期*
    evaluateM varchar(100) not null *评价容*
    constraint EvealuateMFK1 foreign key(memNo) references Member(memNo)
    constraint EvealuateMFK2 foreign key(memNo) references Member(memNo)
    )
    go
    grant all on EvealuateM to user01
    go
    insert EvealuateM values('M00000021''M00000022''20101230''挺路帮助谢谢')
    insert EvealuateM values('M00000021''M00000023''20101230''开心果拼车愉快')
    insert EvealuateM values('M00000022''M00000021''20101230''出门做准备哦')
    insert EvealuateM values('M00000022''M00000023''20101230''')
    insert EvealuateM values('M00000023''M00000021''20101230''')
    insert EvealuateM values('M00000023''M00000022''20101230''')
    go

    订单表中orderNo属性建立唯非聚簇索引
    CREATE UNIQUE
    INDEX OrderMaster_orderNo
    ON OrderMaster(orderNo)

    预订明细表bookNo属性建立非聚簇索引
    CREATE
    INDEX BookDetail_bookNo
    ON BookDetail(bookNo)

    预订表中bookNo属性建立唯非聚簇索引
    CREATE UNIQUE
    INDEX BookMaster_bookNo
    ON BookMaster(bookNo) ON

    6 触发器存储程
    1根卖家姓名查询该卖家拥商品评信息(游标循环语句编写存储程)

    Create procedure mem_evaluateC @memberName varchar(20)
    as
    begin
    declare @memberNo char(9)@carNo char(9)@evaluateC varchar(100)@evaluateDate datetime

    declare mem_car cursor for
    select cmemNoccarNoevaluateDateevaluateC
    from Member aCar bEvealuateC c
    where amemName@memberName and amemNobmemNo and bcarNoccarNo
    open mem_car
    fetch mem_car into @memberNo@carNo@evaluateDate@evaluateC
    while(@@fetch_status0)
    begin
    select 卖家@memberNo商品@carNo评价日期@evaluateDate评价容@evaluateC
    fetch mem_car into @memberNo@carNo@evaluateDate@evaluateC
    end
    close mem_car
    deallocate mem_car
    end

    检验代码:
    exec mem_evaluateC '韩梅'

    2根卖家姓名查询正参加拼车预订信息

    create procedure mem_book @memberName varchar(20)
    as
    begin
    declare @bookNo char(9)@rouNo char(9)@start varchar(40)@distination varchar(40)@carNo char(9)@carNoo char(8)@carType varchar(10)
    @startDate datetime@bookDate datetime@bookNum int@price numeric(72)@explain varchar(200)@gather varchar(80)
    declare mem_name cursor for
    select cbookNoarouNoastartdistinationbcarNocarNoocarTypestartDatebookDatebookNumpriceexplaingather
    from Route aCar bBookMaster cbookDetail dMember f
    where fmemNodmemNo and fmemName@memberName and dbookNocbookNo and crouNoarouNo and ccarNobcarNo
    open mem_name
    fetch mem_name into @bookNo@rouNo@start@distination@carNo@carNoo@carType@startDate@bookDate@bookNum@price@explain@gather
    while(@@fetch_status0)
    begin
    select 预订编号@bookNo路线编号@rouNo出发@start目@distination车编号@carNo商品编号@carNoo商品类型@carType出发日期@startDate
    信息发布日期@bookDate剩余票数@bookNum单价@price预订说明@explain集合点@gather
    fetch mem_name into @bookNo@rouNo@start@distination@carNo@carNoo@carType@startDate@bookDate@bookNum@price@explain@gather
    end
    close mem_name
    deallocate mem_name
    end

    检验代码:
    exec mem_book '韩梅'

    3根出发目查询商品信息

    create procedure carinformation @start varchar(40)@distination varchar(40)
    as
    begin
    declare @carNo char(9)@carNoo char(8)@carType varchar(10)@pasNumber int@carTime int@carRemark varchar(80)@fee int@issDate datetime@memNo char(9)

    declare car_infromation cursor for
    select carNocarNoocarTypepasNumbercarTimecarRemarkfeeissDatememNo
    from (select *
    from Car
    where carRemark like ''+@start+'') a
    where acarRemark like ''+@distination+''
    open car_infromation
    fetch car_infromation into @carNo@carNoo@carType@pasNumber@carTime@carRemark@fee@issDate@memNo
    while(@@fetch_status0)
    begin
    select 商品编号@carNo商品编号@carNoo商品类型@carType座位数@pasNumber商品名称@carTime
    出租说明@carRemark价格@fee发布日期@issDate车编号@memNo
    fetch car_infromation into @carNo@carNoo@carType@pasNumber@carTime@carRemark@fee@issDate@memNo
    end
    close car_infromation
    deallocate car_infromation
    end

    检验代码:
    exec carinformation '南昌''云南'

    4根出发目查询预订信息

    create procedure bookinformation @start1 varchar(40)@distination1 varchar(40)
    as
    begin
    declare @bookNo char(9)@rouNo char(9)@start varchar(40)@distination varchar(40)@carNo char(9)@carNoo char(8)@carType varchar(10)
    @startDate datetime@bookDate datetime@bookNum int@price numeric(72)@explain varchar(200)@gather varchar(80)

    declare book_information cursor for
    select cbookNoarouNoastartdistinationbcarNocarNoocarTypestartDatebookDatebookNumpriceexplaingather
    from Route aCar bBookMaster cbookDetail dMember f
    where fmemNodmemNo and astart like ''+@start1+'' and adistination like ''+@distination1+'' and dbookNocbookNo and crouNoarouNo and

    ccarNobcarNo

    open book_information
    fetch book_information into @bookNo@rouNo@start@distination@carNo@carNoo@carType@startDate@bookDate@bookNum@price@explain@gather
    while(@@fetch_status0)
    begin
    select 预订编号@bookNo路线编号@rouNo出发@start目@distination车编号@carNo商品编号@carNoo商品类型@carType出发日期@startDate
    信息发布日期@bookDate剩余票数@bookNum单价@price预订说明@explain集合点@gather
    fetch book_information into @bookNo@rouNo@start@distination@carNo@carNoo@carType@startDate@bookDate@bookNum@price@explain@gather
    end
    close book_information
    deallocate book_information
    end

    drop procedure bookinformation

    检验代码:
    exec bookinformation '南昌''海'

    5卖家预订票时候预订票数果剩余票数预订信息直接插入达预订明细表中修改预订表中剩余票数果等剩余票数预订信息插入订单明细表中时预订明细表中拼车路线预订信息转订单明细表中样应预订表中预定信息转订单表中修改订单表中剩余票数
    Create trigger book_order
    on BookDetail
    for insert
    as
    if(select count(*) from inserted)>1
    rollback
    else
    Begin
    declare @quantity int@bookNo char(9)@sum int@bookNum int

    declare inserted1 cursor for
    select bookNoquantity
    from inserted
    open inserted1

    fetch inserted1 into @bookNo@quantity
    while(@@fetch_status0)
    begin
    select @bookNumbookNum
    from BookMaster
    where bookNo@bookNo

    if(@bookNum<>@quantity) 否等剩余票数
    begin
    if(@bookNum>@quantity)
    begin
    update BookMaster 更新剩余票数
    set bookNum@bookNum@quantity

    end

    else
    rollback
    end
    else
    begin

    declare @carNo char(9)@rouNo char(9)@startDate datetime@bookDate datetime
    @explain varchar(200)@gather varchar(80)@price numeric(72)

    declare bookorder1 cursor for 预订表信息转移订单表
    select *
    from BookMaster
    where bookNo@bookNo
    open bookorder1
    fetch bookorder1 into @bookNo@carNo@rouNo@startDate@bookDate@bookNum@price@explain@gather
    while(@@fetch_status0)
    begin
    insert OrderMaster values(@bookNo@carNo@rouNo@startDate@bookDate0@price@explain@gather)
    fetch bookorder1 into @bookNo@carNo@rouNo@startDate@bookDate@bookNum@price@explain@gather
    end
    close bookorder1
    deallocate bookorder1

    declare @orderNo char(9)@memNo char(9)

    declare bookorder cursor for 预订明细表信息转移订单明细表
    select *
    from BookDetail
    where bookNo@bookNo

    open bookorder
    fetch bookorder into @orderNo@memNo@quantity@price
    while(@@fetch_status0)
    begin
    insert OrderDetail values(@orderNo@memNo@quantity@price)
    fetch bookorder into @orderNo@memNo@quantity@price
    end

    close bookorder
    deallocate bookorder

    delete from BookDetail
    where bookNo@bookNo

    delete from BookMaster
    where bookNo@bookNo

    end
    fetch inserted1 into @bookNo@quantity
    end

    close inserted1
    deallocate inserted1
    end
    drop trigger book_order

    检验代码:
    insert BookDetail values('B00000001''M00000016'1 40000)

    6预订信息转订单信息时参加条订单卖家应卖家信息拼车次数动增加次

    create trigger carNum
    on OrderMaster
    for insert
    as
    begin
    if(select count(*) from inserted )>1
    rollback
    else
    begin
    declare @orderNo char(9)
    declare carNum1 cursor for
    select orderNo
    from inserted
    open carNum1
    fetch carNum1 into @orderNo
    while(@@fetch_status0)
    begin
    update Member set carNumcarNum+1
    from inserted abookDetail bmember c
    where aorderNo@orderNo and aorderNobbookNo and bmemNocmemNo
    fetch carNum1 into @orderNo
    end
    close carNum1
    deallocate carNum1
    end
    end

    检验代码
    insert BookDetail values('B00000001''M00000016'1 40000)

    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 10 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    数据库设计报告

       数据库设计报告 来自:http://www.chinaspis.com 作者:林锐 电子工业出版社出版发行 { 项目名称 } 数据库设计报告 文件状态: [√] 草稿...

    13年前   
    23407    0

    关系数据库设计教案

    关系数据库设计(新授课教案七)【教学目标】1、能说出关系数据库设计中存在的问题2、会背诵函数依赖、范式和模式分解等概念3、能说出关系数据库设计的步骤4、学会设计简单的关系数据库5、知道E-R模...

    9个月前   
    218    0

    在线答题系统数据库设计

    在线答题系统(选择题、判断题)数据库设计选择题由choice_question和choice_answer组成,分别用于存储选择题的题目信息和考生的答题记录。choice_question的各...

    3年前   
    911    0

    图书管理系统数据库设计数据库应用系统开发课程设计

    信息工程学院《数据库应用系统开发》课程设计论文题 目:图书管理系统数据库设计学 号:专业班级:信管级(X)班姓 名:魏 金 风指导老师:完成日期:2007摘 要在计算机日益普及...

    2年前   
    435    0

    人力资源管理系统数据库设计《数据库系统原理》课程设计报告

    《数据库系统原理》课程设计报告项目名称:人力资源管理系统数据库设计专 业: 计算机科学与技术 年 级: 姓 ...

    1年前   
    413    0

    学生成绩管理数据库系统设计(数据库实验大作业)

    学生成绩管理数据库系统设计 课程:数据库安全实验 姓名: 学院: 计算机学院 ...

    1年前   
    447    0

    互助拼车协议书

    互助拼车协议书  为响应低碳糊口、节能减排的号召,本着互惠互利、公道分摊部门直接本钱的原则,甲乙双方及直系支属代表经慎重协商,同意建立在完全非贸易盈利的基础上互助拼车上放工。现就乘车途中安全责...

    11年前   
    579    0

    拼车协议参考文本

    拼车协议参考文本  拼车协议  车主(以下简称甲方):_________  身份证号码:__________驾驶证号:__________ 车型:__________车牌号码:________...

    10年前   
    477    0

    教师管理系统(数据库)课程设计

    数据库技术与应用(SQLServer2005)课 程 设 计题 目教师管理系统 组 员 班 级计科班学 院信息科学与工程学院指导教师 2012年 X...

    3年前   
    1322    0

    数据库设计说明书

       数据库设计说明书 黎宇 (转载自国家计算机标准和文件模板) 1 引言 1.1编写目的   说明编写这份数据库设计说明书的目的,指出预期的读者。 1.2背景   说...

    8年前   
    22669    0

    服装租赁管理系统数据库设计

    本科学生综合性实验报告课程名称:数据库系统原理项目组长 学号 项目组员 学号 项目组员 学号 ...

    2年前   
    475    0

    MySql数据库课程设计(学生管理系统)

    XX大学数据库课程设计报告 系 院 应用科学学院 年 级 2013级 专 ...

    2年前   
    677    0

    医院管理系统数据库课程设计

    医院管理系统数据库课程设计内容摘要数据库的设计是指对一个给定的应用环境,构造数据库模式,建立数据库及其应用系统,满足各种用户需求。作为信息资源开发、管理和服务的一种有效的手段,数据库技术的应用...

    1年前   
    441    0

    数据库原理及应用课程设计

    数据库原理及应用课程设计设计报告题 目:学校人力资源管理系统 学 号: 学生姓名: 指导教师...

    3年前   
    750    0

    图书管理系统数据库设计-MYSQL实现

    图书管理系统数据库设计一、系统概述1、系统简介图书管理是每个图书馆都需要进行的工作。一个设计良好的图书管理系统数据库能够给图书管理带来很大的便利。2、需求分析图书管理系统的需求定义为:1.学生...

    11个月前   
    462    0

    通讯录管理系统数据库设计与实现

    通讯录管理系统数据库设计与实现1 需求简介(XX)1.1 功能概述通讯录管理系统用户基本信息管理联系人基本信息管理修改昵称修改密码添加联系人修改联系人删除联系人条件查询关键字查询分组基本信息添...

    2年前   
    705    0

    教务管理系统数据库课程设计报告

     《数据库原理》课程设计报告课程名称: 《数据库原理》课程设计 设计题目: 《教务管理系统》 指导教师: ...

    1年前   
    269    0

    基于MYSQL的图书管理系统数据库设计

    题目:基于MYSQL图书管理系统数据库设计 目录1.题目概述 32.需求分析 32.1功能需求 32.2数据需求 42.3 数据安全与约束 42.4 数据流图 53.概要设计...

    3年前   
    739    0

    数据库课程设计超市管理系统

    数 据 库 课 程 设 计 说 明 书设计题目: 超市管理系统 专 业: 信息与计算科学 班级: 小组成员:学号: ...

    2年前   
    500    0

    数据库元数据管理系统设计与实现

    本科毕业设计(论文) 题  目:  数据库元数据管理系统设计与实现 院  系:       专业年级:  2009级    学生姓名...

    2年前   
    398    0

    文档贡献者

    文***品

    贡献于2019-06-03

    下载需要 10 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档