Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Altamira
Programación
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Programación
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Se define “Base de datos relacional” a aquélla en que sus datos están estructurados como
tablas (Estructuras lógicas que cuentan con un número definido de columnas y un
número variable de filas)
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Conceptos Básicos
TABLE TABLAS
SPACE
STORAGE KEYS
GROUP
DB2
VISTAS INDICES
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Conceptos Básicos
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Conceptos Básicos
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Conceptos Básicos
INDEX
Es la estructura de almacenamiento en donde el DB2 almacena los índices.
SPACE El Index Space, a diferencia de los tablespaces, contiene sólo un índice.
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Conceptos Básicos
Un Índice es un conjunto ordenado de punteros que apuntan a filas de una tabla.
Los índices son usados porque :
INDICES Mejoran la performance. Agilizando el acceso a los datos
Aseguran unicidad (en el caso de los índices únicos).
Tipos de Indices:
Único : Es una columna o combinación de columnas dentro de una tabla, cuyo(s)
valor(es) identifica(n) univocamente a cada fila de la tabla .
Múltiple : No identifica unívocamente a una fila. Se utiliza para mejorar la
performance.
Cluster : Indica que la tabla está fisicamente ordenada por el índice. Puede existir
SOLO UN índice cluster para una tabla.
Una Vista provee una manera alternativa para acceder a los datos de una o varias
tablas. Permitiendo:
Control de acceso a los datos : Restringiendo las columnas que pueden ser vistas
VISTAS
por diferentes usuarios.
Facilita el acceso a los datos: Si está construida desde más de una tabla.
Las operaciones que se realicen sobre una vista, serán reflejadas en las tablas a las
cuales hace referencia dicha vista.
No pueden crearse índices para una vista.
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Select
Insert
Update
Delete
Declare cursor
Fetch
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Sentencia Select
Permite seleccionar filas de una tabla. Con o sin condiciones, ordenadas o no. Se podrán
seleccionar alguas o todas las filas.
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Order by
Distinct
Count
Sum
Max
AVG
Group By
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Distinct
En el caso que haya filas con valores repetidos, la salida de este Select incluirá sólo
una de estas filas.
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Count
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Count y Group by
Cuenta la cantidad de filas que cumplen una condición y agrupa la salida por la
condición indicada en el group by.
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
AVG
SELECT AVG(MAE_SALDO_DISPUE)
FROM ALTIDBA.BGDTMAE
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
MAX
SELECT MAX(MAE_SALDO_DISPUE)
FROM ALTIDBA.BGDTMAE
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
MIN
SELECT MIN(MAE_SALDO_DISPUE)
FROM ALTIDBA.BGDTMAE
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
SUM
Retorna la suma de todas los valores de la columna que cumplan con la condición
WHERE (si no se incluye se calcula el total de la tabla). El campo sumado debe ser
numérico.
SELECT SUM(MAE_SALDO_DISPUE)
FROM ALTIDBA.BGDTMAE
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
SUBSTRI
Retorna una parte acotada de un argumento, que debe ser una cadena de
caracteres
SELECT CODIGAS
FROM ALTIDBA.UGDTGAS
WHERE SUBSTR(CODIGAS,1,1) = ‘9’
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Condiciones
Las condiciones contenidas en el predicado del WHERE pueden ser compuestas por
los conectores OR, AND, o combinaciones de éstos. Asimismo pueden ser expresadas
con signos =, <, >, ¬=, >= O <=
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Condiciones SUB-SELECT
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
OTRAS CONDICIONES
LIKE: El predicado LIKE testea que los valores en las filas coincidan con la
expresión. Ej: APELLIDO LIKE „PEREZ%‟. En un where traerá todos los apellidos
que comiencen con Perez.
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
INSERT
La sentencia INSERT se utiliza para insertar nuevas filas a una Tabla
El formato de la sentencia es :
INSERT INTO Nombre de Tabla
VALUES (Lista de Valores separados por coma) o
VALUES (Subselect)
Si se inserta un conjunto de valores, éstos deben coincidir con el formato de las
columnas, a las cuales se van insertando en forma correlativa.
Si se inserta a través de un subselect, la tabla seleccionada deberá tener la
misma definición que la tabla a la que se le insertarán los datos.
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
UPDATE
La sentencia UPDATE se utiliza para modificar los datos de las filas de una
Tabla
El formato de la sentencia es :
UPDATE Nombre de Tabla
SET Columna1 = Valor1 ,
SET Columan2 = Valor2,
.........
SET Columnan = Valorn
WHERE Condiciones
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
DELETE
El formato de la sentencia es :
DELETE Nombre de Tabla
WHERE Condiciones
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Precompilación
Cuando se compila un programa que tiene sentencias DB2, el Job de compilación debe
tener un paso más, llamado Precompilación, que debe ejecutarse antes de la
compilación Cobol.
El programa original, con las sentencias DB2 transformadas en Calls, que será
tomado por el compilador Cobol, y
El DBRM (Database Request Module) que contiene las sentencias SQL del
programa original.
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Packages
El PACKAGE es un objeto DB2 que contiene la forma original de las sentencias SQL de
un DBRM.
La Cláusula MEMBER del Bind del Package contiene una lista de los DBRM. Cada
DBRM pertenece a un programa de aplicación. Cuando se crea un package, se arma la
estructura de control para la ejecución de las sentencias SQL en el programa
correspondiente. En esta instalación se arma un package por programa aplicación.
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
PLAN
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
BIND
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
UNIDAD DE TRABAJO
Una unidad de trabajo finaliza por una operación COMMIT, por una operación
ROLLBACK o por la terminación del proceso
Las operaciones de commit o rollback afectan sólo a los resultados de las operaciones
ejecutadas en la unidad de trabajo que ellos finalizaron
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
COMMIT
Los cambios que se realizan en una Unidad de Trabajo que afectan a las filas de una
tabla (Insert, Update y Delete) se realizan en un área de Trabajo DB2
Recién cuando finalice la unidad de trabajo con un COMMIT, estos cambios se verán
reflejados físicamente en la tablas
Por default, al finalizar un programa batch con DB2, el mismo realiza un commit
automático
EXEC SQL
COMMIT
END-EXEC
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
ROLLBACK
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
INCLUDE
Cuando un programa tiene DB2, se debe utilizar INCLUDE en vez de COBOL COPY,
ya que, en caso que una variable sea utilizada en un comando DB2, el precompilador la
tomará como existente
EXEC SQL
INCLUDE BGTCMAE
END-EXEC
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
SQLCODE
EVALUATE SQLCODE
WHEN ZEROS
Sentencias correspondientes a respuesta correcta
WHEN +100
Sentencias correspondientes a fila inexistente
WHEN OTHER
Sentencias correspondientes a error
END-EVALUATE.
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
CURSORES
Se utilizan para acceder a TODOS los registros de una Tabla, que cumplan con una
condición
Declarar
Abrir
Cerrar
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Cuando se desea modificar filas, que se encuentran en un cursor, el mismo debe ser
declarado con el parámetro FOR UPDATE
Este parámetro permite modificar el dato de la fila que se ha leído, o borrar dicha fila de
la Tabla
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Ejercitación
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Obtener primero y segundo apellido y nombre de todos los clientes que tengan la
marca de estado = „1‟, ordenados alfábeticamente.
Obtener la cantidad de clientes que hay con cada tipo de documento (codident)
Escribir las instrucciones para administrar un cursor que recorra todas las filas de
la tabla que tengan estado en „1‟ y segape en blanco. Y las instrucciones Cobol que
evalúen el resultado de cada operación.
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Obtener primero y segundo apellido y nombre de todos los clientes que existan en
la segunda tabla
Obtener un listado con los nombres (apellido y nombre) de los clientes que tienen
productos distintos de „01‟ y „02‟
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Tabla 1 (Clientes)
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Estándares
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Estándares de nomenclatura
Siglas de Aplicaciones
BA: Cámara
BG: Cuentas
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Estándares de nomenclatura
Siglas de Aplicaciones
OM: Domiciliaciones
UA: Avales
UG: Préstamos
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Estándares de nomenclatura
Para la mayoría de los componentes (programas, copys, mapas, tablas, etc.) será:
aaTTxxx v, Donde
aa es el Identificador de la aplicación
6C: Módulo Cobol CICS sin DB2 (algunas aplicaciones lo usan como batch)
9C: Módulo Cobol Batch con DB2 (En algunas aplicaciones se utiliza para sin
DB2)
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Estándares de nomenclatura
GT: DCLGEN
M: Mapa
WC: Copy de áreas de working (en algunos casos se usa como el NC)
JE: JCL
xxx : Son tres posiciones que se utilizan para identificar el objeto de que se trate
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Estándares de nomenclatura
v: En vistas se utiliza para identificar las distintas vistas de una misma tabla
Ejemplos:
HADT001: Es la tabla número 001 de Contabilidad (en este caso el Plan de Cuentas)
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Estándares de nomenclatura
Tablas: aa DT xxx
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Estándares de nomenclatura
Vistas: aa DV xxx y
Indices: AL n aa xxx
Cursores AL DC xxx y
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Estándares de nomenclatura
Planes AL e aa P t
Cursores AL DC xxx y
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Estándares de nomenclatura
Archivos
DDNAME
• tt tipo de fichero (DF: VSAM, DQ: Secuencial, DW: de trabajo, DI: intercambio
entre aplicaciones o entidades)
• 0, constante
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Estándares de nomenclatura
DDNAME (Cont.)
• Ej:
BGLSISE1
BGLSISE2
NOTA: Los valores de xxx no deben ser necesariamente iguales a los del
programa.
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Estándares de nomenclatura
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Estándares de nomenclatura
DSNAME (Cont. )
• rrrr rrrr, indicador reservado para el RACF para niveles de protección (por
defecto, en la instalación, se crean los siguientes: STDR fichero estándar y BAT1
fichero generado por proceso batch)
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Estándares de nomenclatura
DSNAME (Cont. )
• xxx n, debe coincidir con , los cuatro últimos caracteres de la DDNAME del
fichero
Quinto cualificador
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Estándares de nomenclatura
MALI.HA.BAT1HIST.UMERIS01.M0203
MALD.BG.BAT1NBAS.BGLSSEL0.D&DAT1
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Estándares de nomenclatura
• A: Constante
Segundo cualificador: aa
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Estándares de nomenclatura
• rrrr rrrr, indicador reservado para el RACF para niveles de protección (por
defecto, en la instalación, se crean los siguientes: STDR fichero estándar y BAT1
fichero generado por proceso batch)
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Estándares de nomenclatura
Cuarto cualificador:
Sexto cualificador
• Ficheros generacionales: G nnnn V xx
nnnn, el número de generación
xx, el número de versión
• No generacionales: i nnnnnn (Opcional)
i, indicador de significado de la numeración posterior
nnnnnn, numérico de 4 a 6 posiciones
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Estándares de nomenclatura
AINT.BG.S.BAT1NBAS.MOVONLC0.D020302
APRD.BG.S.BAT1SBAS.TOTAMAE1.D&DAT1.SORT
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Estándares de Programación
Estándares funcionales:
Aislamiento de Datos :
Los sistemas deben acceder a los datos de otros sistemas exclusivamente por
medio de rutinas de servicio. No se debe acceder directamente a los datos de
otros sistemas salvo que sea autorizado por cuestiones de Performance.
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Estándares de Programación
Programación Estructurada:
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Estándares de Programación
SELECT y CURSORES
Dentro de lo posible los cursores y select deben acceder por índice. En tablas
“grandes” es fundamental.
Para verificar que en la tabla exista al menos un registro que cumpla una
condición NO HACER SELECT COUNT, seleccionar sólo el primer campo del
índice que se está utilizando. Ej:
SELECT NUMERO
INTO :CGT50011-NUMERO
FROM VGT5001_DESCOD
WHERE NUMERO = :CGT50011-NUMERO
AND CODIGO = :CGT50011-CODIGO
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación
Estándares de Programación
SELECT y CURSORES
Si se debe modificar una tabla completa, se debe evaluar en que casos es más
performante trabajar con UNLOAD de tablas
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.