实验四 数据表的排序与索引

合集下载

实验四 表记录的索引

实验四  表记录的索引

实验四表记录的索引、维护与统计操作一、实验题目表的高级操作二、实验课时2课时三、实验目的1、学会排序命令SORT的使用方法。

2、掌握用命令方式和菜单方式创建、打开、关闭独立索引文件和复合索引文件。

3、掌握顺序查找命令LOCA TE和索引查找命令SEEK、FIND的使用方法。

4、熟悉数据工作期窗口及其使用。

5、练习SELECT-SQL查询命令的初步使用。

三、实验内容和要求(一)实验内容:1、排序操作练习。

用SORT命令对GZ等表文件进行排序操作。

(1)打开GZ.DBF,按基本工资升序,基本工资相同时按补助工资降序得到表GZ4;打开GZ4.DBF表,进行浏览。

(2)打开GZ.DBF,按实发工资升序,序得到表GZ5;打开GZ5.DBF表,进行浏览。

(3)打开RS.DBF,按出生日期升序,得到表GZ6;打开GZ6.DBF表,进行浏览。

2、索引的建立与使用操作练习。

用INDEX命令对GZ、BM、RS等表文件建立索引文件。

(1)打开GZ.DBF,建立以基本工资为关键字的唯一索引,索引标识为GZ2。

(2)打开GZ.DBF,以基本工资为降序建立结构化复合索引,索引标识为GZ3。

(3)打开RS.DBF,以出生日期升序建立非结构索引RS1。

用SET INDEX TO、SET ORDER TO命令对表进行索引的打开操作。

3、数据工作期窗口使用练习(1)分别用菜单方式和命令方式练习打开和关闭数据工作期窗口。

(2)打开数据工作期窗口,在数据工作期窗口分别打开表GZ、RS、BM;分别打开三个数据表的浏览窗口,浏览表中数据。

(3)在数据工作期中选中GZ表,单击“属性”按钮,分别进行字段筛选和修改表结果的练习。

(4)以BM表为父表,以RS为子表,以子表的部门编号为关联的关键字,为两表建立关联。

4、顺序查询练习利用LOCATE 、CONTINUE等命令对相关表进行查询操作。

(1)打开表GZ,查找工资库中王同志的第一条记录。

(2)打开表GZ,从第七条记录开始,向下查找5条记录中的第一位李同志。

排序与索引.ppt

排序与索引.ppt
use gzb index on 基本工资 to jbgz list index on -实发工资 to sfgz list
排序与索引
Eg:为rsb.dbf按下列要求建立结构复合索引文 件。
⑴记录以姓名降序排列,索引标识xm,索引 类型为普通索引。
⑵记录以出生日期升序排列,索引标识csrq, 索引类型为唯一索引。
use gzb set index to jbgz,sfgz list set index to
请比较
排序与索引
⑵复合索引文件的打开和主控索引的 确定
复合索引文件建立时,当前新建立的 索引会自动成为主控索引。数据表文 件重新打开时,尽管结构复合索引文 件会自动打开,还需确定主控索引。
排序与索引
据表和索引文件。一个表可以打开多个索 引文件,同一个复合索引文件中也可能包 含多个索引标识。但任何时候只有一个索 引文件或索引标识起作用。
当前起作用的索引文件称为主控索引文件, 当前起作用的索引标识称为主控索引。
排序与索引
⑴打开和关闭单索引文件
①同时打开数据表和单索引文件格式: use <表文件名> index <单索引文件名 表>
排序与索引
⑵索引的类型 ①按文件扩展名: 单索引文件(*.idx):只包含一个关键字表达
式索引,现在很少用。 复合索引文件(*.cdx):又分为结构复合索引
和非结构复合索引。前者与数据表文件同名, 扩展名为.cdx,在打开数据表时会自动打开, 在增删和修改记录时会自动维护,使用最为简 单;后者与数据表文件名不同,扩展名也 为.cdx,打开时需要使用set index或use命 令中的index子句。
排序与索引
命令格式: reindex 功能:重建打开的索引文件。 对结构复合索引文件,因为总是随数

索引顺序查找实验报告

索引顺序查找实验报告

一、实验目的1. 理解索引顺序查找的基本原理。

2. 掌握索引顺序查找的实现方法。

3. 分析索引顺序查找的时间复杂度和效率。

二、实验原理索引顺序查找是一种基于索引的查找方法,它将数据分为两部分:索引和数据。

索引部分存储了数据中各个元素的位置信息,而数据部分则存储了实际的数据。

在查找过程中,首先通过索引找到目标元素的位置,然后再从数据部分中获取该元素。

索引顺序查找的基本步骤如下:1. 遍历索引,找到目标元素的位置。

2. 根据找到的位置,从数据部分获取目标元素。

三、实验环境1. 操作系统:Windows 102. 编程语言:Python3.83. 开发工具:PyCharm四、实验步骤1. 创建一个数据集,包括1000个随机整数。

2. 创建一个索引,记录每个元素在数据集中的位置。

3. 编写索引顺序查找函数。

4. 对数据集中的元素进行查找,并记录查找时间。

5. 分析查找结果,评估查找效率。

五、实验代码```pythonimport randomimport time# 创建数据集data_set = [random.randint(0, 10000) for _ in range(1000)]# 创建索引index = {data_set[i]: i for i in range(len(data_set))}# 索引顺序查找函数def index_search(data, target):if target in index:return index[target]else:return -1# 查找过程start_time = time.time()for target in data_set:index_search(data_set, target)end_time = time.time()# 输出查找时间print("查找时间:", end_time - start_time)```六、实验结果与分析1. 查找时间:实验结果显示,在数据集中进行1000次查找操作所需的时间为0.0009秒,平均每次查找所需时间为0.000009秒。

第11章 数据表的排序和索引

第11章 数据表的排序和索引

单关键字排序
例2:将表rsda中的记录以“性别”为第一关键字段,按 将表rsda中的记录以“性别”为第一关键字段, rsda中的记录以 递增排序; 性别”相同, 递增排序;若“性别”相同,以“基本工资为第二关 键字段,按递减排序. 键字段,按递减排序.并将排序后的结果存入表 xbgz.dbf中 xbgz.dbf中。
例3:对表rsda按基本工资和出生日期建立索引, 对表rsda按基本工资和出生日期建立索引, rsda按基本工资和出生日期建立索引 索引的顺序是先按基本工资升序排列, 索引的顺序是先按基本工资升序排列,若基本工 资相同再按出生日期升序排列,并显示结果。 资相同再按出生日期升序排列,并显示结果。
若想表示:先按照某个字 段的值索引,对于此字段 值相同的记录,再按照另 一个字段的值索引。 则,这两个字段必须是字 符型的(不是字符型的通 过函数将其转换成字符型)
例1:将表rsda中的记录以“基本工资”为关键字 将表rsda中的记录以“基本工资” rsda中的记录以 段递减排序,并将排序后的结果存入表rsdat.dbf rsdat.dbf中 段递减排序,并将排序后的结果存入表rsdat.dbf中。
1、排序的结果放在了表 文件rsdat.dbf中。要想看 到排序结果,需打开 rsdat.dbf。 2 2、在rsdat.dbf中,记录 rsdat.dbf 的记录号发生了改变。
本题表示按照 基本工资字段 与奖金字段的 “和”建立索 引,升序排列。
二、排序与索引的区别
(1)前者改变了记录的物理位置,后者则没有。 (2)前者只能是字段名进行排序,后者还可以是关键字 段表达式。 (3)排序后文件是一新的表文件,可以离开原表文件而 单独使用,而索引文件不能离开原表文件而单独使 用。 (4)索引文件中存放的是按升序排列的索引关键字及必 要的链指针,其存储容量比排序产生的数据库文件 的容量要小得多,因此,索引很快,查找也快。

数据库原理及应用实验指导书答案

数据库原理及应用实验指导书答案

数据库原理及应用实验指导书 - 答案实验一:数据库管理系统的安装与配置问题一数据库管理系统(DBMS)是一种软件,用于管理和组织数据库。

它允许用户创建,读取,更新和删除数据库中的数据。

常见的数据库管理系统有MySQL,Oracle,SQL Server等。

问题二在实验室环境中,我们将使用MySQL作为我们的数据库管理系统。

以下是MySQL的一些常见特点: - 开源免费 - 跨平台支持 - 可扩展性强 - 有大型的用户社区和丰富的资源支持问题三MySQL的安装步骤如下: 1. 下载MySQL安装文件,可以从MySQL官方网站或者其他可信的下载源获取。

2. 运行安装程序,按照向导的指示进行安装。

3. 选择是否要安装MySQL 服务器和MySQL工具。

4. 设置密码以保护数据库的安全。

5. 完成安装程序并启动MySQL服务。

数据库是一个组织和存储数据的容器。

在关系型数据库中,数据以表的形式存储,每个表包含多个行和列。

每行代表一个记录,每列代表一个字段。

问题五关系型数据库管理系统(RDBMS)是一种DBMS,它使用结构化查询语言(SQL)来操作和处理数据。

常见的关系型数据库管理系统有MySQL,Oracle,SQL Server等。

问题六开放数据库连接(ODBC)是一种标准的数据库访问方法,它允许不同的应用程序通过统一的接口访问不同的数据库管理系统。

ODBC驱动程序充当应用程序和数据库之间的翻译器。

问题七在Windows系统中,ODBC数据源可以通过控制面板的“管理工具”来配置。

在数据源配置对话框中,可以添加,编辑和删除ODBC数据源。

在Windows系统中,可以使用ODBC接口库和ODBC驱动程序来连接和操作数据库。

具体步骤如下: 1. 加载ODBC接口库。

2. 初始化ODBC环境。

3. 建立数据库连接。

4. 执行SQL语句。

5. 关闭数据库连接。

6. 释放ODBC环境。

问题九ODBC接口库是一组API函数,用于连接和操作数据库。

实验四 视图、索引的创建与管理

实验四  视图、索引的创建与管理

实验四视图、索引的创建与管理一、实验目的1.了解视图、索引的概念及作用。

2.掌握视图和数据表的区别。

3.掌握索引的分类。

4.掌握创建视图、索引的方法。

5.掌握查看和修改视图、索引的方法。

6.掌握删除视图、索引的方法。

二、实验内容视图实验内容:1.新建BOOKS数据库,使用管理控制台创建名称为“图书借阅信息表”的数据表,表2.在3.使用管理控制台创建一个名为“读者借阅信息_VIEW”的视图,要求显示所在部门是“计算机系”或“外语系”的读者借阅信息,包括“读者编号”、“姓名”、“所在部门”、“图书编码”和“图书状态”五个字段。

4.使用SQL语句创建一个名为“计算机系续借信息_VIEW”的视图,要求显示计算机系读者2010-10-1以后续借的图书信息,包括“姓名”、“图书编码”和“借阅日期”三个字段。

5.使用管理控制台查看“读者借阅信息_VIEW”视图的定义信息和依赖的对象。

6.使用系统存储过程查看“计算机系续借信息_VIEW”视图的定义信息和依赖的对象。

7.使用管理控制台修改“读者借阅信息_VIEW”视图,要求只显示计算机系男读者借阅信息,包括“读者编号”、“姓名”、“所在部门”、“图书编码”和“图书状态”五个字段。

8.使用SQL语言修改“计算机系续借信息_VIEW”视图,要求显示计算机系或外语系读者2006-1-1以后续借的图书信息,包括“姓名”、“所在部门”、“图书编码”和“借阅日期”四个字段。

9.分别使用管理控制台和SQL语言向视图“读者借阅信息_VIEW”中插入一条记录,看操作能否成功,为什么?10.使用管理控制台删除“读者借阅信息_VIEW”视图。

11.使用SQL语言删除“计算机系续借信息_VIEW”视图。

索引实验内容:12.使用管理控制台创建一个新的索引,索引名称为“IX_姓名_所在部门”,使用的数据表是“读者基本信息表”,所用的字段包括“姓名”和“所在部门”两个字段。

13.使用SQL语句创建一个新的索引,索引名称为“IX_图书状态_借阅日期”,使用的数据表是“图书借阅信息表”,所用的字段包括“图书状态”和“借阅日期”两个字段。

数据库- 表的排序、索引与统计

实验报告实验课程名称数据库系统及原理
实验项目名称表的排序、索引与统计
年级
专业
学生姓名
学号
00 学院
实验时间:年月日
图2 2.在Visual FoxPro的命令窗口中,输入:count for ssmz and xb=”女”to a
?a
如图3
图3
图4
4.在Visual FoxPro的命令窗口中,输入:
index on xh tag xh desc
Index on xm+str(date()-csrq) tag xm_csrq desc
图5 5.在Visual FoxPro的命令窗口中,输入:
Locat for xm=”王小萍”
Disp
Continue &&继续查找姓名为“王小萍”的同学。

如图6
图7 7.在Visual FoxPro的命令窗口中,输入:use student
图8 8.在Visual FoxPro的命令窗口中,输入:
use student
图9
9.使用菜单方式建立索引文件。

(1)以独占方式打开表STUDENT,如图10
图11
可以看到STUDENT表按“BJBH”建立了普通索引。

这时,BJBH”,如图12,。

结构化复合索引文件名与表同名即
STUDENT.CDX。

如图13使用这种方法建立索引既简图12
图13。

(第4章-3)表的排序、索引、统计


电气信息学院 计算机系
比如学生表中建立如下索引: 比如学生表中建立如下索引:
但是注意: 但是注意:数据类型不同的要转换成同类型
电气信息学院 计算机系
4.5.4使用索引文件 4.5.4使用索引文件
打开索引文件 确定主控索引 关闭索引文件 删除索引文件 更新索引文件
电气信息学院 计算机系
要使用索引,必须同时打开表与索引文件。 要使用索引,必须同时打开表与索引文件。 索引 打开表与索引文件 结构复合索引文件总是随着数据库表的打开而打 开,一旦数据表文件关闭也就自动关闭。 一旦数据表文件关闭也就自动关闭。 一个表可以打开多个索引文件, 一个表可以打开多个索引文件,同一个复合索引 文件中也可能包含多个索引标识,但任何时候只 文件中也可能包含多个索引标识,但任何时候只 有一个索引文件能起作用, 有一个索引文件能起作用,在复合索引文件中也 只有一个索引标识能起作用。 只有一个索引标识能起作用。 当前起作用的索引文件称为主控文件 主控文件, 当前起作用的索引文件称为主控文件,当前起作 用的标识称为主控标识。 用的标识称为主控标识。 主控标识
结构复合索引文件 在表设计器中创建索引时,VFP6.0会创建一个 表设计器中创建索引时,VFP6.0会创建一个 创建索引时 扩展名为.CDX结构复合索引文件。 扩展名为.CDX结构复合索引文件。 .CDX结构复合索引文件 复合索引文件具有与表名相同的文件名。 复合索引文件具有与表名相同的文件名。 相同的文件名 打开表时,自动打开与表同名的.CDX结构复合 打开表时,自动打开与表同名的.CDX结构复合 与表同名的.CDX 索引文件。关闭表时同时自动关闭它。 索引文件。关闭表时同时自动关闭它。 当表中进行记录的添加、修改和删除时,系统 当表中进行记录的添加、修改和删除时, 会自动对结构复合索引文件中的全部索引标记 自动对结构复合索引文件中的全部索引标记 进行维护。 进行维护。 维护

第四章 排序与索引


4.3.2
索引概述
如:原表为:
按计算机成绩索引(升序)后,表变为:
4.3.2
单索引文件 复合索引文件
索引概述
2.索引文件的种类
…… 结构复合索引文件 结构复合索引文件的文件名与相应的表名 相同,扩展名cdx) 其特殊性在于无论何时打开表,该索引文 件将由系统自动打开。
4.3.3
建立索引文件
1. 四种索引 主索引、侯选索引、唯一索引、普通索引。 (1) 主索引的关键字或关键字表达式值必须唯 一(不能重复),一个表只能有一个主索引。 (2) 候选索引与主索引类似,但可有多个。 (3) 唯一索引只在关键字值重复的记录中取记 录号小的那条记录。即索引后显示索引文件内容时 关键字段值唯一,而表中索引依据的关键字段值不 必唯一。 (4)普通索引的索引关键字值相同时,按记录号 从小到大排列。表中可建立多个普通索引,用不同的 索引标识区别。
4.3.1 表的排序
例 就学生表,显示入学成绩最高的5名 学生的记录。 操作命令如下: USE 学生 SORT ON 入学成绩/D TO cjb USE cjb &&打开排序后生成的新表文件 LIST NEXT 5
4.3.2
索引概述
1.索引的概念 排序由于要建立一个新的表,因此数据记录很 多时,既费时间,又占用磁盘空间,为此,常用建 立索引文件的方法对表的记录重新组织。 索引并不是重新排列表记录的物理顺序,而是 另外形成一个索引关键表达式值与记录号之间的对 照表,这个对照表就是索引文件。索引文件中记录 的排列顺序称为逻辑顺序。索引后,对表进行操作 时将按索引表中记录的逻辑顺序进行操作,表的物 理顺序不变。
4.5 多个表的操作
3.工作区的选择 命令格式是:SELECT <工作区号>|<别名>|0 命令中各子句的含义是: (1)工作区的切换不影响各工作区记录指针的位置。 每个工作区上打开的表有各自独立的记录指针。通常,当前 表记录指针的变化不会影响别的工作区中表记录指针的变化。 (2)SELECT 0表示选择当前没有被使用的最小号工作 区为当前工作区。 (3)也可在USE命令中增加IN子句来选择工作区并打开 表。 例如,在1号工作区打开学生表,并给它取一个别名: USE 学生 ALIAS zg IN 1 或 USE 学生 ALIAS zg IN A

数据库 排序与索引

数据库 排序与索引数据库应用技术 排序和索引知识目标:知识目标: 掌握对数据库排序的基本方法 数据库排序的基本方法;1、掌握对数据库排序的基本方法; 掌握建立索引文件的基本方法 索引文件的基本方法;2、掌握建立索引文件的基本方法; 掌握打开与关闭索引文件的方法。

3、掌握打开与关闭索引文件的方法。

能力目标: 1、能建立排序数据库文件; 2、能对记录进行顺序查找;3、能建立不同类型关键字的索引文件;4、打开与关闭索引文件。

数据库中记录是按其输入的顺序存放的, 记录号真实地反映了数据记录在存储介质 中的物理顺序。

在实际工作中往往希望记录按某个字段值的大小重新排列,这个字段称为关键字(关键字段)。

实现这种排列有两种方法:一种是排序(又称分类), 另一种是索引。

数据库的排序排序是按数据库文件中某个字段值的大小对记录的物理位置进行重新排列,并生成新的数据库文件。

【格式】SORT ON <字段名1>[</A >] [</D>] [/C][,<字段名2>[</A >] [</D>] [/C],…] TO <数据库名>[<范围>][FOR|WHILE<条件 >] [FIELDS<字段名清单>]【功能】将数据库中的记录按指定字段重新排序,生成一个新的数据库。

【说明】 [/A]按排序字段升序(递增)排序。

[/D]按排序字段降序(递减)排序。

[/C]按字母排序时不区分大小写。

范围选项省略时默认为ALL。

FIELDS<字段名清单>:排序生成的数据库中只包含有清单中指定的字段。

若省略该选项, 则排序生成的数据库包含所有字段。

注意:生成的排序库文件是关闭的,要使用必须先注意:生成的排序库文件是关闭的, 打开后使用。

将数据库文件ZYDA.DBF按合计字段由高到低排序 按合计字段由高到低排序,例 1 将数据库文件按合计字段由高到低排序 生成一个新数据库文件ZY1.DBF,并显示其内容。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一数据表的排序与索引
一、实验目的
1.了解记录排序的操作方法。

2.了解索引类型的作用,掌握创建、使用和维护索引的方法及四种索引的区别。

3.掌握索引查询命令的使用。

二、实验内容
1.对表文件rsda.dbf进行排序操作,对已婚职工按性别升序排序,当性别相同的按姓名降序排序,生成排序表文件为srsda_xbxm.dbf只有编号、姓名、工作日期三个字段。

打开排序表文件查看。

2.利用索引命令为表rsda.dbf按下列要求建立索引:
(1)按姓名升序建立单索引文件irsda_xm.idx,按基本工资降序建立单索引文件irsda_gz.idx。

(2)按出生日期降序(索引标识rq,类型为普通索引)排列;
(3)按性别降序,性别相同的按基本工资降序(索引标识为xbgz,类型为唯一索引),建立结构复合索引。

3.利用表设计器对表rsda.dbf,按下列要求建立结构复合索引:
(1)按编号升序(索引标识bh,类型为主索引),建立结构复合索引。

(2)按婚否字段的降序,婚否相同时按基本工资降序(索引标识为hfgz,类型为普通索引)排列。

4.利用索引查询完成下列查询:
(1)查询表rsda.dbf中姓名为李冬生的职工信息;
(2)查询表rsda.dbf中8月出生的职工第一条记录。

三、实验步骤
1.排序操作,操作命令如下:
use rsda
sort to srsda_xbxm on xb,xm/d for hf fields bh,xm,rq
use rsda_px
list
use
2.利用索引命令。

(1)操作命令如下:
use rsda
index on xm to irsda_xm
list
index on –jbgz to irsda_gz
list
use
dir *.idx
(2)操作命令如下:
use rsda
index on rq tag rq
list
use
(3)操作命令如下:
use rsda
index on xb+str(jbgz,7,2) desc tag xbgz unique
list
use
3.使用表设计器。

打开表设计器,选择“文件”菜单的“打开”命令,在“打开”对话框中选定表rsda.dbf,单击“确定”按钮,选择“显示”菜单的“表设计器”命令,打开“表设计器”窗口,选定“索引”选项卡。

(1)按编号升序建立主索引。

单击“索引名”列下部的文本框,输入bh,单击该行“类型“组合框,选定“主索引”选项,单击该行“表达式”列的文本框,输入bh。

(2)记录按婚否字段降序,婚否相同时按基本工资降序排列,建立普通索引。

单击“索引名”列下部的文本框,输入hfgz,单击该行“表达式”列的文本框右侧的对话框按钮,出现“表达式生成器”对话框,利用“字段”列表框、“函数”等功能,在“表达式”文本框输入表达式:
iif(hf,”t”,”f”)+str(jbgz,7,2)
单击“确定”按钮,返回“表设计器”对话框,单击该行左边的“排序”列按钮,使其为降序标识“↓”。

4.查询命令使用。

(1) 操作命令如下:
use rsda index irsda_xm
set order to tag irsda_xm &&设置姓名为主控索引
seek “李冬生”
? found()
display
use
(2) 操作命令如下:
use rsda
index on month(rq) tag yf &&按出生日期的月份建立复合索引
seek 8
? recno()
display
use
四、思考与练习
1.在rsda.dbf中,按性别升序,基本工资的降序排序记录,生成排序表文件srsda_xbgz.dbf,要求包含有编号、姓名、性别和基本工资四个字段。

2.在rsda.dbf中,记录按性别降序排列,性别相同的按出生日期降序排列建立复合结构索引,索引标识名为xbrq,类型为普通索引。

3.将数据库rsda.dbc中的gz.dbf表建立以bh为关键字的的主索引。

4.将数据库rsda.dbc中的teacher.dbf表建立以bh为关键字的普通索引和以kch为关键字的普通索引。

5.将数据库rsda.dbc中的course.dbf表建立以kch为关键字的主索引。

相关文档
最新文档