Реклама:

Диаграмма набора данных показана на рис. 3.1.

Набор данных может состоять из множества таблиц данных. Свойство Tables набора данных возвращает ссылку на коллекцию таблиц, входящих в набор данных:

public DataTableCollection Tables {get;}

Каждая таблица - объект класса System.Data.DataTable.

Таблицы могут содержать данные из различных источников данных. Например, таблица А - из базы данных SQL Server, таблица B - из базы данных Access и т. д.

Структура таблицы определяется множеством ее столбцов. Каждый такой столбец имеет тип System.Data.DataColumn. Доступ к коллекции столбцов таблицы производится через свойство Columns таблицы. На столбцы таблицы могут накладываться ограничения уникальности (объект типа System. Data.UniqueConstraint) и внешнего ключа (объект типа System.Data.ForeignKeyConstraint). Доступ к коллекции ограничений таблицы производится через свойство Constraints таблицы.

Данные содержатся в строках таблицы. Каждая такая строка имеет тип System.Data.DataRow. Свойство Rows таблицы предоставляет доступ к коллекции строк таблицы.

Каждая строка состоит из столбцов (того же типа System.Data.DataColumn) и может трактоваться и как коллекция, и как массив столбцов.

На момент зпуска приложения таблицы набора пусты: в них нет ни одной записи. Заливка данных в таблицы набора производится методом Fill адаптера данных. Нужно обратить внимание вот на что. В зависимости от каких-либо условий сегодня мы можем произвести заливку данных в таблицу T адаптером aX, связанным с источником данных X, а завтра - адаптером aY, связанным с другим источником данных Y. При этом структуры данных, задаваемые адаптерами aX и aY, должны быть подмножеством структуры таблицы T, иначе заливка данных будет попросту невозможной. Разные адаптеры могут заливать данные в различные столбцы таблицы или в одни и те же. Так, если в таблице есть столбцы tA (первичный ключ), tB, tC, tD, адаптер aX может заливать данные в столбцы tA и tB, а адаптер aY - в столбцы tA, tB, tC, tD.

Все это иллюстрирует одно из важнейших качеств наборов данных: наборы задают в приложении структуры данных, которые абстрагированы от реальных источников данных. Загрузить данные в набор можно из любого источника данных, который соответствует набору по структуре.

Таблицы набора данных могут находиться в отношениях подчинения, когда одна является родительской, а другая - дочерней. Каждому такому отношению соответствует объект типа System.Data.DataRelation. Доступ к коллекции отношений таблиц набора данных предоставляет свойство Relations набора данных:

public DataRelationCollection Relations {get;}

Шумаков П. В.  ADO.NET и создание приложений баз данных в среде Microsoft Visual Studio .NET. Руководство разработчика с примерами на C#.

рис. 3.1

Когда нужно обеспечить доступ не ко всем записям какой-либо таблицы набора данных, а к подмножеству этих записей, отфильтрованному по какому-либо критерию (фильтру), применяются просмотры данных (объект класса System.Data.DataView). Каждая таблица набора данных имеет свой собственный "умолчательный" просмотр. Доступ к нему производится через свойство DefaultView таблицы. Кроме того, можно управлять фильтрацией и сортировкой таблиц набора даньгх при помощи менеджера просмотров (объект класса System.Data.DataViewManager). Доступ к умолчательному менеджеру просмотров, автоматически создаваемого для набора данных, предоставляется свойством DefaultViewManager набора даных:


⇐ Предыдущая страница| |Следующая страница ⇒