Tutorial iSeries Navigator: Asignar Restricciones de Comprobación sobre una tabla
- Detalles
- Escrito por Nora Salmún
Tutorial iSeries Navigator: Aprenda fácilmente, paso a paso, cómo añadir una Restricción de Comprobación ("Check Constraint") a una tabla SQL o a un archivo físico de datos en AS400.
A una Tabla de una base de datos DB2 UDB (DB2/400), se le puede añadir una Restricción de Comprobación ("Check Constraint") para asegurar la validez de datos al realizar inserciones o modificaciones a campos (columnas) o a un grupo de campos de dicha tabla, de forma tal de limitar los valores que pueden ser introducidos en esos campos.
Una vez que la restricción ha sido añadida a una tabla y está en estado de "habilitada", en cada operación para insertar un registro nuevo o modificar el valor de un campo de un registro ya existente (sobre el que cual se definió una restricción de comprobación), el Gestor de Base de datos DB2 del sistema AS400 verifica siempre (no importa quién o desde qué aplicación se realice la operación) que no se "viole" la restricción de comprobación establecida y habilitada sobre ese o esos campos, emitiendo un mensaje de error correspondiente si se ingresa un valor fuera de los límites establecidos para el mismo de acuerdo a la restricción de comprobación definida.
En el DB2 de AS400, una Restricción de Comprobación puede agregarse a una tabla de distintas maneras::
- desde la interfaz tradicional ("pantalla verde" ) con el comando del OS/400 ADDPFCST (Add Physical File Constraint)
- desde la interfaz tradicional ("pantalla verde") mediante STRSQL, con la sentencia ALTER TABLE
- desde la interfaz gráfica iSeries Navigator
Los pasos que siguen lo guiarán para añadir fácil y rápidamente desde iseries Navigator una Restricción de Comprobación a una tabla de base de datos (ya existente).
1) En la ventana de iSeries Navigator, expandir Mis conexiones y abrir la conexión sobre el server AS400 → Base de Datos → elegir la base de datos con la que se desea trabajar → Esquemas → elegir el Esquema (Bilblioteca) sobre el cual trabajar → doble click sobre el item Tablas y se llega a la pantalla siguiente:
2) Sobre el panel de derecha, Botón derecho del Mouse en la Tabla donde se quiere añadir la Restricción de Comprobación (en este caso DETPED) y seleccionar Definición
3) Al seleccionar Definición en la pantalla anterior, se alcanza la siguiente ventana, donde habrá que presionar sobre la solapa Restricciones de Comprobación, como se marca en la figura:
4) En la pantalla a la que se llega, es probable que se desplieguen otras restricciones de comprobación ya definidas para esta tabla (para las cuales sólo es posible la opción de Eliminar) , o que la pantalla se muestre en blanco, si es la primera vez que invoca esta opción. Para agregar una nueva restricción de comprobación, en esa pantalla presionar sobre el botón Añadir, ubicado sobre la derecha, y aparecerá la siguiente pantalla para completar la definición de la restricción de comprobación:
4.1) Ingresar el Nombre de la restricción. En este caso: cntped_detped, de acuerdo a alguna convención propia. Si no se ingresa un nombre de restricción específico, el sistema generará un nombre automáticamente, siguiendo una convención del sistema, que comienza con "Q" seguido del nombre de la Biblioteca, el nombre de la tabla donde se añade la retricción, el nombre del campo donde se establece la restricción y finaliza con un número serial. Por ejemplo: Q_TEKSQL_DETPED_CNTPED_0001
4.2) Para construir expresiones se utilizará "Condición de comprobación" . Para eso: Seleccionar el Nombre de la columna donde se quiere establecer la restricción y presionar sobre el botón Añadir a condición de comprobación. Aparecerá en la ventana de abajo (Condición de comprobación) el nombre de la columna seleccionada.
4.3) Posteriormente, seleccionar un operador para el armado de la condición, desde la solapa Operadores, y volver a presionar el botón Añadir a condición de comprobación. Se agregará este operador a la Condición de comprobación.
4.4.) Luego, dependiendo del caso, se debe elegir o una función (de la solapa Funciones) o escribir directamente al lado del operador (en la condición de comprobación) un número, nombre, etc. de acuerdo al tipo de condición establecida. Tener en cuenta que para el armado de la condición también es posible hacer mención a otro campo, pero siempre y cuando pertenezca a la misma tabla.
4.5) Finalmente, para crear la restricción de comprobación presionar Aceptar en la parte inferior de esta pantalla.
4.6) Una vez presionado el botón Aceptar, se visualizará la restricción recientemente creada. Todavía se encuentra en la sesión de edición de la tabla corriente, por lo tanto si necesitara realizar algún cambio, podrá modificar la restricción de comprobación presionando el botón Definición, que presenta nuevamente la definición de la restricción y permite cambiarla si se desea. Se necesita en esta pantalla volver a presionar Aceptar para que se compelte totalmente la tarea de crear una restricción nueva asociada a esa tabla.
Para tener en cuenta ....
- Las restricciones se definen sólo sobre archivos físicos de datos
- Sólo se pueden definir restricciones (de comprobación u otro tipo de restricción) sobre una tabla SQL o un archivo físico de datos que NO tengan más de un miembro de datos.
- No se permite cambiar la definición de una restricción una vez que se creó. Como alternativa, se puede Eliminar la restricción ya creada y volver a definirla con otras especificaciones. En ese caso, elegir el botón Añadir para crearla nuevamente con los cambios que se deseen.
- En la pantalla anterior, al presionar el botón Mostrar SQL (habilitado mientras no se haya presionado Aceptar), se permitirá visualizar la pantalla de Run Scripts SQL (Ejecutar Scripts SQL) con el código SQL correspondiente a la definición y creación de esa Restricción de Comprobación que fue creada a partir de la navegación sobre las pantallas de Iseries Navigator mencionadas.
- También es posible visualizar (como muestra la pantalla siguiente) TODAS las restricciones (de clave primaria, de clave única, de integridad referencial y de comprobación) que se hayan definido sobre la misma o sobre distintas tablas de una biblioteca (en este caso TEKSQL). Algunas de las restricciones pueden estar habilitadas y otras no, lo que significa que si bien están definidas, en la gestión de base de datos NO son consideradas (hasta que sean habilitadas). Al ubicarse sobre una restricción y presionando Botón derecho del mouse, desde esa pantalla también es posible Habilitar o Inhabilitar la misma, según el caso.
- También, presionando Botón derecho del Mouse sobre esa restricción se puede elegir Generar SQL, y se obtendrán las sentencias SQL, que al ejecutarlas (por ejemplo en un script SQL), permitirán realizar la misma acción que lo producido por el sistema mediante las pantallas de iSeries Navigator "navegadas" en este tutorial, utilizadas para crear la restricción de comprobación sobre la tabla DETPED.
Copyright 2012 - Teknoda S.A.
IMPORTANTE: “Notas técnicas de AS/400 - IBM i" se envía con frecuencia variable y sin cargo como servicio a nuestros clientes IBM i - AS/400. Contiene notas/tutoriales/artículos técnicos desarrollados en forma totalmente objetiva e independiente. NS iTech - Teknoda es una organización de servicios de tecnología informática y NO comercializa hardware, software ni otros productos. |