必胜高考网_全国高考备考和志愿填报信息平台

必勝高考網 > 計算機類 > 計算機等級 > 資訊 >

2015計算機三級《數據庫技術》考前沖刺試卷(4)

時間: 家輝2 資訊

  三、設計與應用題

  45某書店采用了SQL Server 2008數據庫管理系統,該書店有一個需求,需要統計指定年份中每一本書的銷售總額,例如:查詢2012年所有書的銷售總額。

  已知圖書結構如下:

  圖書表(書號BOOK_ID,書名BOOK_NAME,單價BOOK_PRICE)

  銷售表(書號BOOK_ID,銷售時間SALE_TIME,銷售數量SALE_NUM)。

  假設單價和銷售數量均為int型,書號和書名均為varchar(50)類型,銷售時問為datetime型。請給出滿足如下要求的多語句表值函數,該函數統計指定年份中每本書的銷售總額。(10分)設函數名為:BOOK_PROFIT(@year int),函數的返回結果格式如下:

  書號銷售總額

  B001 60000

  A004 50000

  參考解析:

  【解題思路】

  采用JOIN聯合查詢,先用WHERE條件查出符合銷售時間=@year的記錄,再將找出的記錄和圖書表合并,并采用單價*銷售數量計算出聯合查詢的表數據,最后根據GROUP BY統計每種書的銷售價格總和。

  【參考答案】

  CREATE FUNCTION BOOK_PROFIT(@year int)

  RETURNS@f_BOOK_PROFIT table(

  書號varchar(50),

  銷售總額int)

  AS

  BEGIN

  INSERT INTO@f_BOOK_PROFIT

  SELECT a書號,SUM(a單價*b銷售數量)

  FROM圖書表a JOIN銷售表b ON a書號=b書號

  WHERE year(b銷售時間)=@year

  GROUP BY a.書號

  RETURN

  END

  或者

  CREATE FUNCTION BOOK_PROFIT(@year int)

  RETURNS@f_BOOK_PROFlT table(

  BOOK_ID varchar(50),

  PROFIT int)

  AS

  BEGIN

  INSERT INTO@f_BOOK_PROFIT

  SELECT a.BOOK_ID,SUM(a.BOOK_PRICE*b,SALE_NUM)

  FROM BOOK a JOIN SALE b ON a.BOOK ID=b.B00K ID

  WHERE year(bSALE_TIME)=@year

  GROUP BY a.BOOK_ID

  RETURN

  END

  46某商場商品經營管理系統使用SQL Server 2008數據庫管理系統,此系統上線運行1年后,業務人員使用某統計功能(此功能每月使用一次)時發現速度很慢。該統計功能主要執行的SQL語句如下:

  SELECT商品號,SUM(銷售數量*銷售價格)銷售額

  FROM銷售明細

  GROUP BY商品號;

  該銷售明細表的建表語句如下:

  CREATE TABLE銷售明細(

  序列號intIDENTITY(1,1)NOT NULL,

  商品號intNOT NULL,

  銷售日期datetime NULL,

  銷售數量intNOT NULL,

  銷售價格intNOT NULL

  );

  并在銷售明細表上建有如下索引:

  CREATE index ix_銷售明細_商品號on銷售明細(商品號);

  某技術人員提出通過執行下述語句以提高此查詢的運行效率:

  CREATE VIEW商品銷售額視圖

  WITH SCHEMABINDING

  AS

  SELECT商品號,SUM(銷售數量*銷售價格)銷售額,

  COUNT_BIG(*)cnt

  FROM db0.銷售明細

  GROUP BY商品號;

  CREATE UNIQUE CLUSTERED INDEX ix_商品銷售額

  ON商品銷售額視圖(商品號);

  (1)請分析該技術人員給出的語句功能以及對原有查詢語句的性能影響,并給出原因。

  (2)此商場的銷售量很大,每天有大量數據插入到銷售明細表中。請從數據庫整體性能角度分析,此技術人員提出的優化方法是否合適,并給出原因。

  參考解析:

  (1)【解題思路】

  該技術人員使用了帶有索引的視圖,將所關心的數據(商品號,銷售額,該商品號在表中出現的次數)從銷售明細表中提取出來建立視圖,并對該視圖建立按商品號排序的聚簇索引,這樣大大減少了在搜索不同商品的銷售額時調用的數據表的規模,從而提高了查詢效率。由于表的數據規模很大,建立該視圖后,同一種商品不會多次出現在表中,而是通過一個計數變量cnt表示,即在檢索時大大減少了檢索規模。創建索引時,UNIQUE關鍵字表明此索引的每一個索引值只對應唯一的數據記錄。CLUSTER表示要建立的索引是聚簇索引(所謂聚簇索引是指索引項的順序與表中記錄的物理順序一致的索引組織)。

  【參考答案】

  語句功能:建立包含所關心數據(商品號,銷售額,該商品號在表中出現的次數)的帶索引的視圖,并建立按商品號對應銷售額UNIQUE聚簇排序的索引,從而大大縮小了查詢語句的查詢范圍,提高了查詢效率。

  原因:視圖問接相關的屬性列(序列號,銷售日期,商品號,銷售數量,銷售價格)轉換成了目標屬性列,減少了搜索空問,同時建立UNIQUE CLUSTERED索引,使查詢商品號的數據記錄唯一,因此降低了搜索范圍,提高了搜索效率。

  (2)【解題思路】

  由于視圖是不實際存儲數據的虛表,因此對視圖的更新最終要轉換為對基本表的更新。而用戶通過視圖對數據進行增加、刪除、修改時,有意或無意地對不屬于視圖范圍內的基本表數據進行操作,會破壞數據的一致性。而且視圖中的數據本身就是冗余的,每次對表進行修改時,同時也要對相應的視圖進行修改,這大大增加了系統的負擔。

  【參考答案】不合適,每天大量的插入操作使得在修改表的同時也要對視圖進行修改,增加了系統的負擔,然而該統計功能一個月才用一次,這樣導致系統的利用率也較為低下。

  47設有圖書管理數據庫,包含三張表:

  圖書明細表(圖書編號,圖書類別,圖書名稱,作者,出版社,出版日期,定價);

  讀者表(借書證號,姓名,系別,辦證日期);

  借出信息表(借出編號,借書證號,圖書編號,借書日期);

  完成下列操作:

  定義一個多語句表值函數,用于查詢學生借書情況,只需提供參數:借書證號,就可以通過調用函數返回此學生的借書情況,若有借書籍,則返回所借書籍的編號、書籍名稱、定價和借書日期;若沒有在借書籍,則返回記錄為空。設函數名為:f_BorrowBook(@jszh char(20))。

  參考解析:

  【解題思路】

  SQL Server 2008多語句表值函數的格式為:

  CREATE FUNCTION[schema_name.]function_name

  ([{@parameter_name[As][type_schema_name.]parameter data_type

  [=default]}

  [….n]

  ]

  )

  RETURNS@return_variable TABLE

  [AS]

  BEGIN

  function_body

  RETURN

  END

  [;]

  ::=

  ({I}

  [table_constraint][,...n])

  采用三表聯合查詢,通過傳入的借書證號查出借出信息表中的圖書編號,然后查出圖書明細表的信息。

  【參考答案】

  CREATE FUNCTION BorrowBook(@jszh char(20))

  RETURNS@jsqkb TABLE(書籍編號char(20),書籍名稱char(50),定價float,借書日期datetime)

  AS

  BEGIN

  INSERT@jsqkb

  SELECT圖書明細表.圖書編號,圖書名稱,定價,借出信息表.借書日期FROM借出信息表,圖書明細表

  WHERE借出信息表.圖書編號=圖書明細表.圖書編號AND借出信息表.借書證號=@jszh

  RETURN

  END

56254 主站蜘蛛池模板: 煤机配件厂家_刮板机配件_链轮轴组_河南双志机械设备有限公司 | jrs高清nba(无插件)直播-jrs直播低调看直播-jrs直播nba-jrs直播 上海地磅秤|电子地上衡|防爆地磅_上海地磅秤厂家–越衡称重 | 微波消解仪器_智能微波消解仪报价_高压微波消解仪厂家_那艾 | 美的商用净水器_美的直饮机_一级代理经销商_Midea租赁价格-厂家反渗透滤芯-直饮水批发品牌售后 | 柔软云母板-硬质-水位计云母片组件-首页-武汉长丰云母绝缘材料有限公司 | 北京开业庆典策划-年会活动策划公司-舞龙舞狮团大鼓表演-北京盛乾龙狮鼓乐礼仪庆典策划公司 | 篷房|仓储篷房|铝合金篷房|体育篷房|篷房厂家-华烨建筑科技官网 知名电动蝶阀,电动球阀,气动蝶阀,气动球阀生产厂家|价格透明-【固菲阀门官网】 | 安徽华耐泵阀有限公司-官方网站 安德建奇火花机-阿奇夏米尔慢走丝|高维|发那科-北京杰森柏汇 | 钢化玻璃膜|手机钢化膜|钢化膜厂家|手机保护膜-【东莞市大象电子科技有限公司】 | 搪瓷反应釜厂家,淄博搪瓷反应釜-淄博卓耀| 上海刑事律师|刑事辩护律师|专业刑事犯罪辩护律师免费咨询-[尤辰荣]金牌上海刑事律师团队 | 手持气象站_便携式气象站_农业气象站_负氧离子监测站-山东万象环境 | 大通天成企业资质代办_承装修试电力设施许可证_增值电信业务经营许可证_无人机运营合格证_广播电视节目制作许可证 | 搪玻璃冷凝器_厂家-越宏化工设备 | 防潮防水通风密闭门源头实力厂家 - 北京酷思帝克门窗 | 一路商机网-品牌招商加盟优选平台-加盟店排行榜平台 | 青岛侦探_青岛侦探事务所_青岛劝退小三_青岛调查出轨取证公司_青岛婚外情取证-青岛探真调查事务所 | 挨踢网-大家的导航!| 洁净棚-洁净工作棚-无菌室-净化工程公司_北京卫护科技有限公司 | 最新范文网_实用的精品范文美文网 | 礼仪庆典公司,礼仪策划公司,庆典公司,演出公司,演艺公司,年会酒会,生日寿宴,动工仪式,开工仪式,奠基典礼,商务会议,竣工落成,乔迁揭牌,签约启动-东莞市开门红文化传媒有限公司 | 济南菜鸟驿站广告|青岛快递车车体|社区媒体-抖音|墙体广告-山东揽胜广告传媒有限公司 | 耐热钢-耐磨钢-山东聚金合金钢铸造有限公司 | 冲击式破碎机-冲击式制砂机-移动碎石机厂家_青州市富康机械有限公司 | 电池挤压试验机-自行车喷淋-车辆碾压试验装置-深圳德迈盛测控设备有限公司 | 合肥制氮机_合肥空压机厂家_安徽真空泵-凯圣精机 | 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 玉米加工设备,玉米深加工机械,玉米糁加工设备.玉米脱皮制糁机 华豫万通粮机 | 北钻固控设备|石油钻采设备-石油固控设备厂家 | 纯化水设备-纯水设备-超纯水设备-[大鹏水处理]纯水设备一站式服务商-东莞市大鹏水处理科技有限公司 | LHH药品稳定性试验箱-BPS系列恒温恒湿箱-意大利超低温冰箱-上海一恒科学仪器有限公司 | 申江储气罐厂家,储气罐批发价格,储气罐规格-上海申江压力容器有限公司(厂) | 外贮压-柜式-悬挂式-七氟丙烷-灭火器-灭火系统-药剂-价格-厂家-IG541-混合气体-贮压-非贮压-超细干粉-自动-灭火装置-气体灭火设备-探火管灭火厂家-东莞汇建消防科技有限公司 | (中山|佛山|江门)环氧地坪漆,停车场地板漆,车库地板漆,聚氨酯地板漆-中山永旺地坪漆厂家 | 手持气象站_便携式气象站_农业气象站_负氧离子监测站-山东万象环境 | 磁粉制动器|张力控制器|气胀轴|伺服纠偏控制器整套厂家--台灵机电官网 | 北京包装设计_标志设计公司_包装设计公司-北京思逸品牌设计 | 超声波_清洗机_超声波清洗机专业生产厂家-深圳市好顺超声设备有限公司 | 广州云仓代发-昊哥云仓专业电商仓储托管外包代发货服务 | 昆山新莱洁净应用材料股份有限公司-卫生级蝶阀,无菌取样阀,不锈钢隔膜阀,换向阀,离心泵 | 专业广州网站建设,微信小程序开发,一物一码和NFC应用开发、物联网、外贸商城、定制系统和APP开发【致茂网络】 |