Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Разработка приложений баз данных (Visual Studio 2008).docx
Скачиваний:
143
Добавлен:
26.03.2016
Размер:
1.01 Mб
Скачать

Ограничения

Как и в большинстве баз данных, наборы данных поддерживают ограничения в качестве способа обеспечения целостности данных. Ограничения представляют собой правила, применяемые при вставке, обновлении или удалении строк, содержащихся в таблице. Можно определить два типа ограничений:

  • Уникальное ограничение: новые значения в столбце должны быть уникальными в пределах таблицы.

  • Ограничение внешнего ключа, которое определяет правила обновления дочерних записей в связанной таблице при обновлении или удалении соответствующих записей в основной таблице. Например, ограничение внешнего ключа проверяет существование родительской записи перед разрешением на создание любых дочерних записей.

В наборе данных ограничения ассоциируются с отдельными таблицами (ограничения внешнего ключа) или столбцами (ограничение уникальности, гарантирующее уникальность значений в столбце). Ограничения реализуются как объекты типа UniqueConstraintилиForeignKeyConstraint. Затем они добавляются к коллекцииConstraintsобъекта классаDataTable. Ограничение уникальности можно указать, установив свойствоUniqueобъекта классаDataColumnв true.

Набор данных сам по себе поддерживает свойство EnforceConstraintsбулева типа, которое указывает, требуется ли выполнять ограничение. По умолчанию для свойства установлено значение true. Однако бывают случаи, когда целесообразно временно отключить ограничения. Чаще всего это происходит при изменении записи таким образом, что на некоторое время возникает недопустимое состояние. После того как все изменения будут внесены (следовательно, состояние снова станет допустимым), ограничения можно опять включить.

В Visual Studio ограничения создаются неявно при определении набора данных. При добавлении к набору данных первичного ключа неявно создается ограничение уникальности для столбца первичного ключа. Можно указать уникальное ограничение для других столбцов, установив их свойство Uniqueв true.

Ограничения по внешнему ключу создаются созданием объекта DataRelationв наборе данных. ОбъектDataRelationпозволяет разработчику не только получать сведения о связанных записях программным путем, но и определять правила ограничений по внешнему ключу.

DataTable

Класс DataTableпредставляет одну таблицу с данными в памяти.

Пространство имен:  System.Data Сборка:  System.Data (в System.Data.dll)

Синтаксис

Язык C#

[SerializableAttribute]

public class DataTable : MarshalByValueComponent, IListSource,

ISupportInitializeNotification, ISupportInitialize, ISerializable, IXmlSerializable

Объект DataTable является центральным объектом библиотеки ADO.NET. Объектами, использующими объект DataTable, являются DataSet и DataView.

Замечание. При доступе к объектам DataTable следует учитывать их зависимость от регистра знаков при определенных условиях. Например, если один объект DataTable носит имя "mydatatable", а другой — "Mydatatable", то строка, используемая для поиска одной из таблиц, считается зависимой от регистра букв. Однако если "mydatatable" существует, а "Mydatatable" нет, строка поиска считается нечувствительной к регистру. Набор DataSet может содержать два объекта DataTable, имеющих одно и то же значение свойства TableName, но разные значения свойства Namespace.