Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TECNOLGICO
NORBERT WIENER
LIMA-PERU
2
INDICE GENERAL
Es aparente que una interpretacin del mundo es necesaria, la que debe ser
suficientemente abstracta para que no sea afectada por la dinmica del mundo (los
pequeos cambios), y debe ser suficientemente robusta para poder representar
como los datos y el mundo se relacionan. Una herramienta como esta es llamada
modelo de datos, el cual permite representar en forma ms o menos razonable
alguna realidad. El modelo de datos permite realizar abstracciones del mundo,
permitiendo centrarse en los aspectos macros, sin preocuparse de las
particularidades; as nuestra preocupacin se centra en generar un esquema de
representacin, y no en los valores de los datos.
DATO: la siguiente tupla: <nombre del objeto, propiedad del objeto, valor, tiempo>
Esta definicin es correcta, ya que cada vez que se describe un fenmeno, ste se
refiere a un objeto (nombre del objeto) y ciertas caractersticas (propiedades del
objeto) el cual tiene un valor en un momento determinado (tiempo).
Un modelo de datos define las reglas por las cuales los datos son estructurados.
Esta estructuracin, sin embargo, no da una interpretacin completa acerca del
significado de los datos y la forma en que sern usados. Las operaciones que se
permiten efectuar a los datos deben ser definidos.
Ejemplo. Una lista puede ser tratada como pila o fila, dependiendo de las
operaciones que se permitan sobre ella.
BASE DE DATOS
Una coleccin de datos estructurados en una forma particular, segn un esquema
particular, se denomina base de datos.
Todo modelo de datos debe poder capturar las propiedades estticas y dinmicas
de una realidad. Las propiedades estticas corresponden a lo que es relativamente
invariante en el tiempo, son siempre verdadero y no cambia en el tiempo.
Ejemplo. Que los precios se midan en $ es relativamente invariante.
MODELO DE DATOS
Se define el modelo de datos M consistente de dos partes:
G: un conjunto de reglas que lo generan.
O: un conjunto de operaciones.
Un modelo de datos tambin puede tener restricciones que son inherentes a l, las
que generalmente se incorporan en Ss (la estructura).
Ejemplo, slo se permite relaciones entre objetos mediante una estructura de rbol.
7
En resumen:
Gs: Su Estructura
G: Reglas Generadoras
M: Modelo de Datos Gc: Sus Restricciones
O: Operaciones Asociadas
REALIDAD
REQUISITOS
anlisis
MODELO
DISEO CONCEPTUAL
CONCEPTUAL
ESQUEMA CONCEPTUAL
MODELO
DISEO LOGICO
LOGICO
ESQUEMA LOGICO
MODELO
DISEO FISICO
FISICO
ESQUEMA FISICO
diseo
2.1 Entidades:
Tipo de
Entidad
2.2 ATRIBUTOS
Elemento de un Dominio. Aporta mediante su rtulo, la semntica de los valores del
Dominio al que est asociado.
Dominio
Atributo
2.3.Registros
Es un grupo o conjunto de informacin bsica (campos), los cuales se encuentran
relacionados con respecto a un elemento, por ejemplo; los datos de un determinado
11
Registro: Son las filas en este caso hay 4, por ejemplo uno de ellos es:
345875 RADIOHEAD THE BENDS 21
Los registros son en muchos aspectos parecidos a las entidades del modelo
entidad-relacin (E-R). Cada registro es un conjunto de campos (atributos), cada
uno de los cuales slo contiene un valor de datos. Los enlaces son asociaciones
entre exactamente dos registros. Por tanto, los enlaces pueden considerarse una
forma restringida (binaria) de relacin en el sentido del modelo E-R. Una base de
datos en red consiste en un conjunto de registros conectados entre s mediante
enlaces.
2.4.CAMPOS
Es una unidad bsica de informacin, respecto a un determinado elemento, es decir
es una caracterstica (dato) de una persona u objeto, como por ejemplo: un nombre,
una fecha de nacimiento, un sueldo diario. Como existen diferentes tipos de datos
se usa para diferentes tipos de Campo como son: Carcter, Date, Memo, Logical, y
Numeric. Cada campo se define con un nombre o identificador, un tipo de dato
asociado y una longitud o tamao.
Esto significa que no tiene sentido modelar una entidad que no podemos identificar
ni distinguir unas de otras.
2.6.CLAVE FORNEA
Clave fornea: En el modelo relacional se denominan claves ajenas o claves
forneas a una referencia de una relacin a otra, mediante su clave. Este concepto
lo conocemos en el formalismo individual como una relacin implcita.
Una Relacin (R1) puede poseer como uno de sus atributos (A) una clave primaria
de otra relacin (R2). Este atributo (A) constituye una clave fornea en R1 y
referencia a R2.
En este caso las claves forneas responden al mismo patrn de las relaciones
implcitas del formalismo individual, es decir, existen cuando la cardinalidad de la
relacin es uno es a muchos.
La regla de integridad referencial nos indica que ningn atributo A que constituye
una clave fornea en una relacin R1 y referencia a la clave primaria de una
relacin R2 (no necesariamente distinta) puede tomar un valor que no est presente
en la relacin referenciada R2. Esto significa, que la base de datos no debe
contener valores de clave ajena sin concordancia.
Este modelo fue propuesto pro Codd en 1970 y se divide en tres partes, las cuales
separan la estructura, la integridad y la manipulacin de los datos.
a1 p1
a2
a3 p2
a4
a5 p3
Automviles Personas
Representacin para la agregacin "POSEE".
13
Al observar la figura, se puede decir que la persona p1 posee los autos a1 y a2, la
persona p2 posee los autos a2,a4 y a5, mientras que la persona p3 no posee autos.
De esto ltimo se puede observar que no es obligatorio que todas las personas
posean autos, pero al parecer todos los autos deben tener un dueo. Esta ltima
caracterstica es propia de cada agregacin, y se refieren a la cardinalidad de
correspondencia entre las clases.
3.1.1 Cardinalidad.
Caracteriza a los atributos de un tipo de entidad y a los tipos de interrelacin.
(Las definicin aqu utilizada corresponde a la realizada por Tardieu).
Cardinalidad de atributo con respecto a un tipo de entidad.
Para los atributos, la cardinalidad mnima indica el nmero mnimo de valores
de un atributo asociado con cada caso (ocurrencia) de una entidad o
interrelacin. La cardinalidad mxima indica el nmero mximo de valores
para un atributo asociado a cada caso de una entidad o interrelacin.
Se define la Cardinalidad del Atributo A con respecto al tipo de entidad TE
como:
Card(A,TE)=( mnimo, mximo), con mnimo, mximo {0,...,n} y
mnimo mximo.
donde un elemento de A debe participar al menos mnimo veces, y a lo ms
mximo veces en cada ocurrencia de TE.
Tipo de
Atributo (mnimo, mximo)
Entidad
3.3 RELACIONES:
c) d)
c1 d1 c1 d1
c2 c2
d2 d2
c3 c3
c4 d3 c4 d3
15
4.3 Condiciones.
5 CAPITULO 5: NORMALIZACION I
5.1 CONCEPTO
El diseo de esquemas para generar bases de datos relacionales debe considerar
el objetivo de almacenar informacin sin redundancia innecesaria, pero que a la
vez nos permitan recuperar informacin fcilmente. Una tcnica consiste en
disear esquemas que tengan una forma normal adecuada.
5.2. IMPORTANCIA
Las formas normales, definidas en la teora relacional, nos permiten evitar que
estas propiedades indeseables aparezcan en una base de datos basada en un
esquema mal diseado. Un esquema debe estar a lo menos en tercera forma
normal, para que sea aceptable.
Otra forma de expresar la primera forma normal es decir que todas las
ocurrencias de un tipo de registro deben contener el mismo nmero de campos.
Ejemplo.
Consideremos el caso de agentes que representan compaas que fabrican
productos. Una relacin sin normalizar que indique los productos que venden los
representantes es:
17
Ejemplo.
Consideremos el siguiente esquema propuesto para un registro de inventario.
Padre DIRECCIN-Padre
Estas son las tres formas normales bsicas, existen adems la forma normal de
Boyce/Codd, la cuarta forma normal, quinta forma normal.
20
Ejercicio.
Desarrollo.
Supuestos de Diseo.
Los principales supuestos que soportan la normalizacin del sistema son los que
se indican a continuacin.
6.CAPITULO 6: NORMALIZACION I
Objetivo: contener la informacin de las distintas versiones que existen para cada
droga que se utiliza en el hospital.
a) Restricciones de Integridad.
Si una droga tiene una ubicacin, entonces el estado de esa ubicacin debe ser
"ocupado".
Esquema
Droga
Key Data Version
Ubicacin droga [PK1] Key Data
Key Data Non-Key Data droga [PK1] [FK]
ubicacion [PK1] nombredroga version [PK2]
Non-Key Data stock Non-Key Data
estado stockmin nombreversion
ubicacion [FK] laboratorio [FK]
proveedor [FK]
Proveedor Laboratorio
Key Data
Key Data
proveedor [PK1] laboratorio [PK1]
Non-Key Data
Non-Key Data
nombreproveedor nombrelaboratorio
fono
direccion
ProvLab
Key Data
proveedor [PK1]
[FK]
laboratorio [PK2]
[FK]
Observacin.
El formalismo grfico utilizado explcita la implementacin de interrelaciones (del
MER) entre relaciones(del modelo Relacional) a travs de claves forneas. Las
cardinalidades se representan por la notacin pie de gallo, donde se utiliza para
la cardinalidad (1,1) o uno es a uno , para la cardinalidad (0,1) o cero o uno,
6.2. Determinante
24
6.4. DESCOMPOSICIN
Consiste en descomponer un esquema de relacin que tenga muchos atributos
en varios esquemas con menos atributos.Una descomposicin descuidada puede
conducir a otro tipo de diseo incorrecto. Ejm:
Considrese una alternativa de diseo en la cual Esquema-emprestito se
descomponga en los siguientes dos esquemas:
Esquema-sucursal-cliente=(nombre-sucursal, ciudad-sucursal, activo, nombre-
cliente)
Esquema-prstamo-cliente=(nombre-cliente, nmero-prstamo, importe)
6.5. UNIN
Consiste en la unin de tuplas de relaciones, las operaciones de unin toman
como entrada dos relaciones y devuelven como resultado otra relacin. Cada
variante de las operaciones de unin estn formadas por un tipo de unin y una
condicin de unin. Las condiciones de unin indican las tuplas pertenecientes a
las dos relaciones que encajan y los atributos que se incluyen en el resultado de
la unin. El tipo de unin definen como se tratan las tuplas de cada relacin que
no encajan con ninguna tupla de la otra relacin (basado en la condicin de
unin).
6.6. TRANSITIVIDAD.
Se define como la relaciones establecidas entre entidades que nos permiten
establecer cardinalidad con otra entidad :
Si A ByB C entonces A C
Definicin formal:
Una relacin R esta en FNBC si y solo si cada determinante es una llave
candidato.
Denominada por sus siglas en ingles como BCNF; Una tabla se considera en esta
forma si y slo s cada determinante o atributo es una llave candidato.
Definicin formal:
Un esquema de relaciones R est en 4FN con respecto a un conjunto D de
dependencias funcionales y de valores mltiples s, para todas las dependencias
de valores mltiples en D de la forma X->->Y, donde X<=R y Y<=R, se cumple por
lo menos una de estas condiciones:
Existe una dependencia de valores mltiples cuando una afinidad tiene por lo
menos tres atributos, dos de los cuales poseen valores mltiples y sus valores
dependen solo del tercer atributo, en otras palabras en la afinidad R (A,B,C) existe
una dependencia de valores mltiples si A determina valores mltiples de B, A
determina valores mltiples de C, y B y C son independientes entre s.
Tabla EEspecialidad
Clave Especialidad
S01 Sistemas
B01 Bioqumica
C03 Civil
Tabla ECurso
Clave Curso
S01 Natacin
S01 Danza
B01 Guitarra
C03 Natacin
27
Definicin formal:
Un esquema de relaciones R est en 5FN con respecto a un conjunto D de
dependencias funcionales, de valores mltiples y de producto, si para todas
las dependencias de productos en D se cumple por lo menos una de estas
condiciones:
Otra diferencia entre tipo de entidad y atributo es que, por ejemplo, se puede
tener el tipo de entidad Empleado, que tiene como atributo el departamento al que
pertenece. En forma alternativa se pueden tener los tipos de entidades Empleado
y Departamento, y el tipo de interrelacin Trabaja_en, que relaciona un empleado
con el departamento donde trabaja.
8.2.2 Cardinalidad.
Caracteriza a los atributos de un tipo de entidad y a los tipos de
interrelacin.
(Las definicin aqu utilizada corresponde a la realizada por Tardieu).
8.2.3 Cardinalidad de atributo con respecto a un tipo de entidad.
Para los atributos, la cardinalidad mnima indica el nmero mnimo de
valores de un atributo asociado con cada caso (ocurrencia) de una entidad
o interrelacin. La cardinalidad mxima indica el nmero mximo de valores
para un atributo asociado a cada caso de una entidad o interrelacin.
Se define la Cardinalidad del Atributo A con respecto al tipo de entidad TE
como:
Card(A,TE)=( mnimo, mximo), con mnimo, mximo {0,...,n} y
mnimo mximo.
donde un elemento de A debe participar al menos mnimo veces, y a lo ms
mximo veces en cada ocurrencia de TE.
Tipo de
Atributo (mnimo, mximo)
Entidad
los atributos ai (i = 1,2, ..., n) y todos los casos de los tipos de entidad TEj (j
= 1,2, ..., m) vinculadas con te.
Cada entidad puede tener mltiples identificadores alternativos.
Tipo de Atributo
... identificador 1
Entidad Atributo identificador n
Tipo de
Entidad
Genrica
8.2.7 Cobertura.
Las jerarquas de generalizacin presentan la propiedad de cobertura. La
cobertura puede ser parcial o total y exclusiva o superpuesta. La cobertura
parcial o total permite especificar una restriccin entre el tipo de entidad
genrica y sus tipos de entidad subconjunto, donde todos los elementos del
tipo de entidad genrico deben pertenecer a alguno de sus tipos de entidad
subconjunto (si es total), o no (si es parcial). La cobertura exclusiva o
superpuesta permite especificar una restriccin entre los tipos de entidad
subconjunto, donde los elementos que pertenecen a un tipo de entidad
subconjunto pueden pertenecer tambin a otro tipo de entidad subconjunto
(si es superpuesto) o no (si es exclusiva).
Tipo de
Entidad
Genrica
(x,y)
Agregacin de Tipos
de Entidad
(e,f) (g,h)
R2
Atributos Compuestos.
Atributo
Descripcin
Presente en
Notacin para Descripcin:
Atributo Componente 1+ Atributo Componente 2+ + Atributo Componente n : El
atributo se compone de Atributo Componente 1, Atributo Componente 2, ,
Atributo Componente n. Cada uno de los atributos Atributo Componente i debe
documentarse separadamente.
Atributos.
Atributo
Descripcin
Dominio
Presente en
Notacin para presente en:
Nombre1(TE) : El objeto donde se usa el atributo se denomina Nombre1 y es un
Tipo de Entidad.
Nombre2(TI): El objeto donde se usa el atributo se denomina Nombre2 y es un
Tipo de Interrelacin.
Nombre3(@TE): El objeto donde se usa el atributo se denomina Nombre3 y es un
Tipo de Entidad, siendo este atributo (parte de) el identificador.
Nombre4(A): El objeto donde se usa el atributo se denomina Nombre4 y es un
atributo compuesto.
Dominios.
Dominio
Definicin
Atributos
Estructuras de Generalizacin.
Generalizacin Tipo de Entidad Genrica
Cobertura
Tipos de Entidad
Subconjunto
33
Restricciones Estticas
Id Objetos Involucrados Restriccin
Res
tricc
in
Restricciones Dinmicas.
Restricciones Dinmicas
Id Objetos Involucrados Restriccin
Res
tricc
in
Pulse Open
C-222 140,000
10.4.3 Relacional
43
Este modelo fue propuesto pro Codd en 1970 y se divide en tres partes, las
cuales separan la estructura, la integridad y la manipulacin de los datos.
Una relacin constituye lo que podramos llamar una tabla. Una Tupla
corresponde a una fila de esta tabla y un atributo a una columna. El nmero
de tuplas de una relacin se denomina cardinalidad y el nmero de atributos
se denomina grado.
Por ltimo, pero no por eso menos importante, un dominio es una coleccin
de valores, de los cuales uno o ms atributos (columnas) obtienen sus
valores reales.
i) Claves primarias.
Esto significa que no tiene sentido modelar una entidad que no podemos
identificar ni distinguir unas de otras.
44
Una Relacin (R1) puede poseer como uno de sus atributos (A) una clave
primaria de otra relacin (R2). Este atributo (A) constituye una clave fornea en
R1 y referencia a R2.
En este caso las claves forneas responden al mismo patrn de las relaciones
implcitas del formalismo individual, es decir, existen cuando la cardinalidad de la
relacin es uno es a muchos.
La regla de integridad referencial nos indica que ningn atributo A que constituye
una clave fornea en una relacin R1 y referencia a la clave primaria de una
relacin R2 (no necesariamente distinta) puede tomar un valor que no est
presente en la relacin referenciada R2. Esto significa, que la base de datos no
debe contener valores de clave ajena sin concordancia.
b. lgebra Relacional.
4. Unin. Construye una relacin formada por todas las tuplas que aparecen
en cualquiera de las dos relaciones especificadas.
5. Interseccin. Construye una relacin formada por todas aquellas tuplas que
aparecen en las dos relaciones especificadas.
8. Divisin. Toma dos relaciones, una binaria y otra unaria, y construye una
relacin formada por todos los valores de un atributo de la relacin binaria
que concuerdan (en el otro atributo) con todos los valores en la relacin
unaria.
45
Restriccin Proyeccin
Producto Divisin
a z a z a x z a
= a y a y div =
b x y y c
c b z a z
b y b x
c z c z
c y c y
Reunin
a1 b1 b1 c1 a1 b1 c1
a2 b2 JOIN b2 c2 = a2 b2 c2
a3 b2 b3 c3 a3 b2 c2
Persona
Hombre Mujer
a) total, exclusiva. Todas las personas son Hombres o Mujeres, pero no ambos.
Empleado
Administrativo Docente
Estudiante
Egresado Ttulado
Estudiante
Ingeniera Postgrado
En el modelo relacional se usa una coleccin de tablas para representar tanto los
datos como las relaciones entre esos datos. Cada tabla tiene varias columnas y
cada columna tiene un nombre nico. Ejemplo:
Nombre- dni Calle-cliente Ciudad-cliente Nmero-
cliente cuenta
Gonzalez 19283746 Arenal La Granja C-101
Gmez 19283746 Carretas Cerceda C-215
Lopez 67789901 Mayor Peguerinos C-102
Abril 96396396 Preciados Valsan C-305
Gonzalez 19283746 Arenal La Granja C-201
Santos 32112312 Mayor Peguerinos C-217
Ruperz 24466880 Ramblas Len C-222
Gmez 19283746 Carretas Cerceda C-201
Nmero-cuenta saldo
C-101 100,000
C-215 140,000
C-102 80,000
47
C-305 70,000
C-201 180,000
C-217 150,000
C-222 140,000
Por ejemplo, un modelo de datos simple es una archivo (tabla). Aplicando este
modelo a una situacin particular se puede tener el siguiente esquema:
En un diseo tpico hay diez veces menos entidades que atributos, as que el
diseo de entidades es mucho ms tratable.
48
a) Diseo de la aplicacin
b) Creacin de una arquitectura especfica para acoplar la aplicacin con la
base de datos.
c) Seleccin de un DBMS especfico que sirva como plataforma.
d) Diseo de la base de datos. Escritura del cdigo del DBMS para establecer
las estructuras de base de datos adecuadas.
e) Escritura de cdigo en un lenguaje de programacin para compensar las
deficiencias del DBMS, para proporcionar una interfase de usuario, para
validar los datos y efectuar clculos. Hay muchos DBMS que ofrecen
herramientas de productividad para simplificar las aplicaciones rutinarias.
f) Insercin de informacin en la base de datos.
g) Ejecucin de la aplicacin. La base de datos recibe consultas y es
actualizada segn sea necesaria.
Formato: &<varmen>[.<expC>]
Alltrim: Esta funcin devuelve una expresin tipo carcter eliminado los
espacios en blanco tanto a la derecha como a la izquierda.
Formato: ALLTRIM(<exp<C>]
Acs: Esta funcin devuelve el cdigo ASCII del primer carcter de izquierda
de una expresin de tipo carcter.
Formato: AT(<ExpC1>,<ExpC2>[,ExpN])
Formato: ATC(<ExpC1>,<ExpC2<[,ExpN>1])
Formato: CHR(ExpN>
Formato: CHRTRAN(<ExpC1>,<ExpC2>,<ExpC3>
Formato: LEN(<ExpC>)
Formato: LTRIM(ExpC>)
Formato: LIKE(ExpC1>,<ExpC2>)
Formato: DATE()
Formato: CMONTH(ExpF>)
a)SUM: comando que totaliza todos los campos numricos de una base
de datos en uso
Todos los campos numricos sern sumados a menos que se
especifique una condicin lo mismo suceder para los registros
11.3.2 MATEMATICAS
a) FLOOR: devuelve el entero mas prximo que sea menor o igual de que
expresin aritmtica
formato: floor(<expr>)
ejemplo:
a=20.10
?floor(a)
devuelve 20
b=-20.10
?floor(b)
devuelve
-21
b) int : devuelve el valor entero de la expresion indicada
formato : int(<expr>)
ejemplo:
a=20.10 devuelve 20
Formato: CTOD(<ExpC>)
Formato: DTOC(<ExpF>)
11.5 OTRAS FUNCIONES
donde:
donde:
Ejemplo:
Ejemplos:
CLEAR
STORE SPACE (10) TO XX
5,5 SAY nombre:GET XX FUNCTION !
READ
[DOUBLE I PANEL]
Determina el tipo de lnea, por defecto nos muestra la lnea simple, Double,
linea de dobles; panel, lne gruesas.
Ejemplo: CLEAR
5,5 To 10,50
5,5 To 10,50 DOUBLE
5,5 To 10,50 PANEL
5,5 To 10,50 PANEL COLOR R+/B
5,5 To 10,50 COLOR R+/ W
5,5 To 10,50 *
5,5 To 10,50 COLOR SCHEME 5
12.2.1 Picture
Si en lugar de FUNCTION se utiliza PICTURE, se deber incluir el smbolo
(@) antes del sombrero para lograr los famosos popups que, como ya
sabemos, contienen varias opciones en el interior de un rectngulo
Con el fin de aclara las ideas vamos a ver algunos ejemplos:
PICTURE [@^ASIA;EURO;AFRICA;SALIR]
PICTURE @^ASIA;EURO;AFRICA;SALIR
PICTURE @^+ASIA;EURO;AFRICA;SALIR
PICTURE ^ASIA;EURO;AFRICA;SALIR
12.2.2 Function
Los POPUP se pueden crear mediante la instruccin FUNCTION o la
palabra clave PICTURE
En el primero, la expc1 debe empezar por un acento circunflejo ^ y a
continuacin, dejando un espacio vaco, los nombres de las opciones
separadas por un punto y coma (;).
55
Ejemplo A:
Op=3
@ 4,2 GET op;
FUNCTION [^ASIA;EURO;AFRICA;SALIR]
READ
Ejemplo B:
Op=3
@ 4,2 GET op;
PICTURE [@^ASIA;EURO;AFRICA;SALIR]
READ
12.2.3 When:
Permite condicionar la edicin del GET. Si la condicin es verdadera
permite el ingreso de un valor, en caso contrario ignorar el mandato GET.
12.2.4 Valid:
Condiciona el ingreso de un valor aceptndolo slo si la condicin
especificada es verdadera caso contrario nos muestra el mensaje de
ERROR.
12.2.5 Error:
devuelve el nmero de error cometido y activado por la instruccin por la
instruccin on error <mandato>
56
FORMATO: If <expL.
[ELSE
<instr2>]
ENDIF
Ejemplo:
READ
IF PF>10
MSJ-DESAPROBADO
ENDIF
14,20 SAY_MSJCOLOR 1*/W
WAITPRESIONE UNA TECLA PARA TERMINAR WIND
SET TALK
SET STAT ON
SETSCOR ON
FORMATO: DO CASE
CASE <expL1>
<instr1>
CASE <expL2>
.
.
CASE <EXPLN>
<instrN>
OTHERWISE
<instrM>
Donde:
DO CASE
58
CASE PF<6
MSJ=PESIMO
CASE PF<9
MSJ=MUY MALO
CASE PF<11
MSJ=MALO
CASE PF<14
MSJ=REGULAR
CASE PF<16
MSJ=BUENO
CASE PF<19
MSJ=MUY BUENO
CASE PF<20
MSJ=EXCELENTE
ENDCASE
Ejemplo: FOR
SET TALK OFF
SET ECHO OFF
CLEAR
nFila=6
FOR I= 1 TO 12
@ 02,32 SAY "Programa 10" FONT "Arial" ,14
@ 01,03 TO 20,80
@ 04,07 SAY "Tabla de Multiplicar N" + STR(I)
@ 05,07 SAY "--------------------------------"
FOR J=1 TO 12
@ nFila+J, 18 SAY STR(I) + " * " + STR(J) + " =" + STR(I*J)
NEXT J
WAIT WINDOW "Pulse una tecla ...."
CLEAR
nFila=6
NEXT I
13.4.2 DO WHILEENDDO
ejecuta un grupo de instrucciones un determinado numero de veces,
mientras que la <expresin > sea verdadera de lo contrario do while
termina
Ejemplo DO WHILE
SET TALK OFF
SET ECHO OFF
CLEAR
59
@ 01,03 TO 14,80
@ 02,32 SAY "Programa 08" FONT "Arial" ,14
nNumero=0
nSuma=0
DO WHILE nNumero < 10
nNumero=nNumero+1
nSuma=nSuma+nNumero
ENDDO
@ 08,23 SAY "La suma es " +STR(nSuma,7,2) FONT "Arial" ,18
Sintaxis
Sintaxis:
Definicin de men
SET SYSMENU TO
SET SYSMENU AUTOMATIC
61
--------------------------------------------------------
SELECT orders
BROWSE NOWAIT
SELECT customer
BROWSE NOWAIT
Permite establecer una relacin entre dos Archivos de Datos dando lugar a que se
genere una BASE DE DATOS con informacin de ambos archivos. Antes de
relacionar dos archivos, el archivo Padre debe estar abierto en el rea actual de
trabajo y el archivo hijo en otra rea de trabajo. Para utilizar el SET RELATION TO
deber existir un campo en comn entre ambos archivos, adems dicho campo
deber ser la clave de indexacin. Luego de relacionar cuando se mueva el puntero
al registro correspondiente del archivo Hijo, de no encontrarse un registro
coincidente en el archivo Hijo el punto se situar en el EOF ().
FORMATO:
SET RELATION TO
[<exp1> INTO <expN1>
|<expC1>
[<exp2> INTO <expN2>
|<expC2>]
[ADDITIVE]]
Haga clic
aqu
al aceptar observar:
64
Luego ingresamos:
CREATE REPORT INFOGRUP
primero deber definir el titulo ,agrupar datos ( por mes, ao, categoras,
etc)
bien como requerimos obtener resmenes o clculos utilizaremos variables
tal como se puede observar en la figura anterior
CLEAR GETS
@20,5 SAY "Pulse Una tecla Para Continuar..."
WAIT WINDOW "Cdigo Ya Registrado"
@20,5
@02,01,24,78 BOX
ELSE
DO ventana
DO datos
READ
@18,20 SAY "Desea Grabar los Datos (S/N) " COLOR GB*/W
@18,50 GET rpta PICT "@!"VALID rpta $ "SN" ERROR "Respuesta
Incorrecta"
READ
IF rpta="S"
APPEND BLANK
REPLACE idartic WITH xcod
REPLACE idcateg WITH xcat
REPLACE nombre WITH xdescri
REPLACE pcosto WITH xpcos
REPLACE stock WITH xsto
ENDIF
@ 18,20 CLEAR TO 18,79
ENDIF
@18,15 SAY "Desea Continuar Con el Ingreso (S/N) " COLOR GB*/W
@18,55 GET sw PICT "!" VALID sw $"SN" ERROR "Respuesta Incorrecta"
READ
CLEAR
ENDDO
*******************************
PROCEDURE ventana
*******************************
@07,8 SAY "Categora"
@07,23 SAY ""
@08,8 SAY "Descripcin"
@08,23 SAY ""
@10,8 SAY "Precio unitario"
@10,23 SAY ""
@11,8 SAY "Precio costo"
@11,23 SAY ""
@12,8 SAY "Stock"
@12,23 SAY ""
******************************
PROCEDURE datos
******************************
@07,25 GET idcateg FONT "Arial, 8"
@08,25 GET descri
@10,25 GET punitario
@11,25 GET pcosto
@12,25 GET stock
67
FORMATO:
INDEX ON <expr> TO <archivo.idx>
[FOR <expL>]
[COMPACT]
[UNIQUE]
[ADDITIVE]
Ejemplo: Indexar el Archivo de Datos PLANILLA.DBF, por ApelPat y Apelmat sin
repeticiones.
USE PLANILLA
INDEX ON APELPAT+APELPAT UNIQUE TO INDAPE
LIST CODIGO APELPAT, APELMAT, NOMBRE.
68
INDEX ON-TAG
FORMATO:
Ejemplo:
USE PLANILLAS
INDEX ON SUELDO_NET TAG ETISUE DESCENDING
LISTCODIGFO,SUELDO_NET.
MODIFY STRUCTURE
Estructura: C:\FPPD26\PLANILLA.DBF
FORMATO:
APPEND FROM, <archivop> |?FIELDS<lista de
campos>][FOR<expL>][TYPE]
[DELIMITED [UIT TAB|UIT <Delimiter> |WITH BLANK]| DIF | FW2|MOD|
PDOX| RPD| SDF|SYLK|WK1| WK3| WKS | WR1|XLS]]
PROCEDIMIENTO
Seleccione la secuencia de DATABASE, APPEND FROM (Alt,D,s) o bien
escriba el comando APPEND FROM en la ventana Command.
Aparecer una ventana de dilogo que le permitir definir todos los
parmetros necesarios para ejecutar el comando.
Haga clic con el mouse en el botn OK despus de ejecutar los cambios
necesarios.
17.9 Update:
Actualiza el fichero en activo mediante otro fichero ordenando tambin por un
campo ndice comn
Formato:
Update ON campoindx FROM nomarchi replace WITH valor1 campo2 WITH valor2
Ejemplo:
SELECT 2 && ARTICULO.DBF
USE ARTICULOS INDEX CODIGO1 ALIAS ART
SELECT 1
USE INGRESO INDEX CODIGO2 ALIAS ING && INGRESO.DBF
UPDATE ON CODIGO FROM ARTICULO REPLACE CANTIDAD WITH CANTIDAD
+ ART->CANTIDAD
17.10 Join
Crea un nuevo Archivo de Datos uniendo otros dos existentes, el archivo actual y
un segundo archivo identificado por su rea de trabajo o su alias.
JOIN coloca el puntero de registro del archivo actual y busca a travs de los
registros del segundo archivo.
FORMATO:
JOIN UIT <expN> | WITH <expcC>
TO <archivo>
FOR <expL>
[FIELD <lista de campos>
Ejemplo:
Se tiene los siguientes Archivos de Base de Datos: TRABAJ.DBF
FORMATO: INSERT[BEFORE][BLANK]
17.13 Delete for
Este mandato permite eliminar en forma lgica uno o mas registros de archivos de
datos , colocando una marca * en estos registros
71