教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 说明书 >

数据库原理-实验8-查询优化(8)

来源:网络收集 时间:2025-04-25
导读: --(2)录入学号和课程号 declare @sno char(11) declare s_cursor cursor local for select sno from dbo.s open s_cursor fetch s_cursor into @sno declare @s_row int,@n int set @s_row=30000 set @n=1 while

--(2)录入学号和课程号 declare @sno char(11)

declare s_cursor cursor local for select sno from dbo.s open s_cursor

fetch s_cursor into @sno declare @s_row int,@n int set @s_row=30000 set @n=1

while @n<=@s_row begin

insert dbo.sc(sno,cno) select @sno, cno from dbo.c fetch s_cursor into @sno set @n=@n+1 end

close s_cursor

deallocate s_cursor

--(3)为学生选课表生成成绩 --1)创建学生选课表sc12 create table sc12( sno char(11), cno char(5), grade int,

primary key(sno,cno)) go

--2)将学生选课表sc中的选课信息插入到学生选课表sc12,并随机生成相应的选课成绩

declare @sno char(11),@cno char(5) declare @grdae tinyint

declare sc_cur cursor for select sno,cno from dbo.sc open sc_cur

fetch next from sc_cur into @sno,@cno

set @grdae=cast( floor(rand()*50) as int)+50 declare @n int,@sc_row int set @n=1

set @sc_row=600000 while @n<=@sc_row begin

insert into dbo.sc12(sno,cno,grade) values(@sno,@cno,@grdae)

fetch next from sc_cur into @sno,@cno set @grdae=cast( floor(rand()*50) as int)+50 set @n=@n+1 end

close sc_cur

deallocate sc_cur

说明:上面是查询优化数据库的模板程序。由于笛卡尔积计算量非常之大,上面的数据由普通的计算机作为数据服务器难以实现。 (二)实验实现:

本实验在sql server 2000环境下实现 1. 数据库:stu_optimization

1)学生表:s22(5000个元祖) 2)课程表:c22(20个元祖)

3)学生选课表:sc22(100000元祖) 2. 三种方法的时间代价

1)法一Q1中只进行笛卡尔积的时间:

2)法二、法三的时间

这里只是从时间代价上说明查询优化的必要性。通过简单的查询语句难以实现法二和法三在DBMS中的实现细节。

数据库原理-实验8-查询优化(8).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/449149.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)