Crear columnas identificadoras

www.altova.com Imprimir este apartado Página anterior Subir un nivel Página siguiente

Inicio >  Explorar y cambiar la estructura de las bases de datos > Diseñar tablas en el editor de diseños >

Crear columnas identificadoras

Algunas bases de datos proporcionan un tipo especial de columna conocido como columna identificadora o de incremento automático. Cuando se define una columna como identificadora, la base de datos genera automáticamente un valor único e incremental para esa columna cada vez que se inserta una nueva fila en la tabla. La compatibilidad con columnas identificadoras varía en función de la BD.

 

Nota:no se pueden crear columnas identificadoras con el Editor de diseños para estos tipos de base de datos: Firebird, Informix, Oracle, PostgreSQL, Progress OpenEdge, Teradata y SQLite.

 

Si la BD es compatible se habilita la propiedad Incremento automático (o Identidad en algunas bases de datos) en la ventana Propiedades al hacer clic en la columna del Editor de diseños (siempre que la columna sea de tipo numérico; véase Requisitos previos más abajo). Las bases de datos como IBM DB2 y SQL Server también permiten indicar las propiedades Descendencia e Incremento además de la propiedad Identidad.

ds_identity_column_01

Ventana Propiedades (base de datos SQL Server)

Requisitos previos:

 

por lo general puede crear columnas identificadoras en el momento de crear la tabla pero no más adelante. Algunas bases de datos (Microsoft Access, Microsoft SQL Server) permiten establecer una columna como identificadora cuando añade una nueva columna a una tabla ya existente.
la columna no debe aceptar valores nulos. En otras palabras, la casilla Admite valores nulos no debe estar seleccionada en la ventana Propiedades (o en la tabla de diseño).
la columna debe ser de tipo numérico (como INT, INTEGER, SMALLINT, BIGINT o incluso DECIMAL con una escala de 0). Es posible usar otros tipos numéricos según la BD.

 

Para crear una columna identificadora:

1.En el Editor de diseños o en el Explorador, seleccione la columna que quiera usar como columna identificadora.
2.En la ventana Propiedades, seleccione la casilla Identidad (o la casilla Incremento automático, según la base de datos).

 

Nota:En Microsoft Access el tipo de datos de la columna se convierte automáticamente a COUNTER cuando selecciona la casilla Incremento automático. Este tipo de datos es particular de Microsoft Access y garantiza que el valor incrementará de forma automática.

 

3.Cuando proceda, cambie los valores predeterminados en los campos Descendencia e Incremento. Descendencia indica el valor inicial que genera la BD e Incremento indica en cuánto debe incrementarse el valor inicial con cada inserción. Por lo general estos valores son respectivamente 1 y 1.

 

Como siempre que se modifica una estructura de base de datos, se genera un script de cambios que se debe ejecutar para crear la columna identificadora en la BD. DatabaseSpy valida la definición de la columna que se usará como columna identificadora. La imagen siguiente muestra un script cuya validación ha fallado porque la columna admite valores nulos y no es de tipo numérico:

ds_identity_column_02

Un script válido sería el siguiente:

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 Script de cambios de la estructura de la base de datos.


© 2019 Altova GmbH