实践第8章-实践幻灯片.pptxVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实践8 存储过程实践目标使用视图简化查询。使用索引提高查询效率。使用事务保证数据一致性。任务一:优化旅游线路信息查询和统计使用视图简化线路信息查询和统计。使用索引提高线路信息查询效率。(1)创建一个视图,用于获取所有线路的预订次数。(2)创建一个视图,用于获取所有顾客的线路预订信息。(3)客户在预订线路时,经常需要根据线路名进行查询,并按价格排序显示。如何使用索引技术提高检索。任务一:优化旅游线路信息查询和统计需求说明(1)解决方案:线路表Line提供了线路基本信息,订单线路表OL_Detail提供了线路预订情况。使用这两张表创建一个视图,获取所有线路的预订次数。CREATE VIEW v_Nums_Line ASSELECT L.lineName , COUNT(OLD.lineID) nums FROM Line L, OL_Detail OLDWHERE L.lineID=OLD.lineID GROUP BY L.lineName 任务一:优化旅游线路信息查询和统计需求说明(2)解决方案:为获取每个客户预订线路的详细信息,需联接客户表Customer、订单客户表OC_Detail、订单线路表OL_Detail和线路表Line。使用这四张表创建一个视图,即可查询所有客户的预订信息。CREATE VIEW v_Customer_OrderLine_Detail ASSELECT C.name, L.lineName, L.days, L.price FROM Customer C, OC_Detail OCD, OL_Detail OLD ,Line LWHERE C.customerID=OCD.travelCustomerID AND ,OCD.ordersID=OLD.ordersID AND OLD.lineID=L.lineID 任务一:优化旅游线路信息查询和统计需求说明(3)解决方案:通常在主外键、频繁查询的列、排序列和聚合函数列的字段上建立索引。依据需求,可在线路表的线路名和价格上建立索引。CREATE INDEX idx_Line ON Line(lineName, price) 任务一:优化旅游线路信息查询和统计(1)创建一个视图,用于获取每一种线路类型的预订次数。(2)创建一个视图,用于获取所有预订“国内短线游”客户的基本信息。(3)系统需要经常获取每个客户预订线路的数量,如何使用索引技术提升查询效率?任务二:模块化查询和统计客户所预订旅游线路信息使用存储过程查询和统计客户预订线路信息。使用存储过程提高客户预订线路信息的查询效率。(1)创建一个存储过程,用于输出指定线路类型的总预订数。(2)创建一个存储过程,用于输出指定客户所预订的线路信息,要求输出该用户预订线路的名称、行程天数、价格、交通工具和住宿标准。任务二:模块化查询和统计客户所预订旅游线路信息需求说明(1)解决方案:存储过程proc_OrdersGivenCustomer的参数有两个:一个是输入参数,用于接收客户姓名;另一个是输出参数,用于输出指定线路类型的总预订次数。CREATE PROCEDURE proc_NumsGivenLineType ( @typeName nvarchar(20), –- 输出参数,用于输出指定线路类型的总预订数 @count int OUTPUT)ASSELECT @count=COUNT(OLD.lineID)FROM OL_Detail OLD, Line L, LineType LTWHERE OLD.lineID=L.lineID AND L.lineTypeID=LT.lineTypeID AND typeName=@typeName任务二:模块化查询和统计客户所预订旅游线路信息需求说明(2)解决方案:存储过程proc_OrdersGivenCustomer的参数仅有一个输入参数,用于接收客户姓名。CREATE PROCEDURE proc_OrdersGivenCustomer( @customerName nvarchar(20))ASSELECT @customerName 客户姓名, lineName 线路名, days 行程天数, price 价格, vehicle 交通工具, hotel 住宿标准 FROM Customer C, Orders O, OL_Detail OLD, Line LWHERE C.customerID=O.customerID AND O.ordersID=OLD.ordersIDAND OLD.lineID=L.lineID AND C.name=@customerName任务二:模块化查询和统计客户所预订旅游线路信息(1)创建一个存储过程,用于获

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档