实验四 存储过程、触发器与索引

所需积分/C币:16 2018-06-01 10:30:40 515KB PDF
76
收藏 收藏
举报

实验四 存储过程、触发器与索引 一、实验目的 1.熟悉大型数据库实验环境,以MS SQL SERVER为例; 2.掌握视图; 3.掌握存储过程与触发器; 4.掌握MS SQL SERVER的导入和导出; 5.掌握MS SQL SERVER的索引。 二、实验内容 (1)使用“实验一”中的数据库“abc”,创建一个视图,生产厂家为“北京”且价格低于北京生产的产品的平均价格,输出产品的名称、价格和生产厂家。 (2)使用“实验一”中的数据库“abc”,创建一个带有输入参数的存储过程proc_abc,查询指定职工的销售记录,用户输入职工编号,存储过程返回职工名称、产品名称、销售日期、销售数量,假如执行存储过程时所提供的“职工编号”不存在,存储过程应给予一定的提示。 (3)使用“实验一”中的数据库“abc”,练习使用游标, 写出按如下报表形式显示结果的SQL语句,该报表查询每年每种产品总销售金额,(总销售金额=价格*销量),报表显示格式如下所示: 年 产品号 产品名 销售总量 总销售金额(万元) 2001年 2 AAA 590 3.2 2001年 5 BBB 644 23.3 2002年 1 CCC 32 0.2 (4)使用“实验一”中的数据库“abc”,练习使用触发器,在销售表上创建触发器tr_updateprice,每次新增销售记录时,自动更新产品表的单价,更新方法是:每增加一笔销售记录,就将该产品的单价减去1块钱。 (5)将100万行网络连接监控数据Netflow导入数据库,创建多个索引,观察创建索引对数据库文件大小的影响;并设计不同的查询语句来观察索引对查询效率的影响;可以尝试将100万行记录扩展为1000万行,然后再做索引和查询的实验?文件见附件。
数据库实验报告 实验四存储过程、触发器与索引 实验四存储过程、触发器与索引 、实验目的 1.熟悉大型数据库实验环境,以 MS SQL SERVER为例; 2.掌握视图 3.掌握存储过程与触发器 4.掌握 MS SQL SERVER的导入和导出; 5.掌握 MS SQL SERVER的索引。 二、实验内容 (1)使用“实验一”中的数据库“abc”,创建一个视图,生产厂家为“北 京”且价格低于北京生产的产品的平均价格,输出产品的名称、价格和生产厂家 (2)使川“实验一”中的数据库“abc”,创建一个带有输入参数的存储过 程proc_abc,査询指定职τ的销售记录,用户输入职工编号,存储过程返回职T 名称、产品名称、销售日期、销售数量,假如执行冇储过程时所提供的“职工编 号”不存在,存储过程应给予一定的提小。 (3)使用“实验—”中的数据库“abc”,练习使用游标,写岀接如下报表 形式显示结果的SL语句,该报表查询每年每种产品总销售金额,(总销售金额 价格*销量),报表显示格式如下所示: 年 产品号产品名销售总量总销售金额(万元) 2001年2 AAA 590 3.2 2001年5 BBB 644 23.3 2002年1 CCC 32 0.2 (4)使用“实验一”中的数据库“abc”,练习使用触发器,在销售表上创 建触发器 tr updateprice,每次新增销售记录时,自动更新产品表的单价,更新 方法是:每增加一笔销售记录,就将该产品的单价减去1块钱 (5)将100万行网络连接监控数据 Netflow导入数据库,创建多个索引, 观察创建索引对数据库文件大小的影响:并设计不同的查询语句来观察索引对查 询效率的影响:可以尝试将100万行记录扩展为1000万行,然后再做索引和查 询的实验?文件见附件。 数据库实验报告 实验四存储过程、触发器与索引 、实验结果 (1)使用“实验”中的数据库“ab”,创建一个视图,生声厂家为“北 京”且价格低于北京生产的产品的平均价格,输出产品的名称、价格和生产厂家。 !执行图)√罗回呜三 实验四sq tor5〕) 日 create view. ny.iew select cpm as'产品名’,JGas'价格'. SCG as'生产厂家 from cpe where sccu=北京 and jG< select AVG (G) from cpe whcrc s='北京 凵 select* from movie 结果消息 产品名价格生产厂 1电冰箱ⅰ48北京 计算机79J北京 (2)使川“实验一”中的数据库“abc”,创建一个带有输入参数的存储过 程proc_abc,査询指定职工的销售记录,用户输入职工编号,存储过程返回职T 名称、产品名称、销售日期、销售数量,偎如执行冇储过程时所提供的“职工编 号”不存在,存储过程应给予一定的提示。 实验四.s1-.tor(51) Greate procedure proc abc aZGH char (62 declare @count int 白 set count select count (ek from xsryB where 2GH-=ZGH it (count>0 白 begin select xSRYB xM CPB. CPM. xSQKB. XSRO XSQKB XSSL fron XSRYB inner join XsoKB on XSRYB ZGHXSQKB ZGH inner join CPB on CPB CPH=-XSOKB CPH where xsryB zgH @zGh Ise egIn print’查询的职工号不存在 ene 消息 命令已成功完成 数据库实验报告 实验四存储过程触发器与索引 exec proc abc @ZGH-'G03 exec proc abc @ZGH='G10' 国结果消息 消息 M DSSL 查询的职工号不存在! 1人员3电冰箱2U020E5:4 员3音响20112000016 人员3空调2011202 (3)使用“实验一”中的数据库“abc”,练习使用游标,写出按如下报表 形式显示结果的SL语句,该报表査询每年每种产品总销售金额,(总销售金额 价格*销量),报表显示格式如下所示: 年 产品号产品名销售总量总销售金额(万元) 2001年2 AAA 590 3.2 2001年5 BBB 644 23.3 2002年1 CCC 32 0.2 declare abc cursor CURSOR FOR select year(XSRQ), CPH from XSQKB group by year(XSRQ), CPH open abc cursor de ecare @YEAR int @CPH char(6) @CPM varchar(20) @XSL int @ZXSJE float create table #temp cur sor 1 Lyear] [int] [cph] [char](6) [cpm [varchar](20) xsl Lint] [zxsje] [float on Lpr i mary fetch next from abc cur sor into @ YEAR. @CPH 数据库实验报告 实验四存储过程、触发器与索引 while @@FETCH STATUS=O beg in set @XSZL=( select SUM (XSSL) from XSQKB where CPH-=@CPH and YEAR (XSRQ)=@YEAR set OCPM=( select cPM from CPB where CPH=@CPH set @ZXSJE=( select jG aXsZl from CPB where CPH=@CPH insert into #t VALues(@YEAR, @CPH, @CPM, @XSZL, cast((oZXSJE/10000)as varchar(10))) fetch next from abc cursor into @YEAR. @CPH en close abc cur sor deal locate abc cur sor select yeAR as'年', cph as'产品号', cpm as'产品名', xsz as'销售总量 zxSJe as'总销售金额(万元) from #temp cursor 1 drop table #temp cur sor 1 面結果消息 年产品号产品名销售总量总销售金额〔万元〕 电冰箱1 2201P04音响16 54 21P空调207 4201P07笔记本 5S15 2002P02电冰箱5 24 6202P0微波归10198 (4)使用“实验”中的数据库“abc”,练习使用触发器,在销售表上创 建触发器 tr updateprice,每次新增销售记录时,自动更新产品表的单价,更新 方法是:每增加一笔销售记录,就将该产品的单价减去1块钱 原产品表中的电冰箱4800,向销售情况表中添加销售10台电冰箱的记录, 再次查询产品表后,电冰箱价格为4790,如下图所示: 数据库实验报告 实验四存储过程、触发器与索引 Fcreate trigger tr updateprice on XSQ for insert update declare @newXssL int @newjGCPH char (6 set @neyxssl=(se lect xss from inserted set @newGCPH=(se lect cph fr om inserted) update CPB set g-jG-gnewXssi where cPH=@newuGCPH 消息 命令已成功完成 insert XSQKB elect"Go',"Po2,"2018-530’.|0 自消息 行受影响向 (1行受影响向 Select x select =k from XSOKB from XsQKB select select x from CPBl from CPB 曰果消息 彐结果消晨 ZGH CPH >SRQ SL ZGH CPH : SRQ 11F202000 1E1P2201805300.010 E3P2200120m16 0220020606300 G03P200112002 G3F02001120000016 LU5 PU2∠ uU2-502 UU: UU: UL 4GC3P052001-11-2-000:00 506Pu200-12040mm5 5 P E 06P200240400m10 6GC6F07200112013000 0P220012↓5m1 EC6P08202041400010 CPHCPhSCTJIJGSCRQ GC8F020012050000 1Fm2电冰箱北京480020020214c0000 二P+ CPM SCC JG SCR 2F03计算机北京79002001101c000 PT电冰箱北京4790200202140000 3F04音响上海40001100 2P计算机北京790020011010000 4P空调上海380200101000 P4音响上海4000200406000 5P6洗衣机青岛3102000-1c00 4P空明海38002001010000 6F7笔记本北京1200130005P0选衣机青岛3002091800 PR微波炉天律198020020120000 Pm7笔试本北京11.200830m00 FB微滤炉天津19802020120 登已成功执行 ②查询己成功执行 数据库实验报告 实验四存储过程触发器与索引 (5)将100万行网络连接监控数据 Netflow导入数据库,创建多个索引, 观察创建索引对数据库文件大小的影响;并设计不同的査询语句来观察索引对査 询效率的影响;可以尝试将100万行记录扩展为1000万行,然后再做索引和查 询的实验?文件见附件。 新建数据库 Netfloπ后,选择该数据库右键,选择【任务】-〉【导入数据】后, 完成数据的导入。 r导入和导出向导 凹吧囟 教据 奖据源m 逅怿一个文件亓指定文件层世和文件格式 5:t叭浏览,」 区其设置〔 中文(中人是共和国) Unicode u 弋玛页 9AEIM一简体叶文E 文本 要过标题冖数[S 取泊 导出向号 回叉 执行成功 0错没 11馬 详洲信 把作 成巧 ②正王设置日标涯授 a准备执行 正生 ri=I 报告(R1 数据库实验报告 实验四存储过程、触发器与索引 select t fron Netflow iII ionRecor del 明结果 息 idauto parsed abe ipl ocolC ode firs: SeenSrclp irs=Pcrt firatSeen Des: 1 firstSeen DestPc 14:1E:4 439712013420516:41TCF 10EE6 1723004 1斤41TrP F 74R 939732011205:1E1TCP 10E653126 5550 94974011205:10 100 CG 134/205 1F 41 TCP ↓ 日出凸 Ub:1E:41|L 141205:1041 10G.CG 1723004 106E y4/1421:141H 1小2,凵4 n134}2n1F41TR 213105:1541TCP 106.6 17230048 1494903021142051c41TCr 159439840134205:1541TCP 30Q4 134 s47E:41|L Tb 王在执行查询 创建索引 create clustered index netflow s1 on Net f lowt i II ianRecords (idauto cr eale index mellow s2 on [Nett lowN iII ionRecords (ipLayer l Code create index netflow s3 on LNct II ianRccor ds(parscdDatc) 沟息 令尸球功异成 创建索引之前的数据库文件大小:92.00MB 曰备份 数据库上 日期 数据库日志上次备份日期 日数据库 正常 所有者 0-E5362D84 o 创建日其 2018-5-13:5223 可用空间 L D9 ME 用户数 4 日护 序规则 C1u142 H PRC C工A 创建索引之后的数据库文件的大小:298.75MB 日备价 数据库上次备分日期 数据库日志上次备份日期 凵数据片 Net flow 正节 所有看 LENO-E5362DE4\Administrator 创建日其 T MR 用空间 10 ME 用户数 口维妒 排序规则 PEC CI AS 数据库实验报告 实验四存储过程、触发器与索引 select *k from Net flowyillionrecor ds where ipLayer Protoco Code- TCP 回果消息 dDate ipLayeProtocolCcde 'irstSeenSrclp fir slS- Port firstSeenDestlp fir ISee-DestPortTotelB 10E55 J4372201420516:41TC 9439730|34/205|64|TCP 0E5.5 53|EE l72004 534397420134/201641TCF OE6.6 27 94出/b1342:141LF 1:U4 7943976201342051641TCP 880880888 erGO 4397201342051641P 439720134205:16:41 53131 172.5004 10940720134/2051G:41TC 107702217204002740 93020|34/205|:4|TCP 53|E lF2.三0.04 5550 20134/2016.41TCF 10E rsi 4J: 4 儿U 20134闷2051641TCP 159439342014201641c 53134 395201344/201E:41TCP 91 ②查询二成功行。 创建索引前: IE0WOE566284(0.0KT)LEW-E56284 Admini..em0:0:34224718行 创建索引后: LENOVO-E5662D84(10.0 RTM) LENDY0-E5662D84Admini.. Netflow 00: 00: 30 924719 i 索引创建之前,查询 ipLayerProtocol Code为TCP的时间为3s,加了索引之 后为30s,速度提升不是很明显,可能是查询的数据有点多,总体都比较慢。

...展开详情
试读 10P 实验四  存储过程、触发器与索引
立即下载
限时抽奖 低至0.43元/次
身份认证后 购VIP低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
  • 签到新秀

关注 私信
上传资源赚钱or赚积分
最新推荐
实验四 存储过程、触发器与索引 16积分/C币 立即下载
1/10
实验四  存储过程、触发器与索引第1页
实验四  存储过程、触发器与索引第2页

试读结束, 可继续读1页

16积分/C币 立即下载