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

  1. 1、本文档共14页,可阅读全部内容。
  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文档。上传文档
查看更多
实践7 视图、索引和事务实践目标使用视图简化查询使用索引提高查询效率使用事务保证数据一致性任务一:优化旅游线路信息查询和统计使用视图简化线路信息查询和统计。使用索引提高线路信息查询效率。(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)系统需要经常获取每个客户预订线路的数量,如何使用索引技术提升查询效率?任务二:删除游线路信息删除“出境游”线路类型信息。在不违背外键约束的前提下删除“出境游”线路类型信息。DECLARE @lineTypeID int --线路类型编号变量SELECT @lineTypeID=lineTypeID FROM LineType WHERE typeName=出境游BEGIN TRANSACTION--将“出境游”类型的线路编号置为NULLUPDATE Line SET lineTypeID=NULL WHERE lineTypeID=@lineTypeIDIF @@ERROR=0BEGIN PRINT 线路表修改成功‘ -- 删除“出境游”类型记录 DELETE FROM LineType WHERE lineTypeID=@lineTypeID IF @@ERROR=0 BEGIN PRINT 线路类型表删除成功 COMMIT TRANSACTION -- 提交事务 END ELSE BEGIN PRINT 线路类型表删除失败 ROLLBACK TRANSACTION – 回滚事务 ENDENDELSEBEGIN PRINT 线路表修改失败 ROLLBACK TRANSACTION -- 回滚事务END任务二:删除游线路信息需求说明解决方案:线路类型表LineType与线路表Line是一对主从表,线路类型表是主表,线路表是从表,两者之间存在外键约束。为删除“出境游”线路类型信息,只能先将线路表中类型为“出境游”的类型编号赋值为NULL,然后再删除线路类型表的“出境游”记录。这两个操作是一个整体,或者全部成功,或者全部撤销。可使用数据库事务技术实现该业务。任务二:查询、统计和维护客户所订旅游线路信息需求说明(2)解决方案:定义一个变量,用于存储“凤凰古城”的线路编号,再通过联接客户表、订单客户表和订单线路表,使用子查询技术获取预订线路“凤凰古城”的客户姓名。DECLARE @lineName nvarchar(20)=凤凰古城DECLARE @lineID int --定义线路编号SELECT @lineID=lineID FROM Line WHERE lineName=@lineNameSELECT name 客户姓名 FROM Customer

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档