数据集

数据集

目录导航

概述

Dataset是一个数据的集合,通常以表格形式出现。每一列代表一个特定变量。每一行都对应于某一成员的数据集的问题。它列出的价值观为每一个变量,如身高和体重的一个物体或价值的随机数。每个数值被称为数据资料。对应于行数,该数据集的数据可能包括一个或多个成员。

从历史上看,这个术语起源于大型机领域,在那里它有一个明确界定的意义,非常接近现代的计算机档案。这个主题是不包括在这里。

最简单的情况下,只有一个变量,然后在数据集由一列列的数值组成,往往被描述为一个列表。尽管名称,这样一个单数据集不是一套通常的数学意义,因为某一个指定数值,可能会出现多次。通常的顺序并不重要,然后这样数值的集合可能被视为多重集,而不是(顺序)列表。

值可能是数字,例如真正的数字或整数,例如代表一个人的身高多少厘米,但也可能是象征性的数据(即不包括数字),例如代表一个人的种族问题。更一般的说,价值可以是任何类型描述为某种程度的测量。对于每一个变量,通常所有的值都是同类。但是也可能是“遗漏值”,其中需要指出的某种方式。

在统计数据集通常来自实际观测得到的抽样统计人口,每一行对应于观测的一个组成部分,人口。数据集可能会进一步产生算法为测试目的某些种类的软件。一些现代统计分析软件,如PSPP仍然存在的数据中的经典数据集的方式。

数据集在断开缓存中存储数据。数据集的结构类似于关系数据库的结构;它公开表、行和列的分层对象模型。另外,它包含为数据集定义的约束和关系。

类型

数据集可以类型化或非类型化。类型化数据集是这样一种数据集,它先从基类派生,然后使用XML架构文件(.xsd文件)中的信息生成新类。架构中的信息(表、列等)被作为一组第一类对象和属性生成并编译为此新数据集类。

因为类型化DataSet类从基类DataSet继承,所以此类型化类承接DataSet类的所有功能,并且可与将DataSet类的实例作为参数的方法一起使用。

相形之下,非类型化数据集没有相应的内置架构。与类型化数据集一样,非类型化数据集也包含表、列等,但它们只作为集合公开。

类型化数据集先是从基类 DataSet 派生,然后使用“数据集设计器”中的信息(存储在 .xsd 文件中)生成一个新的强类型数据集类。 架构中的信息(表、列等)被作为一组第一类对象和属性生成并编译为此新数据集类。 由于类型化数据集继承自基 DataSet 类,因此类型化类具有 DataSet 类的所有功能,可以与采用 DataSet 类的实例作为参数的方法一起使用。

相形之下,非类型化数据集没有相应的内置架构。 与类型化数据集一样,非类型化数据集也包含表、列等,但它们只作为集合公开。 (不过,在手动创建了非类型化数据集中的表和其他数据元素后,可以使用数据集的 WriteXmlSchema 方法将数据集的结构导出为一个架构。)

尽管类型化数据集有许多优点,但在许多情况下需要使用非类型化数据集。 最显而易见的情形是数据集无架构可用。 例如,当应用程序正在与返回数据集的组件交互而您事先不知道其结构是哪种时,便会出现这种情况。 同样,有些时候使用的数据不具有静态的可预知结构,这种情况下使用类型化数据集是不切实际的做法,因为对于数据结构中的每个更改,您都必须重新生成类型化数据集类。

更常见的是,许多时候可能需要动态创建无可用架构的数据集。 这种情况下,数据集只是一种方便的、可用来保留信息的结构(只要数据可以用关系方法表示)。 同时,您还可以利用数据集的功能,如序列化传递到另一进程的信息或写出 XML 文件的能力。

结构

DataSet 的结构类似于关系数据库的结构;它公开表、行、列、约束和关系的分层对象模型。

填充数据集

默认情况下,数据集不包含任何实际数据。 实际上,用数据填充数据集指的是将数据加载到组成数据集的 DataTable 对象中。 可以通过执行 TableAdapter 查询或数据适配器(例如 SqlDataAdapter)命令来填充数据表。 对数据集填充数据时,将引发各种事件,并对约束进行检查,等等。 有关向数据集加载数据的更多信息,请参见将数据获取到应用程序。

在将项从“数据源”窗口拖动到 Windows 应用程序中的窗体上时,填充数据集的代码会自动添加到窗体加载事件处理程序中。

使用 TableAdapter 填充数据集的示例:

C#:this.customersTableAdapter.Fill(this.northwindDataSet.Customers);

可以用多种方法填充数据集:

1.如果使用设计时工具(如数据向导之一)创建了数据集,则请调用 TableAdapter 的 Fill 方法。 (TableAdapter 通过默认的 Fill 方法创建,但由于其名称是可以更改的,因此实际的方法名称可能有所不同。)

2.调用 DataAdapter 的 Fill 方法。

3.通过创建 DataRow 对象并将它们添加到表的 DataRowCollection 集合,可手动填充数据集中的表。 (只能在运行时执行此操作,无法在设计时设置DataRowCollection 集合。)

4.将 XML 文档或流读入数据集。 有关更多信息,请参见 ReadXml 方法。

5.合并(复制)一个程序集与另一个数据集的内容。 如果应用程序从不同的来源(例如,不同的 XML Web services)获取数据集,但是需要将它们合并为一个数据集,该方案会很有用。 

6.合并(复制)两个 DataTable 的内容。

相关百科
返回顶部
产品求购 求购