数据集,又称为
资料集、数据集合或资料集合,是一种由数据所组成的集合。
原理与分类
从历史上看,这个术语起源于大型机领域,在那里它有一个明确界定的意义,非常接近现代的计算机档案。这个主题是不包括在这里的。
最简单的情况下,只有一个
变量,然后在数据集由一列列的数值组成,往往被描述为一个列表。尽管名称,这样一个单数据集不是一套通常的数学意义,因为某一个指定数值,可能会出现多次。通常的顺序并不重要,然后这样数值的集合可能被视为
多重集,而不是(顺序)列表。
值可能是数字,例如真正的数字或整数,例如代表一个人的身高多少厘米,但也可能是象征性的数据(即不包括数字),例如代表一个人的种族问题。更一般的说,价值可以是任何类型描述为某种程度的测量。对于每一个变量,通常所有的值都是同类。但是也可能是“
遗漏值”,其中需要指出的某种方式。
数据集可以分成类型化数据集与非类型化数据集。
类型化数据集:这种数据集先从基DataSet 类派生,然后,使用XML 架构文件(.xsd 文件)中的信息生成新类。架构中的信息(表、列等)被作为一组第一类对象和属性生成并编译为此新数据集类。可以直接通过名称引用表和列,在VS.NET中可以智能感知元素的类型。
非类型化数据集:这种数据集没有相应的内置架构。与类型化数据集一样,非类型化数据集也包含表、列等,但它们只作为集合公开。需要通过Tables集合引用列。
作用
统计学
在统计数据集通常来自实际观测得到的抽样统计人口,每一行对应于观测的一个组成部分,人口。数据集可能会进一步产生算法为测试目的某些种类的软件。一些现代统计分析软件,如PSPP仍然存在的数据中的经典数据集的方式。常见的人口
人力资源数据统计学数据集包括:Gravesite locations of Veterans and beneficiaries in ALASKA, as of January 2011.(阿拉斯加退伍军人墓地的位置和受益人,自2011年1月)、2007-2008 County-to-County Migration Outflow(2007-2008郡县之间移民流出)等。
数据库
数据集在断开缓存中存储数据。数据集的结构类似于
关系数据库的结构;它公开表、行和列的分层对象模型。另外,它包含为数据集定义的约束和关系。
Delphi 4
Delphi 4中有四种类型的标准数据集构件,分别是TTable、TQuery、TStoredProc和TClientDataSet。这些数据集构件都是从一个共同的基类TDataSet继承下来的,其中,只有TClientDataSet是直接从TDataSet继承下来的,而TTable、TQuery、TStoredProc的直接上级是TDBDataSet,TDBDataSet的上级是TBDEDataSet,TBDEDataSet 的上级才是TDataSet。这几个类之间的继承关系可以用图6.1来表示。
TDataSet是所有数据集的
抽象基类,它的大部分属性和方法是虚拟的或抽象的。所谓虚拟的方法,是指这些方法可以被
派生类重载。所谓抽象的方法,是指这些方法只有声明,没有定义,派生类必须给出定义后才能调用这些方法,不同的派生类可以有不同的定义。
由于TDataSet中包含抽象的方法,您不能直接创建它的实例,否则会引起运行期错误。
如果从功能上划分,TDataSet的属性和方法可以分为这么几大块:打开和关闭数据集、浏览记录、编辑数据、书签管理、控制连接、访问字段、记录
缓冲区管理、
过滤、事件。
使用技巧
数据集内的筛选与排序
在填充数据集之后,通常会发现使用表中的不同记录子集或以不同顺序查看数据很有用。可以通过对数据集内的数据进行筛选和排序来实现这一点。若要简化此过程,可以创建数据视图,数据视图提供可合并筛选器和排序条件的对象,可用作数据绑定的源。
改用内置的数据集功能来筛选和排序。有两个选择:
(1)数据表支持Select 方法,您可调用该方法来筛选和排序。该方法并不更改表中记录的内容和顺序,相反,它向您提供一个记录列表(或数组)表示所指定的条件。
(2)可以使用数据视图(DataView 对象)。数据视图是一个对象,它作为数据表之上的层,提供经过筛选和排序后的表内容视图。(还可以使用数据视图管理器,它的行为像数据视图集合。)数据视图类似于数据库中的视图,因为它不是数据的副本。相反,它只是查看表中数据的另一种方式。
数据视图
数据视图是位于数据表之上的独立对象,是对单一数据进行过滤和排序后的视图,可以用作绑定控件的数据源,也可以为一个数据表创建多个数据视图,视图数据行实际引用了数据行的DataRowView对象,数据视图的RowFilter 属性,可以用来筛选数据表中的记录以便仅使想操作的记录可用。这在要操作数据集表中记录的不同子集时很有用。若要指定筛选器条件,可以使用与创建列表达式所用语法相同的表达式语法。