Altova DatabaseSpy 2023 Enterprise Edition

Algunas bases de datos tienen un tipo de columna especial que se conoce como columna identificadora o de incremento automático. Cuando se define una columna como columna identificadora, cada vez que se inserta una fila nueva en la tabla la BD genera automáticamente un valor único progresivo para esa columna. Hay bases de datos que admiten columnas identificadoras y otras que no.

 

Nota:el Editor de diseños no admite columnas identificadoras para estos tipos de BD: Firebird, Informix, Oracle, PostgreSQL, Progress OpenEdge, Teradata y SQLite.

 

Si la BD la admite se habilita una propiedad llamada Incremento automático (o Identidad en algunas bases de datos) en la ventana propiedades al hacer clic en la columna en cuestión en el Editor de diseños (siempre que esa columna sea de tipo numérico, véanse los requisitos explicados más abajo). Las bases de datos como IBM DB2 y SQL Server también permiten indicar las propiedades Inicialización e Incremento, además de la propiedad Identidad.

ds_identity_column_01

Ventana Propiedades (BD SQL Server)

Requisitos:

 

Normalmente solo se pueden crear columnas identificadoras al crear una tabla, no después. Algunas bases de datos (Microsoft Access, Microsoft SQL Server) permiten designar una columna como columna identificadora al añadir una columna nueva a una tabla que ya existe.

Esa columna no puede admitir valores NULL. En otras palabras, la casilla Admite valores nulos de la ventana Propiedades (o en el diseño de tabla) debe estar vacía.

La columna debe tener un tipo numérico (como INT, INTEGER, SMALLINT, BIGINT o incluso DECIMAL con escala 0). También se pueden usar otros tipos numéricos según la BD.

Para crear una columna identificadora:

1.En el Editor de diseños o en la ventana Explorador seleccione la columna que quiere usar como columna identificadora.

2.En la ventana Propiedades marque la casilla Identidad (o la casilla Incremento automático, según la BD).

 

Nota:en Microsoft Access, los datos de la columna se convierten automáticamente en COUNTER al marcar la casilla Incremento automático. Este tipo de datos es específico de Microsoft Access y garantiza que el valor continúa el incremento automático.

 

3.En algunos casos deberá cambiar los valores predeterminados de los campos Inicialización e Incremento. Inicialización indica el valor inicial que genera la BD e Incremento indica de cuánto es el incremento de ese valor inicial cada vez que se haga una inserción. Por lo general estos valores son respectivamente 1 y 1.

 

Como siempre que se realizan cambios en la estructura de la BD, DatabaseSpy genera un script de cambios que se debe ejecutar para poder crear la columna identificativa en la BD. DatabaseSpy valida la definición de la columna que se usa para la columna identificativa. En la imagen siguiente puede ver un script en el que ha fallado la validación porque la columna admite valores nulos y no de tipo numérico:

ds_identity_column_02

Un script válido tendría este aspecto:

ds_identity_column_03

Si el script es válido y quiere guardar los cambios en la BD haga clic en Ejecutar dbs_ic_execute_script en la ventana del script de cambios.

© 2017-2023 Altova GmbH