Definición del esquema de DataTable

El esquema, o estructura, de una tabla se representa con columnas y restricciones. El esquema de una DataTable se define mediante objetos DataColumn, ForeignKeyConstraint y UniqueConstraint. Las columnas de una tabla se pueden asignar a columnas de un origen de datos, pueden contener valores calculados de expresiones, aumentar sus valores automáticamente o contener valores de clave principal.

Las referencias a los nombres de columnas, relaciones y restricciones de una tabla hacen distinción entre mayúsculas y minúsculas. En una tabla puede haber dos o más columnas, relaciones y restricciones con el mismo nombre, pero con distinción entre mayúsculas y minúsculas. Por ejemplo, se puede tener Col1 y col1. En este caso, una referencia al nombre de una de las columnas tiene que coincidir exactamente con las mayúsculas y minúsculas del nombre de la columna, de lo contrario se inicia una excepción. Por ejemplo, si la tabla myTable contiene las columnas Col1 y col1, la referencia al nombre de Col1 sería myTable.Columns["Col1"] y al de col1 sería myTable.Columns["col1"]. Si se intentara hacer referencia a cualquiera de las columnas mediante myTable.Columns["COL1"] se generaría una excepción.

La regla de distinción entre mayúsculas y minúsculas no se aplica si sólo hay una columna, relación o restricción con un nombre concreto. Es decir, si no hay ningún otro objeto de columna, relación o restricción en la tabla que coincida con el nombre de ese objeto de columna, relación o restricción concreto, se puede hacer referencia al nombre del objeto utilizando cualquier mayúscula o minúscula y no se generará una excepción. Por ejemplo, si la tabla sólo tiene Col1, se puede hacer referencia al nombre usando my.Columns["COL1"].

Nota

La propiedad CaseSensitive de la DataTable no afecta a este comportamiento. La propiedad CaseSensitive se aplica a los datos de una tabla y afecta al ordenamiento, la búsqueda, el filtrado, la aplicación de restricciones, etcétera, pero no afecta a referencias a columnas, relaciones ni restricciones.

En esta sección

Agregar columnas a un objeto DataTable
Describe cómo se definen las columnas de una tabla con objetos DataColumn.

Crear columnas de expresión
Explica cómo se puede utilizar la propiedad Expression de una columna para calcular valores basándose en los valores de otras columnas de la fila.

Crear columnas de incremento automático
Describe cómo se puede establecer una columna para que incremente automáticamente los valores numéricos y, así, se garantice un valor de columna exclusivo por fila.

Definir claves principales
Describe cómo se especifica la clave principal de una tabla a partir de uno o varios objetos DataColumn.

Restricciones de DataTable
Describe cómo se define una clave externa y restricciones UNIQUE para las columnas de una tabla.

Consulte también