Está en la página 1de 39

BASES DE DATOS IBM AS / 400

EFINICION DE BASE DE DATOS:

Una Base de Datos es un conjunto de datos almacenados en una estructura fsica y


con otra lgica por la cual se relacionan, siendo independiente de las aplicaciones.
Tan importante como los datos, es la estructura conceptual con la que se relacionan
entre ellos. Un sistema de gestin de bases de datos ( DBMS database management
system ) consiste en una coleccin de datos interrelacionados y un conjunto de
programas para acceder a esos datos. El objetivo primordial de un DBMS es
proporcionar un entorno que sea a la vez conveniente y eficiente para ser utilizado
al extraer y almacenar informacin de la bases de datos. Toda base de datos es una
coleccin de datos tendiente a minimizar la redundancia. Dicha coleccin de datos
permite que los mismos se encuentren
!"Interrelacionados
!"Almacenados en conjuntos
!"Sin redundancias innecesarias o perjudiciales
!"Independientes de los programas que los utilizan

Todo modelo de bases de datos debe gozar de las siguientes caractersticas:


!"Independencia de datos
!"Regulacin de acceso
!"Proteccin de integridad
!"Sin redundancia
!"Facilidad de Ordenamiento
!"Manejo centralizado

Un modelo de datos es un sistema formal y abstracto que permite describir los


datos de acuerdo con reglas y convenios predefinidos. Es formal pues los objetos
del sistema se manipulan siguiendo reglas perfectamente definidas y utilizando
exclusivamente los operadores del sistema, independientemente de lo que estos
objetos y operadores puedan significar. El principal proceso en el diseo de una
base de datos es la creacin de un modelo de datos. Este debe representar en
escala a la realidad, reflejando la estructura del negocio de la organizacin por
medio de los datos y sus relaciones. En esta abstraccin de datos debemos
distinguir tres niveles:
_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

#"Nivel fsico : Este es el nivel mas bajo de abstraccin y describe


como se almacenan los datos
#"Nivel conceptual: En este nivel se describe que datos son
realmente almacenados y las relaciones que existen entre ellos.
#"Nivel de visin: Este es el nivel ms alto y se describe la visin de
los usuarios sobre la base de datos.

VISTA 1

VISTA 2

VISTA N

NIVEL
CONCEPTUAL

NIVEL
FISICO

Al comienzo en la etapa de diseo se genera un modelo conceptual que


representa todas las relaciones lgicas y es totalmente independiente de la
implementacin fsica. Este es el modelo de entidad relacin. Luego se deber
generar el modelo lgico que no es ms que un puente entre el modelo
conceptual y el modelo fsico. Existen tres tipos de modelo lgico:
#"Red : Los datos en este modelo se representan mediante
colecciones de registros y las relaciones entre los datos se
representan mediante enlaces, los cuales pueden verse como
punteros.
#"Jerrquico : Es similar al modelo anterior en el sentido de que los
datos y las relaciones entre datos se representan mediante
registros y enlaces.
_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

#"Relacional: El modelo relacional representa los datos y las


relaciones entre los datos mediante una coleccin de tablas, cada
una de las cuales tiene un nmero de columnas con nombres
nicos.
El modelo Relacional se diferencia del modelo de Red y Jerrquico en que no
utilizan punteros o enlaces, ya que conecta registros mediante los valores que
estos contienen.
Por ultimo nos queda el modelo fsico que se construye en base al modelo lgico
y describe como sern almacenados los datos, este nivel es el mas bajo.
Particularmente en este manual nos interesa el modelo EntidadRelacin (E
R). Este modelo se basa en una percepcin de un mundo real que consiste en
una coleccin de objetos bsicos llamados entidades y relaciones entre estos
objetos. Una entidad es un objeto que se distingue de otros objetos por medio de
sus atributos. Por ejemplo los atributos de la cuenta de proveedores Nmero y
Saldo describen una cuenta en particular. Ahora bien una relacin PROVCTA
asocia a un proveedor con cada una de las cuentas que tiene. La forma de
expresar la estructura lgica global de una base de datos es por medio de un
diagrama ER.

Cod.postal
Numero
localidad

Saldo

nombre

CTAPROVEEDOR

CUENTA

PROVEEDOR

_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

ERMINOLOGIA DE BASES DE DATOS

Entidad: Es algo que puede ser identificado por si mismo (personas, lugares, cosas o
conceptos) acerca de la cual se requiere guardar informacin. Un tipo de entidad
representa a una clase de entidades que tienen los mismos atributos.
Relacin: Es una asociacin entre entidades, o sea es la forma en que se asocian las
entidades.
Atributo: Es la caracterstica de una entidad
Dato: Son los valores que se le asignan a un atributo de una determinada entidad.
Dominio: Es un conjunto de valores que puede tomar un atributo en una relacin.
TIPO DE ENTIDAD

TABLA

RELACION

ARCHIVO

ENTIDAD

FILA

TUPLA

REGISTRO

ATRIBUTO

COLUMNA

ATRIBUTO

CAMPO

Tipo de relaciones:

!"Relacin uno a uno ( 1 : 1 )


Una entidad en A esta asociada a lo sumo con una entidad B, y una entidad B esta
asociada a lo sumo con una entidad A.
!"Relacin uno a muchos ( 1 : M )
Una entidad en A esta asociada con un numero cualquiera de entidades B. Una
entidad B, sin embargo, puede estar asociada a lo sumo con una entidad A.
!"Relacin muchos a muchos ( M : M )
Una entidad en A esta asociada con un numero cualquiera de entidades en B, y una
entidad en B esta asociada con un numero cualquiera de entidades en A.

_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

Relacin uno a uno (1: 1)

BUQUES
SE LE ASIGNA

TIENE ASIGNADO

CAPITAN

BUQUES

ESTRELLA DEL MAR


CRUZ DEL SUR
RIO PARANA
RIAS BAIXAS
RIO GALLEGOS

CAPITAN

GABRIEL GARCIA
CARLOS GONZALES
VICTOR MORALES
XAVIER MARTINEZ
DANIEL ALTAIR

_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

Relacin uno a muchos (1: M)

BUQUES
ES PARTE DE

CONSISTE DE
RUTAS MARITIMAS

BUQUES

ESTRELLA DEL MAR


CRUZ DEL SUR
RIO PARANA
RIAS BAIXAS
RIO GALLEGOS

RUTAS MARITIMAS

RUTA 05
RUTA 55
RUTA 12
RUTA 23
RUTA 25
RUTA 17
RUTA 32
RUTA 08
RUTA 10
RUTA 20
RUTA 22

_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

Relacin muchos a muchos (M: M)

BUQUES
ES PARTE DE

CONSISTE DE
TERMINALES PORTUARIAS
O
A

BUQUES

ESTRELLA DEL MAR


CRUZ DEL SUR
RIO PARANA
RIAS BAIXAS
RIO GALLEGOS

TERMINALES
O
A AS
TERMINAL 5 BS. AS
TERMINAL EXOLGAN
TERMINAL VIGOMAR
TERMINAL BARCELONA
TERMINAL ING. WHITE
TERMINAL
PONTEVEDRA
TERMINAL ROSARIO
TERMINAL BARCELONA

_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

MODELO DE DATOS

#"CONCEPTO DE MODELOS DE DATOS

El principal proceso en el diseo de una base de datos es la creacin de un modelo


de datos. Un modelo de datos es la representacin en escala de la realidad. En este
modelo reflejaremos la estructura de negocio de la organizacin, por medio de
datos y relaciones.
#"MODELO CONCEPTUAL
El modelo conceptual deber reflejar todas las relaciones lgicas y es totalmente
independiente de su implementacin fsica. Este es un modelo de entidad relacin.
#"MODELO LOGICO
Este modelo es el puente entre el modelo conceptual y el modelo fsico; describe
como se vern los datos. Existen en el diseo de bases de datos 3 modelos lgicos:
1. Jerrquico
2. Red
3. Relacional
#"MODELO FISICO
El modelo fsico esta construido sobre las bases del modelo lgico y describe
como los datos son almacenados. Este es el nivel mas bajo de abstraccin.

_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

ORMALIZACION

Es la tcnica utilizada para dividir las estructuras de datos en pequeas unidades.


En estas unidades, cada atributo es totalmente dependiente de la clave primaria de
la entidad a la cual pertenece. La normalizacin nos permite:
#"Minimizar la redundancia
#"Minimizar el impacto de futuros cambios de datos
#"Minimiza el mantenimiento de datos
#"DEPENDENCIA FUNCIONAL
Es la relacin existente entre dos atributos, por lo que el conocimiento de uno de
ellos determina el valor del otro. Si un elemento A es funcionalmente dependiente
de otro elemento B, queda automticamente definido A. El nombre de un buque es
funcionalmente dependiente de su numero de matricula, pero no es cierto que al
conocer el nombre del buque se conozca su numero de matricula.
#"DEPENDENCIA FUNCIONAL COMPLETA
Se produce la dependencia funcional completa cuando un atributo tiene
dependencia funcional de un conjunto de atributos, pero de ninguno de ellos en
particular.
#"DEPENDENCIA FUNCIONAL TRANSITIVA
Se produce la dependencia funcional transitiva cuando un atributo tiene
dependencia de otro y este a su vez de un tercero. En este caso, el primero tendr
dependencia transitiva al tercero. Si se tiene los elementos A, B, C, si A es
funcionalmente dependiente de B, y B es funcionalmente dependiente de, entonces
A es transitivamente dependiente de C.
#"PRIMERA FORMA NORMAL
Una entidad esta en primera forma normal si no existen grupos repetitivos.
#"SEGUNDA FORMA NORMAL
Una entidad esta en segunda forma normal, si esta en primera forma normal, y
todos los atributos que no integran la clave estn en completa dependencia
funcional respecto de la clave.
_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

#"TERCERA FORMA NORMAL


Una entidad esta en tercera forma normal, si esta en segunda forma normal y no
existen atributos que no integren la clave que tengan dependencias funcionales
respecto de otros atributos no claves.
Veamos un ejemplo en base a bases de datos que podremos observar en distintos
ERPs como BPCS y JDE entre otros.

_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

NO NORMALIZADA

ORDEN DE PEDIDO
ORDEN (Numero de Orden, fecha de la Orden, Numero de Cliente, Nombre
del Cliente, Estado del cliente, Nro. de Item, Descripcin, cantidad ordenada,
Precio)

Num. F. de
Orden Orden
0010
20/02/02

N. de
Nombre
Estado Nro.
Cliente Cliente
Cliente tem
91765
CARLOS A
665

0010
0010
0555
0555

91756
91756
67943
67943

20/02/02
20/02/02
17/10/02
17/02/02

CARLOS
CARLOS
JOSE
JOSE

A
A
A
A

771
668
771
665

Descripcin

Cantidad Precio

ENGRANAJE
01
TORNILLO 98
LLAVE 25
TORNILLO 98
ENGRANAJE
01

20

10,05

150
1
200
10

1,67
26,98
1,67
10,65

Observemos como se repiten en cada registro dentro de este diseo el nmero de


orden, fecha, numero de cliente, etc.

_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

PRIMERA FORMA NORMAL

ORDEN
Num.
Orden
0010
0555

F. de
Orden
20/02/02
17/02/02

N. de
Cliente
91765
67943

Nombre Estado
Cliente
Cliente
CARLOS
A
JOSE
A

LINEA DE ITEM
Num.
Orden
0010
0010
0010
0555
0555

Nro.
tem
665
771
668
771
665

Descripcin

Cantidad

Precio

ENGRANAJE 01
TORNILLO 98
LLAVE 25
TORNILLO 98
ENGRANAJE 01

20
150
1
200
10

10,05
1,67
26,98
1,67
10,65

_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

SEGUNDA FORMA NORMAL

ORDEN

Num.
Orden
0010
0555

F. de
Orden
20/02/02
17/02/02

N. de
Cliente
91765
67943

Nombre Estado
Cliente
Cliente
CARLOS
A
JOSE
A

LINEA DE ITEMS

Num.
Orden
0010
0010
0010
0555
0555

Nro.
tem
665
771
668
771
665

Cantidad
20
150
1
200
10

ITEM
Nro.
tem
665
668
771

Descripcin

Precio

ENGRANAJE 01
LLAVE 25
TORNILLO 98

10,05
26,98
1,67

_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

TERCERA FORMA NORMAL

ORDEN
Num.
Orden
0010
0555

F. de
Orden
20/02/02
17/02/02

CLIENTE
N. de
Cliente
91765
67943

Nombre
Cliente
CARLOS
JOSE

Estado
Cliente
A
A

LINEA DE ITEM
Num.
Orden
0010
0010
0010
0555
0555

Nro.
Lnea
0001
0002
0003
0001
0001

Nro.
tem
665
771
668
771
665

Cantidad
20
150
1
200
10

ITEM
Nro.
tem
665
668
771

Descripcin

Precio

ENGRANAJE 01
LLAVE 25
TORNILLO 98

10,05
26,98
1,67

ODELO RELACIONAL

#"CONCEPTOS SOBRE EL MODELO RELACIONAL


_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

El modelo relacional es el modelo lgico donde las relaciones entre entidades se


expresan a travs de claves forneas. Las claves forneas es la clave primaria de
una entidad que se relaciona con un atributo de otra entidad. En el modelo
relacional la relacin uno a uno se representa en una fila de la tabla. La relacin
uno a muchos se satisface incorporando en la tabla M claves forneas.,
generalmente es la clave primaria de la primer entidad la que se incorpora a la
entidad M. La relacin muchos a muchos se representan creando una tabla donde
la clave primaria estar compuesta por cada una de las claves de las otras
relaciones.

#"BASES DE DATOS RELACIONAL


Una base de datos es relacional cuando esta construida con tablas de tems de
datos. En las mismas las filas caracterizan entidades y las columnas atributos. Estas
tablas conforman relaciones entre los datos a partir de las cuales podemos (por
medio del lgebra relacional) crear nuevas tablas o relaciones, que se denominan
vistas lgicas. El lgebra relacional permite a travs de un conjunto de operaciones
relacionales sobre las tablas, generar una nueva tabla - resultado.

Una estructura fsica

Varias estructuras lgicas

_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

#"OPERACIONES RELACIONALES
$"SELECCIN: A partir de una tabla se seleccionan un conjunto de filas,
conformando una nueva tabla.

BUQUE
190010
230555
125766
219875

PTO.
MATRICULA
BS. AS.
BS. AS.
VIGO
BS. AS.

TRB
47560
32000
15000
50000

Nombre
BUQUE
RIO PARANA
CRUZ DEL SUR
RIAS BAIXAS
ESTRELLA DEL
SUR

SELECCIN

CRUZ DEL SUR


RIO PARANA
MAR
de aquellos ESTRELLA
buques de ms DEL
de
40.000SUR
TN de TRB
CRUZ DEL
RIO PARANA
RIAS BAIXAS ALLEGOS
RIAS BAIXAS -

RIO G

BUQUE
190010
219875

ALLEGOS

PTO.
MATRICULA
BS. AS.
BS. AS.

TRB
47560
50000

Nombre
BUQUE
RIO PARANA
ESTRELLA DEL
SUR

$"PROYECCION: A partir de una tabla se seleccionan un conjunto de


columnas, conformando una nueva tabla.
_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

BUQUE
190010

PTO.
MATRICULA
BS. AS.

TRB
47560

230555

BS. AS.

32000

125766

VIGO

15000

219875

BS. AS.

50000

Nombre
BUQUE
RIO
PARANA
CRUZ DEL
SUR
RIAS
BAIXAS
ESTRELLA
DEL SUR

PROYECCION
Buque, nombre

BUQUE
190010
230555
125766
219875

Nombre
BUQUE
RIO PARANA
CRUZ DEL SUR
RIAS BAIXAS
ESTRELLA DEL
SUR

_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

$"JOIN: A partir de dos tablas con una o ms columnas en comn se crea una
nueva tabla conteniendo los atributos de las dos tablas iniciales. Tenemos
dos tipos de JOIN :
#"INNER JOIN
#"LEFT OUTER JOIN

_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

#"INNER LOIN: Solo las filas que tienen la o las columnas en


comn sobre la que se hace el join, se incorporan a la tabla que se
crea.
ORDEN DETALLES
Num.
Orden
0010
0010
0010
0555
0555

N. de
Cliente
031184
031184
031184
080191
080191

Nro.
tem
665
771
668
771
665

Cantidad
20
150
1
200
10

CLIENTE
N. de
Cliente
91765
67943
200255
031184
080191
666666
717171

Nombre
Cliente
CARLOS
JOSE
DANIEL
DIEGO
JUAN
MARIO
GUILLERMO

Estado
Cliente
A
A
A
A
A
B
B

INNER JOIN

Num.
Orden
0010
0010
0010
0555
0555

N. de
Cliente
031184
031184
031184
080191
080191

Nro.
tem
665
771
668
771
665

Cantidad
20
150
1
200
10

Nombre
Cliente
DIEGO
DIEGO
DIEGO
JUAN
JUAN

Estado
Cliente
A
A
A
A
A

_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

#"LEFT OUTER JOIN: Contiene todas las filas de la primera tabla.


ASIGNATURAS
CODIGO
NOMBRE
ASIGNATURA ASIGNATURA
001
003

008

MATEMATICA
DERECHO
MARITIMO
CARGA Y ESTIBA
CONTABILIDAD
MATEMATICA
FINANCIERA
ADMINISTRACION

ALUMNOS
CODIGO
ASIGNATURA
001
003
005
006
007
010
011

NOMBRE
CALUMNO
CARLOS
JOSE
DANIEL
DIEGO
JUAN
MARIO
GUILLERMO

005
006
007

CALIFICACION
8
7
9
9
9
3
3

LEFT OUTER JOIN

CODIGO
ASIGNATURA
ASIGNATURA
001
MATEMATICA
003
DERECHO
MARITIMO
005
CARGA Y ESTIBA
006
CONTABILIDAD
007
MATEMATICA
FINANCIERA
008
ADMINISTRACION

NOMBRE
CALUMNO
CARLOS
JOSE

CALIFICACION

DANIEL
DIEGO
JUAN

9
9
9

8
7

_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

$"UNION: A partir de dos tablas se genera una nueva conteniendo las filas de
ambas tablas.

COD
ALUMNO
A001
A005
A007

NOMBRE
ALUMNO
DIEGO
JUAN
CARLOS

PROMEDIO
8,02
7,89
7,50

COD
ALUMNO
A011
A015
A027
A38

NOMBRE
ALUMNO
MARIA
CRISTINA
ANDRES
GRACIELA

PROMEDIO
6,58
7,56
7,53
8,09

UNION

COD
ALUMNO
A001
A005
A007
A011
A015
A027
A038

NOMBRE
ALUMNO
DIEGO
JUAN
CARLOS
MARIA
CRISTINA
ANDRES
GRACIELA

PROMEDIO
8,02
7,89
7,50
6,58
7,56
7,53
9,09

_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

$"CLASIFICACION: A partir de una tabla se genera una nueva tabla


reordenada en funcin de algunos de sus atributos.

COD
ALUMNO
A001
A005
A007

NOMBRE
ALUMNO
DIEGO
JUAN
CARLOS

PROMEDIO
8,02
7,89
7,50

CLASIFICACIO
N

COD
ALUMNO
A007
A001
A005

NOMBRE
ALUMNO
CARLOS
DIEGO
JUAN

PROMEDIO
7,50
8,02
7,89

_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

Segn lo observado podemos decir que las caractersticas de todo modelo relacional
son:
#"Todos los tems de datos estn en TABLAS BASES.
#"Las vistas de los datos en las TABLAS BASES son creadas
usando los operadores relacionales de CLASIFICACION,
SELECCIN, PROYECCION, UNION Y JOIN.
#"Cualquier cambio de los datos es reflejado inmediatamente en las
vistas.
#"No hay punteros dentro de los registros de datos.
!"EL MODELO RELACIONAL EN EL AS/400:
El AS/400 las TABLAS BASES se llaman ARCHIVOS FISICOS. Las VISTAS
se llaman ARCHIVOS LOGICOS
$"ESTRUCTURA DE LOS ARCHIVOS FISICOS

CLIENTE
6
NOMBRE
30
PROM.COMPRA 9

FORMATO

MIEMBRO DE ATOS

DATOS

Auque es posible definir dentro de la estructura de un archivo fsico campos clave, es


aconsejable que los mismos no contengan ningn campo clave.

$"ESTRUCTURA DE LOS ARCHIVOS LOGICOS

CLIENTE
6
NOMBRE
30
PROM.COMPRA 9

CLAVE : CLIENTE

FORMATO

VIA DE

_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

ODIFICACION DE ARCHIVOS FISICOS

A continuacin explicaremos la codificacin de DDS DATA DESCRIPTION


SPECIFICATIONS para los archivos fsicos.

Define el registro

Tipo
de
Form.
A
A
A
A
A
A
A
A
A

Tipo de
nombre
R

Nombre

BUQUES
CODBUQ
NOMBUQ
ESLORA
MANGA
PUNTAL
TRB
CALADO
CODBUQ

Ref. Long.

6
30
9
9
9
9
9

Tipo
de
Datos

Pos.
Dec.

Funciones

0
2
2
2
2
2

R = Define el nombre de registro


K= Define cual o cuales son los campos clave/s
En la columna longitud se establece la longitud del campo., y en la columna
posiciones decimales se coloca la cantidad de decimales que tendr el campo
numrico.

Tipos de datos: En esta columna se pueden determinar los siguientes tipos de datos
#"P - Decimal empaquetado
#"S Decimal por zona
#"B Binario
#"F Punto flotante
#"A Carcter
Si no colocamos en esta columna ningn valor asume por omisin los siguientes
valores

_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

1. Si el campo definido es numrico o sea en la columna posiciones decimales


tiene un valor entre 0 y 31 por default define el tipo de datos como P
(decimal por zona).

2. Si el campo es de caracteres ( alfanumrico ) o sea en la columna posiciones


decimales esta en blanco, asume por default A
!"DEFINICION DE PALABRAS CLAVES
Hay cuatro niveles de definicin de palabras claves:
#"A nivel de archivo
#"A nivel de registro
#"A nivel de campo
#"A nivel de clave

Tipo
de
Form.

Tipo de
nombre

A
A
A
A
A
A
A
A
A

Nombre

Ref. Long.

Tipo
de
Datos

Pos.
Dec.

Funciones

Nivel archivo
Nivel registro

BUQUES
CODBUQ
NOMBUQ
ESLORA
MANGA
PUNTAL
TRB
CALADO
CODBUQ

6
30
9
9
9
9
9

0
2
2
2
2
2

Nivel campos

Nivel clave

$"PALABRAS CLAVES A NIVEL DE ARCHIVO

Tipo
de
Form.

Tipo de
nombre

Nombre

A
A
A

BUQUES
CODBUQ
NOMBUQ

Ref. Long.

Tipo
de
Datos

Pos.
Dec.

Funciones

REF(BIB01/GJH)
6

_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

A
A
A
A
A
A

ESLORA
MANGA
PUNTAL
TRB
CALADO
CODBUQ

R
R
R
9
9

2
2

REF a nivel de archivo especifica en que biblioteca y archivo ( GJH ) se


encuentran los formatos de campos que tienen una R en la columna Ref.
Adems de esta palabra clave existen otras como FIFO y LIFO que nos indican
la forma en que se recuperaran los datos, utilizndose esta palabra solo en el
caso que exista claves duplicadas. Otra palabra es UNIQUE que indica que no
pueden existir claves duplicadas.

$"PALABRAS CLAVES A NIVEL DE REGISTRO

Tipo
de
Form.
A

Tipo de
nombre
R

A
A
A
A
A
A
A

Nombre

Ref. Long.

Tipo
de
Datos

Pos.
Dec.

BUQUES

CODBUQ
NOMBUQ
ESLORA
MANGA
PUNTAL
TRB
CALADO

Funciones

FORMAT(GJH)
TEXT(ARCHIVO
DE BUQUES)
6
30
9
9
9
9
9

0
2
2
2
2
2

La palabra FORMAT indica que el formato de registro ser el mismo del


archivo GJH, y la palabra TEXT nos permite asociar un comentario de hasta
50 caracteres al formato de registro.
$"PALABRAS CLAVES A NIVEL DE CAMPO

Tipo
de
Form.
A

Tipo de
nombre
R

Nombre

BUQUES

Ref. Long.

Tipo Pos.
de
Dec.
Datos

Funciones

FORMAT(GJH)
TEXT(ARCHIVO

_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

A
A
A
A
A
A

CODBUQ
NOMBUQ
ESLORA
MANGA
PUNTAL
TRB

6
30
9
9
9
9

CALADO

0
F

2
2
2
2

DE BUQUES)
ALIAS(SHIP)
FLTPCN(*SINGLE)

TEXT(TONELADA
DE REGISTRO
BRUTO)
DFT(32)

La palabra ALIAS nos permite definir un nombre alternativo para el campo de


hasta 30 caracteres. FLTPCN especifica la precisin de los campos de punto
flotante, * SINGLE o * DOUBLE. DFT nos permite definir valores por default
del campo y TEXT nos permite introducir un comentario de hasta 50
caracteres. Ademas de las palabras claves a nivel de campo utilizadas en este
ejemplo se cuenta con otras a saber:

Tipo
de
Form.
A

Tipo de
nombre

Nombre

BUQUES

Ref. Long.

Tipo Pos.
de
Dec.
Datos

Funciones

FORMAT(GJH)
TEXT(ARCHIVO
DE BUQUES)

A
A
A
A

CODBUQ
NOMBUQ R
ESLORA R
MANGA
R

+2

A
A
A

PUNTAL
TRB
CALADO

9
9
9

0
REFFLD(BIB01/GJH)
REFFLD(ESLORA
*SRC)
2
2
2

La primera palabra clave REFFLD indica que el formato del campo se


encuentra en otro archivo de referencia distinto al nombrado en la palabra
clave a nivel de archivo. La segunda palabra REFFLD nos indica que el
formato del campo es el mismo que el campo ESLORA mas dos posiciones.
$"PALABRAS CLAVES A NIVEL DE CLAVE

Tipo
de
Form.

Tipo de
nombre

Nombre

Ref. Long.

Tipo Pos.
de
Dec.
Datos

Funciones

_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

BUQUES

A
A
A
A

CODBUQ
NOMBUQ R
ESLORA R
MANGA
R

A
A
A
A

PUNTAL
TRB
CALADO
CODBUQ

FORMAT (GJH)
TEXT(ARCHIVO
DE Buques)
6

0
REFFLD(BIB01/GJH)

+2
9
9
9

REFFLD(ESLORA
*SRC)
2
2
2
ABSVAL

La palabra clave ABSVAL nos indica que se ordenara por el valor absoluto del
campo. Se dispone de otras palabras claves como:
UNSIGNED: Los registros se ordenaran segn los valores hexadecimales, es
decir, de acuerdo a su posicin en el cdigo EBCDIC.
SIGNED: Los registros se ordenaran segn su valor numrico.
DESCEND: Los registros se ordenaran segn el orden descendente de la clave.

$"CREACION DE UN ARCHIVO FISICO

EDICION POR MEDIO DEL SEU

MIEMBROS FUENTES- DDS


DESCRIPCION
GJH

ORDEN

CLIENTE

SE CREA EL OBJETO SEGN LO ESPECIFICADO EN LA DDS


CREACION DEL ARCHIVO FISICO POR MEDIO DEL COMANDO
CRTPF

COMANDO CRTPF:
FILE (*CURLIB/MONBRE-ARCHIVO)
SRCFILE(*LIBL/QDDSSRC)
_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

SRCMBR(*FILE)
MBR(*FILE)
MAXMBRS(1)
Si necesitamos por ejemplo 3 miembros en un archivo el comando seria
FILE (*CURLIB/MONBRE-ARCHIVO)
SRCFILE(*LIBL/QDDSSRC)
SRCMBR(*FILE)
MBR(*FILE)
MAXMBRS(3)
En muchos casos por sobre todo en ERPs como BPCS y JDE es aconsejable que
la creacin sea con N miembros
FILE (*CURLIB/MONBRE-ARCHIVO)
SRCFILE(*LIBL/QDDSSRC)
SRCMBR(*FILE)
MBR(*FILE)
MAXMBRS(*MAX)

_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

$"COPIAR UN ARCHIVO FISICO:

Para copiar un archivo fsico utilizaremos el comando CPYF


COMANDO CPYF

CPYF FROMFILE (
TO FILE (

MBROPT

*REPLACE
*ADD

FMTOPT

*MAP
*DROP

CRT FILE

*NO
*YES

Si deseamos visualizar los datos de un archive sin utilizar SQL o Query


podemos utilizar el comando DSPPFM

COMANDO DSPPFM

DSPPFM FILE ( NOMBRE DE LA BIBLIOTECA / NOMBRE DEL


ARCHIVO ) MBR (*FIRST)

_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

RCHIVOS DE REFERENCIA DE CAMPOS

Se justifica el uso de los archivos de referencia de campo cuando se tienen


campos de la Base de datos presentes en mltiples registros.

Maestro de
estudiantes

Maestro
Maestro de
de
cursos
estudiantes

Maestro de
Profesores

EDUCAR
R CAMPOS
NRO_EST
NOM_EST
COMP_EST
ESTADO
DIAS_AUS
PROM
NRO_CUR
DES_CUR
NRO_PROF
NOM_PROF
NRO-CLAS

7
30
30
4
3
3
5
35
7
30
4

1
2

_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

Luego la codificacin de la DDS de un archivo se hace en base al archivo de


referencia, por ejemplo:

Tipo
de
Form.

Tipo de
nombre

A
A
A
A

Nombre

Ref. Long.

Tipo Pos.
de
Dec.
Datos

Funciones

REF(BIB01/EDUCAR)
PROFE
NRO_PROF R
NOM_PROF R
NRO_CLAS R

!"FORMAS DE ESTRUCTURAR UN ARCHIVO DE REFERENCIA DE CAMPOS


#"En secuencia alfabtica
#"Por registro
#"En secuencia alfabtica y luego por formato de registro
El uso de archivos de referencia de campos trae varias ventajas a saber:
#"Reduce el esfuerzo de codificacin de DDS
#"Se asegura la consistencia en el uso de los atributos de archivos.
#"Se simplifica cualquier cambio requerido.

_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

RCHIVOS LOGICOS

!"ARCHIVOS LOGICOS NONJOIN

En los archivos lgicos tambin existen las palabras claves en sus niveles de
ARCHIVO, REGISTRO, CAMPO, CLASE. Y SELECT / OMIT.
$"Palabras Claves a nivel de Archivo

Tipo
de
Form.

Tipo de
nombre

Nombre

A
A
A
A

PROFE
NRO_PROF
NOM_PROF
NRO_CLAS

Ref. Long.

Tipo Pos.
de
Dec.
Datos

Funciones

ACCPT(BIB01/GJH)

La palabra clave ACCPT permite compartir un va de acceso, no debindose de definir


los campos claves ni de select / omit.
Otras palabras claves que podemos utilizar a nivel de archivos lgicos son:
FIFO o LIFO: Los registros con claves duplicadas son accedidos en ese orden. FIRST
IN FIRST OUT o LAST IN FIRST OUT.
UNIQUE: No acepta claves duplicadas.
DYNSLT: Selecciona los registros cuando se abra el archive.
$"Palabras Claves a nivel de registro.
#"Archivo lgico NON JOIN sobre un nico archivo fsico

Tipo
de
Form.

Tipo de
nombre

Nombre

A
A

PROF01
NRO_PROF

Ref. Long.

Tipo Pos.
de
Dec.
Datos

Funciones

PFILE(BIB01/PROF)

_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

A
A

NRO_EST
NOM_EST

Con la palabra clave PFILE se direcciona al archivo fsico sobre el cual se va a operar.
No se especifican campos pues se asume que se utilizaran todos. En el ejemplo que
veremos a continuacin solo tendr los campos nombrados.

Tipo
de
Form.

Tipo de
nombre

Nombre

A
A
A

PROF01
NRO_PROF
NOMPROF
NRO_PROF

Ref. Long.

Tipo Pos.
de
Dec.
Datos

Funciones

PFILE(BIB01/PROF)

#"Archivo lgico NON JOIN sobre mltiples archivos fsicos y con


un nico formato.

Tipo
de
Form.

Tipo de
nombre

REG01

K
K

NRO_PROF
NOM-PROF
NRO_EST
NOM_EST
NRO_PROF
NRO_EST

A
A
A
A
A
A

Nombre

Ref. Long.

Tipo Pos.
de
Dec.
Datos

Funciones

PFILE(PROF
ALUM)

El archivo lgico resultante tendr todos los campos nombrados de ambos


archivos.
$"Palabras Claves a nivel de campo clave
_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

Tipo
de
Form.

Tipo de
nombre

Nombre

A
A
A
A

REG01
NRO_PROF
NOM-PROF
NRO_PROF

Ref. Long.

Tipo
de
Datos

Pos.
Dec.

Funciones

ABSVAL

La palabra ABSVAL ordena por valor absoluto. Adems tenemos otras


palabras como ser:

UNSIGNED: Considera al campo clave no como si fuera un campo


numrico sino como si fuera de caracteres.
SIGNED: Es el valor que se toma por omisin para los campos numrico.
DESCEND: Es valido para los campos de carcter y numricos
permitindonos obtener una vista en orden descendiente.
DIGIT: Se ignora la posicin de zona de cada BIT. Las mismas son
consideradas como si estuvieran completas con ceros binarios.
ZONE: Es lo opuesto a la palabra clave anterior.
$"Palabras Claves a nivel de SELECT / OMIT
Las palabras claves SELECT y OMIT controlan que registros aparecen en el
archivo lgico. Las mismas se especifican al final del archivo lgico. S =
SELECT y O = OMIT.
Tipo
de
Form.

Tipo de
nombre

Nombre

A
A
A
A
A
A
A
A

REGIS
NROBUQ
NOMBRE
ESLORA
MANGA
TRB
PTOMAT
NROBUQ

Ref. Long.

Tipo
de
Datos

Pos.
Dec.

Funciones

COMP ( GE
200 )
COMP ( LE

_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

ESLORA

TRB

1000 )
RANGE ( 1000
200 )
COMP ( LT
45000 )

Con una sola S o una O en una lnea y un blanco en la siguiente, se hace


un AND de las lneas. Con una S o una O en varias lneas se realiza un
OR

Para crear un archivo lgico seguiremos el siguiente paso:


1. Se crea la DDS por medio del SEU
2. Se crea el archivo lgico segn lo especificado en la DDS
utilizando el comando CRTLF.

FILE ( *CURLIB / NOMBRE ARCHIVO )


SRCFILE ( *LIBL/ QDDSSRC )
MBR ( *FILE )
MAXMBRS ( 1 )
DTAMBRS ( * ALL )
TEXT ( *SRCMBRTXT )
!"ARCHIVOS LOGICOS JOIN

_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

ARCHIVO
JOIN
PROVE
AYN
SALDO

ARCHIVO DE
CUENTA
CORRIENTE
PROVEEDORES
SALDO

ARCHIVO DE
PROOVEDORES
PROVED

PROVE
AYN

PROVE
SALDO

El los archivos JOIN se combinan en un formato, campos de dos o ms


archivos fsicos. Solo un formato de registro esta permitido, los campos
claves deben ser del archivo considerado primario y estos archivos son de
solo lectura. Si realizamos un JOIN de archivos secundarios solo lo
podremos realizar en el orden de la palabra clave JFILE.
Tipo
de
Form.

Tipo de
nombre

Nombre

REJOIN

A
A
A
A
A

PROVE
AYN
SALDO
PROVE

Ref. Long.

Tipo Pos.
de
Dec.
Datos

Funciones

JFILE(PROVE +
SALDO)
JOIN(PROVE +
SALDO)
JFLD(PROVE
PROVE)
JREF(PROVED)

_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

AS/400 EN EL MANEJO DE BASE DE


DATOS
Los archivos de bases de datos en el AS /400 pueden ser definidos en los
lenguajes RPG/400, COBOL/400 , etc, de dos formas diferentes:
#"En forma externa
#"Dentro de un programa RPG, COBOL, PL/I, etc.

Ejemplo de un archivo descrito externamente en un


programa COBOL/400
ENVIROMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE CONTROL.
SELECT MAECUR.
ASSIGN TO DATABASE CURSO.
ORGANIZATION INDEXED.
ACCES IS RANDOM.
RECORD KEY IS NROCUR.
DATA DIVISION.
FILE SECTION.
FD MAECUR.
LABEL RECORD ARE STANDARD.
01 REGMAE
COPY DDS REGCUR OF CURSO.

_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

Ejemplos de un archivo descrito externamente en un


programa RPG/400.

CURSO

DISK

CURSO

DISK

_____________________________________________________________________
Autor: Daniel Hugo Enriquez Leivas http://www.webcindario.com/naviera
Reproducido con el permiso de su autor para Recursos AS/400, http://www.recursos-as400.com

También podría gustarte