汽车租赁管理系统课程设计说明书.doc_第1页
汽车租赁管理系统课程设计说明书.doc_第2页
汽车租赁管理系统课程设计说明书.doc_第3页
汽车租赁管理系统课程设计说明书.doc_第4页
汽车租赁管理系统课程设计说明书.doc_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计说明书 题目汽车租赁管理系统 系 部 数学与计算机科学系 专业 班级 姓名 学号 指导教师 起止日期 课程设计任务书 课程名称 课程名称 数据库系统原理课程设计 设计题目 设计题目 汽车租赁管理系统 已知技术参数和设计要求 已知技术参数和设计要求 题目 汽车租赁管理系统 1 某汽车租赁公司汽车租赁管理系统需要如下信息 工作人员信息包括 工号 姓名 性别 联系电话等 客户信息包括 身份证号 姓名 性别 所在单位 联系电话等 车辆信息包括 车牌号 品牌 颜色 座位数 日租价格 日租超公里价格 月租价格 租赁状态 购入日期等 车辆类别信息包括 分类号 库存数 其业务规则描述如下 一个工作人员可以对很多辆车辆进行管理 一辆车也可以被多个工作人员管理 一辆车 只能属于一种车辆类别 而一种车辆类别可以包含多辆车 一个客户可以租多辆不同的 车 2 系统功能的基本要求 可以实现对车辆 租赁客户的查询 可以查询汽车 客户租赁历史记录 可以按类别统 计汽车的租赁金额和剩余的库存数 可以统计某一年龄客户群体对某类汽车的租赁喜好 能模拟客户对汽车的租借 归还业务 各阶段具体要求 各阶段具体要求 1 需求分析阶段 定义数据项的含义和取值 定义目标系统的数据流 2 概念结构设计阶段 画出实体模型 E R 图 3 逻辑结构设计阶段 将实体模型转化为关系模型 给出每个关系的主关键字和函数依赖集 分析你所设计的关系数据库模式是否属于 3NF 4 物理设计阶段 确定所有字段的名称 类型 宽度 小数位数及完整性约束 确定数据库及表的名称及其组成 确定索引文件和索引关键字 5 数据库安全及维护设计阶段 设计一个适合的数据库安全策略 用户身份认证 访问权限 视图 为了实现复杂的数据完整性约束 设计适当的触发器 设计一个适合的数据库备份策略 6 实施阶段 要求所有操作必须在查询分析器中用 SQL 语句或系统存储过程完成 对于学有余力的同学 可以使用嵌入式 SQL 语句结合高级语言开发完成 设计工作量 设计工作量 1 软件设计 完成问题陈述中所提到的所有需求功能 2 论文 要求撰写不少于 3000 个文字的文档 详细说明各阶段具体要求 工作计划 工作计划 安排两周时间进行课程设计 软件开发步骤如下 第一周完成 1 4 第二周完成 5 8 论文同步进行 1 选定题目 2 需求分析 3 概念结构设计 4 逻辑结构设计 5 物理设计 6 数据库安全及维护设计 7 数据库上机实现 8 答辩 计划时间指导老师班级 15 16 周 杨刚13 软件 1 班 15 16 周潘怡13 软件 2 班 15 16 周 何可可13 软件 3 班 15 16 周刘钢钦13 软件 4 班 注意事项注意事项 提交文档提交文档 长沙学院课程设计任务书 每学生 1 份 长沙学院课程设计论文 每学生 1 份 长沙学院课程设计鉴定表 每学生 1 份 指导教师签名 日期 教研室主任签名 日期 系主任签名 日期 长沙学院课程设计鉴定表 姓名学号专业班级 设计题目汽车租赁管理系统指导教师潘怡 指导教师意见 评定等级 教师签名 日期 答辩小组意见 评定等级 答辩小组长签名 日期 教研室意见 教研室主任签名 日期 系 部 意见 系主任签名 日期 说明 课程设计成绩分 优秀 良好 及格 不及格 四类 目 录 一 引言一 引言 8 1 1 编写目的 8 1 2 参考资料 8 二 二 需求规约需求规约 8 2 1 业务描述 8 2 2 需求分析 9 2 2 1 用例规约 9 三 三 环境说明环境说明 11 3 1 数据库环境 11 3 2 开发环境 11 四 四 数据库的命名规则数据库的命名规则 12 4 1 数据库对象命名规则 12 4 2 数据项编码规则 12 五 五 逻辑设计逻辑设计 12 5 1 实体与关系的属性 12 5 2 ER 图 13 六 六 物理设计物理设计 13 6 1 表汇总 13 6 2 表 TABLE WORKER 14 6 3 表 TABLE CUSTOMER 14 6 4 表 TABLE CAR 15 6 5 表 TABLE CARCLASS 16 6 6 表 TABLE RECORD 16 6 7 表 TABLE CAR WORKER 17 6 8 存储过程 17 6 8 1 proc insert Worker 17 6 8 2 proc insert Customer 18 6 8 3 proc insert Car 19 6 8 4 proc insert CarClass 20 6 8 5 proc insert Record 21 6 8 6 proc find AllCarClass 22 6 8 7 proc find Cars 23 6 8 8 proc find Car 23 6 8 9 proc find Customer 24 6 8 10 proc find CustomerRecord 24 6 8 11 proc find CarRecord 25 6 8 12 proc find CustomerFavorite 25 6 9 函数 26 6 9 1 func CreateRecordNO 26 6 9 2 func IdToAge 26 6 10 触发器 27 6 10 1 Trigger insertCar addCarClassCnt 27 6 10 2 Trigger deleteCar subtractCarClassCnt 27 6 10 3 Trigger updateCar 28 6 10 4 Trigger updateRecordReturnDate 28 七 七 运行结果运行结果 29 7 1 租赁汽车 29 7 2 资料查询 30 7 3 订单查询 30 7 4 查询一类汽车 31 7 5 还车登记 31 7 6 统计某一年龄最喜欢的类型 32 八 八 总结总结 32 九 九 附录附录 33 9 1 存储过程代码 33 9 1 1 proc insert Car 33 9 1 2 proc insert CarClass 33 6 1 3 proc insert Customer 34 9 1 4 proc insert Record 34 9 1 5 proc insert Worker 34 9 1 6 proc find AllCarClass 35 9 1 7 proc find Car 35 9 1 8 proc find Cars 35 9 1 9 proc find CarRecord 36 9 1 10 proc find Customer 36 9 1 11 proc find CustomerFavorite 36 9 1 12 proc find CustomerRecord 37 9 2 管理系统代码 37 9 2 1 menu h 37 9 2 2 usersql h 38 9 2 3 main cpp 39 9 2 4 menu cpp 39 9 2 5 usersql cpp 48 一 引言一 引言 1 1 编写目的编写目的 本文是汽车租赁管理系统设计文档的组成部分 编写设计文档的目的是 明确数据库的表名 字 段名 明确表之间的关系 分析功能的详细需求 本文档的读者对象是需求人员 系统设计人员 开 发人员和测试人员 1 2 参考资料参考资料 表 1 1 参考资料 资料名称作者文件编号 版本 数据库系统概论 王珊 萨师煊2006 年 5 月第 4 版 C GUI Qt 4 编 程 Jasmin Blanchette Mark summerfield 2013 年 5 月第 1 版 SQL Server 2008 编程入门经典 Robert Vieria2010 年 1 月第 1 版 二 二 需求规约需求规约 2 1 业务描述业务描述 2 1 1 创建背景创建背景 系统名称 汽车租赁管理系统 系统的开发者 xxx 系统的用户 租车客户以及租赁公司的工作人员 2 1 2 业务规则业务规则 工作人员可以对很多辆车辆进行管理 一辆车也可以被多个工作人员管理 一辆车只能属于一种 车辆类别 而一种车辆类别可以包含多辆车 一个客户可以租多辆不同的车 2 2 需求分析需求分析 2 2 1 用例规约用例规约 表 2 1 用户登录 用例名称 用户登录摘要 用例 ID T LOGIN 1 角色 客户或工作人员 用例说明 汽车租赁系统的登录模块 前置条件 客户或工作人员运行该系统 基本事件流 1 客户或工作人员输入教务处帐号和密码 2 点击登录 其它事件流 1 用户不存在 2 帐号或密码错误 后置条件 登录成功并跳转到相关页面 表 2 2 车辆信息查询 用例名称 查询车辆信息 用例 ID T FIND 1 角色 客户或工作人员 用例说明 使用汽车租赁系统查询车辆信息 前置条件 从功能菜单选择进入车辆查询信息页面 基本事件流 输入要查询的品牌 其它事件流 输入的品牌不存在 后置条件 显示该品牌的所有类别的车辆供选择 表 2 3 客户信息查询 用例名称 查询客户信息 用例 ID T FIND 2 角色 客户或工作人员 用例说明 使用汽车租赁系统查询客户信息 前置条件 从功能菜单进入客户信息查询页面 基本事件流 输入要查询客户的身份证号 其它事件流 如果角色为客户的话 用户只能查询自己的信息 后置条件 显示查询结果 表 2 4 汽车历史租赁记录查询 用例名称 查询汽车的历史租赁记录 用例 ID T FIND 3 角色 工作人员 用例说明 使用汽车租赁系统查询汽车的历史租赁记录 前置条件 从功能菜单进入汽车历史租赁记录查询页面 基本事件流 输入要查询汽车的车牌号 其它事件流 输入的车牌号不存在 后置条件 显示查询结果 表 2 5 客户历史租赁记录查询 用例名称 查询客户的历史租赁记录 用例 ID T FIND 4 角色 客户或工作人员 用例说明 使用汽车租赁系统查询客户的历史租赁记录 前置条件 从功能菜单进入客户历史租赁记录查询页面 基本事件流 输入要查询客户的身份证号 其它事件流 1 输入的身份证号不存在 2 角色是客户的话只能查询其本身 后置条件 显示查询结果 表 2 6 某一年龄对汽车的喜好 用例名称 统计某一年龄对汽车的喜好 用例 ID T COUNT 1 角色 工作人员 用例说明 使用汽车租赁系统统计某一年龄对汽车的喜好 前置条件 从功能菜单进入喜好统计页面 基本事件流 输入要查询的年龄 其它事件流 输入的年龄非法 后置条件 显示某一年龄最喜爱结果品牌 表 2 7 汽车租赁 用例名称 租赁汽车 用例 ID T OP 1 角色 客户 用例说明 使用汽车租赁系统租赁汽车 前置条件 从查询结果中进入汽车租赁页面 基本事件流 选择要租赁的车的类别 其它事件流 租赁失败 后置条件 租赁成功并显示用户成功租赁的车的信息 表 2 8 汽车归还 用例名称 归还汽车 用例 ID T OP 2 角色 工作人员 用例说明 使用汽车租赁系统归还汽车 前置条件 从功能菜单进入归还汽车页面 基本事件流 1 输入汽车的车牌号 2 显示实际费用 其它事件流 该车牌号的汽车未被租赁 后置条件 归还该汽车 三 三 环境说明环境说明 3 1 数据库环境数据库环境 表 3 1 数据库环境 数据 库实 例 数据库 系统 数据 库部 署环 境 数据库设计 工具 数据库存放位置说 明 taxiSql Server 2008 Wind ows7 local DiagramDes igner D ProgramFiles MicrosoftSQLServer MSSQL10 50 MSSQL SERVER MSSQL DATA 3 2 开发环境开发环境 该汽车租赁管理系统在 Qt Creator 3 3 0 下使用 Qt 库 5 4 0 开发完成 四 四 数据库的命名规则数据库的命名规则 4 1 数据库对象命名规则数据库对象命名规则 表 4 1 数据库对象命名规则 数据库对象命名规则备注 表Table 功能描述字符串例如 Table studen 学生表 视图View 功能描述字符串例如 View student 学生视图 触发器Trigger 功能描述字符串例如 Trigger update 约束Constraint 功能描述字符串例如 Constraint primarykey 存储过程Proc 功能描述字符串例如 proc insert 4 2 数据项编码规则数据项编码规则 表 4 2 数据项编码规则 数据项命名规则数据类型长度范围 工号W 序号 0000 9999 定长字符串5 位 车牌号省份简称 城市的序号 序号 00000 ZZZZZ 定长字符串10 位 分类号F 序号 000 999 定长字符串4 位 订单号D 年 月 日 序号 000000000 999999999 定长字符串18 位 五 五 逻辑设计逻辑设计 5 1 实体与关系的属性实体与关系的属性 表 5 1 实体与属性 实体和关系名称其余属性 工作人员工号 密码 姓名 性别 联系电话 客户身份证号 密码 姓名 性别 单位 联系 电话 车辆车牌号 租赁状态 购入日期 颜色 车辆类别分类号 品牌 座位数 库存数 日租价格 日租超公里价格 月租价格 租赁订单号 车牌号 身份证号 租赁日期 还 车日期 实际 5 2 ER 图图 图 5 1 ER 图 六 六 物理设计物理设计 6 1 表汇总表汇总 表 6 1 数据库表汇总 表名功能说明 Table Worker 存储工作人员的信息 Table Customer 存储用户的信息 Table Car 存储车辆的信息 Table CarClass 存储车辆的分类信息 Table Record 存储租赁记录 联系客户和车辆 是一张联系表 6 2 表表 Table Worker 表 6 2 Table Woeker 表名 Table Worker 数据库用户 Sa 主键 WorkNo 序号字段名称数据类型 精度范围 允许为 空 Y N 唯一 Y N 区别度默认值约束条件 说明 1WorkNochar 5 NY高无主键 2WorkPasswor d char 20 NN低无密码 3WorkNamechar 20 NN低无姓名 4WorkSexchar 2 NN低无性别 5WorkPhonechar 15 YY高无电话 sql 脚本 create table Table Worker WorkNo char 5 not null WorkPassword char 20 not null WorkName char 20 not null WorkSex char 2 not null WorkPhone char 26 unique primary key WorkNo 6 3 表表 Table Customer 表 6 3Table Customer 表名 Table Customer 数据库用户 sa 主键 CusNo 序号字段名称数据类型 精度范围 允许为 空 Y N 唯一 Y N 区别度默认值约束条件 说明 1CusNochar 20 NY高无主键 2CusPasswordchar 20 NN低无密码 3CusNamechar 20 NN低无姓名 4CusSexchar 2 NN低无性别 5CusPhonechar 15 YY高无电话 6CusCompanychar 40 YN低NULL单位 sql 脚本 create table Table Customer CusNo char 20 not null CusPassword char 20 not null CusName char 20 not null CusSex char 2 not null CusPhone char 15 unique CusCompany char 40 primary key CusNo 6 4 表表 Table Car 表 6 4Table Car 表名 Table Car 数据库用户 sa 主键 CarNO 序号字段名称数据类型 精度范围 允许为 空 Y N 唯一 Y N 区别度默认值约束条件 说明 1CarNochar 10 NY高无主键 2CarClassNochar 4 NN高无外键 3CarStabitNN低false租赁状态 4CarDatedatetimeNN低1970 1 1购入日期 5CarColorchar 15 NN低无颜色 sql 脚本 create table Table Car CarNo char 10 not null CarClassNO char 4 not null CarSta bit not null CarDate datetime not null CarColor char 15 not null primary key CarNo foreign key CarClassNo references Table CarClass CarClassNo 6 5 表表 Table CarClass 表 6 5Table CarClass 表名 Table CarClass 数据库用户 sa 主键 CarClassNo 序号字段名称数据类型 精度范围 允许为 空 Y N 唯一 Y N 区别度默认值约束条件 说明 1CarClassNochar 4 NY高无主键 2CarClassBrandchar 10 NY低无品牌 3CarClassSeatsmallintNN低无座位数 4CarClassCntintNN低无库存 5CarClassDayPrice1moneyNN低无日租价格 6CarClassDayPrice2moneyNN低无日租超公里价格 7CarClassMonthPricemoneyNN低无月租价格 sql 脚本 create table Table CarClass CarClassNo char 4 not null CarClassBrand char 10 not null CarClassSeat smallint not null CarClassCnt int not null CarClassDayPrice1 money not null CarClassDayPrice2 money not null CarClassMonthPrice money not null primary key CarClassNO 6 6 表表 Table Record 表 6 6 Table Record 表名 Table Record 数据库用户 sa 主键 RecordNo 序号字段名称数据类型 精度范围 允许为 空 Y N 唯一 Y N 区别度默认值约束条件 说明 1RecordNochar 18 NY高无主键 2CarNochar 10 NY高无外键 3CusNochar 20 NY高无外键 4RecordRentDatedatetimeNN低无租赁时间 5RecordReturnDatedatetimeNN低NULL还车时间 6RecordCostmoneyYN低NULL实际花费 sql 脚本 create table Table Record RecordNo char 18 not null CarNo char 10 not null CusNo char 20 not null RecordRentDate datetime not null RecordReturnDate datetime RecordCost money primary key RecordNo foreign key CarNo references Table Car CarNo foreign key CusNo references Table Customer CusNo 6 7 表表 Table Car Worker 表 6 7 Table Car Worker 表名 Table Car Worker 数据库用户 sa 主键 WorkNo CarNo 序号字段名称数据类型 精度范围 允许为 空 Y N 唯一 Y N 区别度默认值约束条件 说明 1WorkNochar 5 NN高无主键 外键 2CarNochar 10 NN高无主键 外键 sql 脚本 create table Table Record RecordNo char 18 not null CarNo char 10 not null CusNo char 20 not null RecordRentDate datetime not null RecordReturnDate datetime RecordCost money primary key RecordNo foreign key CarNo references Table Car CarNo foreign key CusNo references Table Customer CusNo 6 8 存储过程存储过程 6 8 1 proc insert Worker 参数 WorkNo char 5 WorkPassword char 20 workName char 20 workSex char 2 workPhone char 15 功能 插入工作人员信息 执行存储过程 declare sta int begin exec sta proc insert Worker W0002 123456 WangNiMa 男if sta 1 print 插入成功 else print 插入失败 select from Table Worker end go 执行结果 图 6 1 proc insert Worker 执行结果 6 8 2 proc insert Customer 参数 CusNo char 20 CusPassword char 20 CusName char 20 CusSex char 2 CusPhone char 15 CusCompany char 40 功能 插入客户信息 执行存储过程 declare sta int begin exec sta proc insert Customer550993 MAMAMA 女腾 讯 if sta 1 print 插入成功 else print 插入失败 select from Table Customer end go 执行结果 图 6 2 proc insert Customer 执行结果 6 8 3 proc insert Car 参数 CarNo char 10 CarClassNo char 4 CarSta bit CarDate datetime CarColor char 15 功能 插入汽车信息 执行存储过程 declare sta int begin exec sta proc insert Car 湘 A00021 F007 1 2015 6 25 black if sta 1 print 插入成功 else print 插入失败 select from Table Car end go 执行结果 图 6 3 proc insert Car 执行结果 6 8 4 proc insert CarClass 参数 CarClassNo char 4 CarClassBrand char 10 CarClassSeat smallint CarClassCnt int CarClassDayPrice1 money CarClassDayPrice2 money CarClassMonthPrice money 功能 插入汽车分类信息 执行存储过程 declare sta int begin exec sta proc insert CarClass F007 宝马 i8 4 0 1000 00 1050 00 30000 00 if sta 1 print 插入成功 else print 插入失败 select from Table CarClass end go 执行结果 图 6 4 proc insert CarClass 执行结果 6 8 5 proc insert Record 参数 RecordNo char 18 CarNo char 10 CusNo char 20 RecordRentDate datetime RecordReturnDate datetime RecordCost money NULL 功能 插入租赁记录 执行存储过程 declare s char 18 begin exec proc insert Record 湘 A00003s output print s select from Table Record end go 执行结果 图 6 5 proc insert Record 执行结果 6 8 6 proc find AllCarClass 参数 无 功能 查找所有的分类信息 执行存储过程 declare sta int begin exec sta proc find AllCarClass if sta 0 print 没有记录 else print 查找成功 end go 执行结果 图 6 6 proc find AllCarClass 执行结果 6 8 7 proc find Cars 参数 CarClassNo char 4 功能 查找分类号相同的汽车 执行存储过程 declare sta int begin exec sta proc find Cars F003 if sta 0 print 分类号不存在 else print 查找成功 end go 执行结果 图 6 7 proc find Cars 执行结果 6 8 8 proc find Car 参数 CarNo char 10 功能 查找车牌号为 CarNo 的车 执行存储过程 declare sta int begin exec sta proc find Car 湘A00000 if sta 0 print 车牌号不存在 else print 查找成功 end 执行结果 图 6 8 proc find Car 执行结果 6 8 9 proc find Customer 参数 CusNo char 18 功能 查找身份证号码为 CusNo 的客户的信息 执行存储过程 declare sta int begin exec sta proc find Customerif sta 0 print 身份证号码不存在 else print 查找成功 end go 执行结果 图6 9 proc find Customer 执行结果 6 8 10 proc find CustomerRecord 参数 CusNo char 18 功能 查找身份证号码为 CusNo 的客户的租赁记录 执行存储过程 declare sta int begin exec sta proc find CustomerRecordif sta 0 print 记录不存在 else print 查找成功 end go 执行结果 图 6 10 proc find CustomerReocrd 执行结果 6 8 11 proc find CarRecord 参数 CarNo char 10 功能 查找车牌号为 CarNo 的车辆的租赁记录 执行存储过程 declare sta int begin exec sta proc find CarRecord 湘 A00000 if sta 0 print 记录不存在 else print 查找成功 end 执行结果 图 6 11 proc find CarRecord 执行结果 6 8 12 proc find CustomerFavorite 参数 CusAge int 功能 查找年龄为 CusAge 的客户最喜欢的型号 执行存储过程 declare sta int begin exec sta proc find CustomerFavorite 21 if sta 0 print 记录不存在 else print 查找成功 end 执行结果 图 6 12 proc findCustomerFavorite 6 9 函数函数 6 9 1 func CreateRecordNO 参数 无 返回值 char 18 功能 创建一个订单号 代码 ALTER function dbo func CreateRecordNo returns char 18 begin return replace D str year getdate 4 年 str month getdate 2 月 str day getdate 2 日 str select count from Table Record 1 9 流水号 0 end 6 9 2 func IdToAge 参数 Id char 18 返回值 int 功能 根据身份证号码算出年龄 代码 ALTER function dbo func IdToAge Id char 18 returns int as begin return datediff year substring7 4 substring11 2 substring13 2 getdate end 6 10 触发器触发器 6 10 1 Trigger insertCar addCarClassCnt 触发器类型 insert 功能 在插入一辆新的汽车时 对应类别的库存增加一辆 所属表 Table Car 代码 ALTER trigger dbo Trigger insertCar addCarClassCnt on dbo Table Car after insert as begin update Table CarClass set CarClassCnt CarClassCnt 1 where CarClassNo in select CarClassNo from inserted end 6 10 2 Trigger deleteCar subtractCarClassCnt 触发器类型 delete 功能 在删除一辆汽车时 对应类别的库存减少一辆 所属表 Table Car 代码 ALTER trigger dbo Trigger deleteCar subtractCarClassCnt on dbo Table Car after delete as begin update Table CarClass set CarClassCnt CarClassCnt 1 where CarClassNo in select CarClassNo from deleted end 6 10 3 Trigger updateCar 触发器类型 update 功能 在修改汽车租赁状态时 对应类别的库存相应的加减一 所属表 Table Car 代码 ALTER trigger dbo Trigger updateCar on dbo Table Car after update as if UPDATE CarSta begin update Table CarClass set CarClassCnt CarClassCnt 1 where CarClassNo in select inserted CarClassNo from inserted deleted where inserted CarNo deleted CarNo and inserted CarSta 0 and deleted CarSta 1 update Table CarClass set CarClassCnt CarClassCnt 1 where CarClassNo in select inserted CarClassNo from inserted deleted where inserted CarNo deleted CarNo and inserted CarSta 1 and deleted CarSta 0 end 6 10 4 Trigger updateRecordReturnDate 触发器类型 update 功能 在更新还车时间时 更新实际花费 所属表 Table Record 代码 ALTER trigger dbo Trigger updateRecordReturnDate on dbo Table Record after update as declare price money if UPDATE RecordReturnDate begin select price select CarClassDayPrice1 from Table CarClass where CarClassNo in select CarClassNo from Table Car where CarNo in select inserted CarNo from inserted deleted where inserted RecordNo deleted RecordNo and deleted RecordReturnDate is null and inserted RecordReturnDate is not null update Table Record set RecordCost price DATEDIFF DAY RecordRentDate RecordReturnDate 1 where RecordNo in select inserted RecordNo from inserted deleted where inserted RecordNo deleted RecordNo and deleted RecordReturnDate is null and inserted RecordReturnDate is not null end 七 七 运行结果运行结果 7 1 租赁汽车租赁汽车 图 7 1 租赁汽车 7 2 资料查询资料查询 图 7 2 资料查询 7 3 订单查询订单查询 图 7 3 订单查询 7 4 查询一类汽车查询一类汽车 图 7 4 查询一类汽车 7 5 还车登记还车登记 图 7 5 还车登记 7 6 统计某一年龄最喜欢的类型统计某一年龄最喜欢的类型 图 7 6 统计某一年龄最喜欢的类型 八 八 总结总结 通过这次实训熟悉了 Sql Server 2008 的使用 进一步了解了数据库的设计 能更加熟练的使用 Sql Server 来完成一些数据的存储和查询 因为对触发器不怎么熟悉 在建立触发器时遇到了一些困难 通过查阅相关书籍学会了触发器的 语法 攻克了这个难题 对于 Sql Server 2008 中触发器主要是要理解好 inserted 表和 deleted 表 因为 有一个功能要根据年龄分类查询 而我存储的信息中只有身份证号码 所以我需要一个函数直接根据 身份证号码算出年龄 一开始觉得可能不好写 不过看了几个例子后发现函数和存储过程并没有什么 不同 只是多了个返回值而已 实训的过程中一直磕磕碰碰 因为想写界面 而我只会 C 和 C 所 以用到了 Qt 库 但接触时间不长所以没能写出界面 是有点遗憾 于是在写了个控制台程序 也算模 拟一下界面把 困难总是会碰到的 但只要有决心 问题总会在某个时候迎刃而解 九 九 附录附录 9 1 存储过程代码存储过程代码 9 1 1 proc insert Car ALTER proc dbo proc insert Car CarNo char 10 CarClassNo char 4 CarSta bit 1 CarDate datetime CarColor char 15 as if not exists select from Table Car where CarNo CarNo begin insert into Table Car values CarNo CarClassNo CarSta CarDate CarColor return 1 end else return 0 9 1 2 proc insert CarClass ALTER proc dbo proc insert CarClass CarClassNo char 4 CarClassBrand char 10 CarClassSeat smallint CarClassCnt int 0 CarClassDayPrice1 money CarClassDayPrice2 money CarClassMonthPrice money as if not exists select from Table CarClass where CarClassNo CarClassNo begin insert into Table CarClass values CarClassNo CarClassBrand CarClassSeat CarClassCnt CarClassDayPrice1 CarClass DayPrice2 CarClassMonthPrice return 1 end else return 0 6 1 3 proc insert Customer ALTER proc dbo proc insert Customer CusNo char 20 CusPassword char 20 CusName char 20 CusSex char 2 CusPhone char 15 CusCompany char 40 as if not exists select from Table Customer where CusNo CusNO or CusPhone CusPhone begin insert into Table Customer values CusNo CusPassword CusName CusSex CusPhone CusCompany return 1 end else return 0 9 1 4 proc insert Record ALTER proc dbo proc insert Customer CusNo char 20 CusPassword char 20 CusName char 20 CusSex char 2 CusPhone char 15 CusCompany char 40 as if not exists select from Table Customer where CusNo CusNO or CusPhone CusPhone begin insert into Table Customer values CusNo CusPassword CusName CusSex CusPhone CusCompany return 1 end else return 0 9 1 5 proc insert Worker ALTER proc dbo proc insert Worker WorkNo char 5 WorkPassword char 20 workName char 20 workSex char 2 workPhone char 15 as if not exists select from Table Worker where WorkNo WorkNO begin insert into Table Worker values WorkNo WorkPassword workName workSex workPhone return 1 end else return 0 9 1 6 proc find AllCarClass ALTER proc dbo proc find AllCarClass as begin select from Table CarClass return rowcount end 9 1 7 proc find Car ALTER proc dbo proc find Car CarNo char 10 as begin select from Table Car where CarNo CarNo return rowcount end 9 1 8 proc find Cars ALTER proc dbo proc find Cars CarClassNo char 4 as begin select from Table Car where CarClassNO CarClassNo return rowcount end 9 1 9 proc find CarRecord ALTER proc dbo proc find CarRecord CarNo char 10 as begin select from Table Record where CarNo CarNo return rowcount end 9 1 10 proc find Customer ALTER proc dbo proc find Customer CusNo char 18 as begin select from Table Customer where CusNo CusNo return rowcount end 9 1 11 proc find CustomerFavorite ALTER proc dbo proc find CustomerFavorite CusAge int as begin select from Table CarClass where CarClassNo in select CarClassNo from Table Record Table Car where Table Record CarNo Table Car CarNo and dbo func IdToAge Table Record CusNo CusAge group by CarClassNo having count all select count CarClassNo from Table Record Table Car where Table Record CarNo Table Car CarNo and dbo func

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论