77范文网 - 专业文章范例文档资料分享平台

《数据库原理》实验指导书--2011最新版 - 图文(2)

来源:网络收集 时间:2019-01-05 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

实验三 数据的组织与查询

实验目的

掌握数据表的索引、排序、检索与查询等操作。

实验内容

1、数据表索引的建立、打开、更新、删除与关闭。 2、数据表记录的排序。 3、数据表数据的检索。 4、数据表数据的查询。

实验环境

SQL环境。

实验过程

一、数据表索引的建立

SQL语句: CREATE INDEX <索引文件名> ON ……

例3-1: 对学生表按学号建索引, 生成索引文件SYXH SQL语句: CREATE INDEX SYXH ON STUDENT(Sno) 显示的结果:记录按学号的升序(由小到大)排列。

二、索引的打开

SQL语句: 用SELECT语句直接打开。

例3-2:在已打开学生表的情况下,再另打开索引文件SYXH, 显示 全部学生的记录

SQL语句: SELECT * FROM STUDENT WITH(INDEX=SYXH)

三、索引的更新

修改表记录时,只要索引是打开的,系统就会自动修改索引,否则,

就要用重新索引命令修改。

SQL语句: DBCC SHOWCONTIG, DBCC DBREINDEX 四、索引的关闭

不再打开就是关闭。

五、索引的删除

首先要关闭索引,然后才能删除索引文件。 SQL语句: DROP INDEX 主表名.<索引名>

例: 删除已建的SYXH

SQL语句: DROP INDEX STUDENT.SYXH 六、数据表记录的排序

6

排序:是对记录按某些字段值重新排列顺序,生成新的数据表文件。 SQL语句: SELECT … FROM … WHERE … ORDER BY … 例3-3:对学生表按学生年龄降序排序,生成排序文件STS1

SQL语句: SELECT * INTO STS1 FROM STUDENT ORDER BY Sage DESC 七、数据表数据的检索

检索:只能在索引过的数据表中查找数据。 SQL语句:SELECT … FROM … WHERE …

例3-4:对学生表已按学号建过索引,检索学号为95002的学生的记录, 并显示出来

SQL语句: SELECT * FROM STUDENT WITH (INDEX=SYXH) WHERE Sno=’95002’ 八、数据表数据的查询

查询:不依赖索引,可以直接在数据表中查找数据。 SQL语句:SELECT … FROM … WHERE …

例3-5: 在学生表中,找出计算机系的全部学生,并显示 SQL语句: SELECT * FROM STUDENT WHERE Sdept=’CS’

7

实验四 数据计算与多数据表的操作

实验目的

掌握数据表的计算功能与对多个数据表的操作。

实验内容

1、数据表记录个数的统计。 2、数据表数据的求和。 3、数据表数据的求平均值。 4、数据表数据的汇总。 5、多工作区的选择。

6、两个表之间的数据更新。

7、两个表(主表与多个从表)之间的关联。 8、两个表之间的连接。

实验环境

SQL环境。

实验过程

一、数据表记录个数的统计

统计:对记录个数的计数,结果为非负整数(≥0)。 SQL语句: SELECT COUNT(*) FROM … WHERE … 例4-1: 统计学生表中数学系的学生人数

SQL语句: SELECT COUNT(*) FROM STUDENT WHERE Sdept=’MS’ 二、数据表数据的求和

求和:对数据表中记录数值型(N,F,I等)字段的值求代数和。 SQL语句: SELECT SUM(*) FROM … WHERE …

例4-2: 在选课表中, 求出学号为95002的学生所选课的总成绩 SQL语句: SELECT SUM(*) FROM STUDENT WHERE Sno=’95002’ 三、数据表数据的求平均值

求平均值:对数据表中记录数值型(N,F,I等)字段的值求平均值。 SQL语句: SELECT AVG(*) FROM … WHERE …

例4-3: 在选课表中, 求出学号为95002的学生所选课的平均成绩 SQL语句: SELECT AVG(*) FROM STUDENT WHERE Sno=’95002’

四、数据表数据的汇总

汇总: 对数据表中记录数值型(N,F,I等)字段的值按某关键字的值求代

数和。其结果放在另外一个数据表中(汇总表)。

8

SQL语句: SELECT * INTO <新表文件名> FROM <表文件名> GROUP BY … 例4-4: 在选课表中, 按课程号汇总的成绩 Create(Cno char(4),avgg int);

SQL语句: SELECT Cno,avg(grade) INTO HZB1(Cno,avgg) FROM SC GROUP BY Cno 五、多工作区的选择 工作区: VFP系统中为同时使用多个数据表而开辟的内存缓冲区, 可用数字,

字母(只能表示前10个)来表示。

SQL语句: 在SELECT 语句中指出短语CROSS JOIN 可实现

六、两个表之间的数据更新

数据更新:就是用另一个工作区表的数据来修改当前工作区表的数据。 SQL语句: UPDATE <表名> SET … WHERE (子查询语句)

七、两个表(主表与多个从表)之间的关联

关联:又称为关系连接,逻辑连接,它是在主表与从表之间建立一种

逻辑关系,当主表记录指针移动时,从表也随之移动,这样有 利于相关修改与查询。

SQL语句:SELECT … FROM … WHERE … 八、两个表之间的连接

连接: 又叫物理连接, 它由两个表横向连接, 生成新的表。 SQL语句: SELECT * FROM … CROSS JOIN …

9

实验五 触发器与存储过程的设计

实验目的

掌握SQL中的存储过程的设计,了解触发器的内容。

实验内容

1、存储过程的设计。 2、触发器的实现。

实验环境

SQL环境。

实验过程

一、存储过程的设计

1、有关概念

存储过程是由SQL语句及控制流语句组成的集合。调用一个存储过程,可以一次性地执行过程中的所有语句。从这一点来说,它类似于程序。

存储过程由用户建立,它作为数据库的一个成分,存在于数据库中。 存储过程类似VFP中的过程(函数、子程序),它可以接受参数,也可以返回参数。存储过程可以被客户端、其他存储过程或触发器调用。

以SP_为前缀的存储过程是SQL提供的系统存储过程; 以XP_为前缀的存储过程是扩展的存储过程; 关联到表上的存储过程称为触发式存储过程。

2、存储过程的建立 语句格式:

CREATE PROCEDURE 存储过程名[;分组号]

[{ @参数名 数据类型 } [VARYING][=参数的默认值][OUTPUT][,…] [WITH {RECOMPILE|ENCRYPTION|RECOMPILE, ENCRYPTION}] [FOR REPLICATION] AS SQL语句[…] 3、存储过程的的执行 语句格式:

EXECUTE 过程名 [参数表] 4、修改存储过程 语句格式:

ALTER PROCEDURE 存储过程名 [;分组号]

[{ @参数名 数据类型 } [VARYING][=参数的默认值][OUTPUT][,…] [WITH {RECOMPILE|ENCRYPTION|RECOMPILE, ENCRYPTION}] [FOR REPLICATION] AS SQL语句[…] 5、删除存储过程 语句格式:

10

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库《数据库原理》实验指导书--2011最新版 - 图文(2)在线全文阅读。

《数据库原理》实验指导书--2011最新版 - 图文(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/405518.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: