Está en la página 1de 63

Lenguajes de Programacin

Ing. Edgar Danilo Domnguez


Vera, M.C.
prestigioinstitucional@yahoo.com.mx
04481-1301-1461

Tratamiento de Informacin
Introduccin a la bases de datos (DBMS).
Esta materia busca almacenar la datos para
procesarlos y obtener informacin para una
empresa en un dispositivo digital para el
control administrativo y la Toma de
Decisiones
Almacenar la informacin de tal forma que
se pueda explotar de manera eficiente,
eficaz

Carreras en la UANL
Ing. Administrador de Sistemas (solucionador de
problemas mediante la optimizacin de los
recursos de las empresas) y el Ing. Tecnologa
de Software(FIME) Desarrollo de Software de
Aplicacin
Lic. Ciencias de la Computacin (FFM) Desarrollo
de Software de Base (Sistemas Operativos)
Lic. En Informtica (FACPYA) El uso de la
Tecnologa de Informacin para alcanzar los
objetivos de una empresa

Bases de Datos Relacionales

Antes haba Redes y Jerrquicos


Microsoft: Access, Visual Fox, SQL
Oracle: Oracle
Progress: Progress
Bases de datos de software Libre: Mysql
(Sun Microsystems)

Visual Fox Pro


De la empresa Microsoft: Access, Visual
Fox y SQL. Competencia: Oracle y
Progress
Es una base de datos relacional que
permite el almacenamiento de datos con
el objetivo que se pueden procesar para
generar informacin para la toma de
decisiones

Sistema de Informacin
Proceso
Entrada

Salida

Retroalimentacin

Extenciones
archivos en Visual Fox
Proyectos: *.pjt y pjx: Un proyecto puede
contener varias bases de datos
Bases de Datos: *.dbc : Una base de
datos puede contener varias tablas
Tabla: *.dbf : Una tabla puede contener
varios campos (variables)
Programa: *.prg : Contiene la codificacin
de un programa

Control de los Archivos


Crear una carpeta, en la raz de su
memoria USB, con un solo nombre de pila
y sin espacios, ejemplo juan.
Dentro de esta carpeta, crear las
siguientes carpetas
proyectos, bases de datos, tablas,
programas, informes, formularios,
consultas.

Crear un Proyecto (*.pjx)


Despus una base de datos (*.dbc)
Luego las tablas (*.dbf) (parecido a excel).
Aqu se les da nombre a las columnas
que se les llama campos (variables).
Acepta letras, nmeros, guin bajo y no
acepta espacios en blanco. Adems el
primer carcter debe ser una letra.
Finalmente, hacer el programa

Creacin de un Proyecto

Menu ARCHIVO opcin NUEVO


Seleccionar PROYECTO
Dar click en botn NUEVO ARCHIVO
Dar nombre al proyecto y guardar en la
carpeta respectiva
Se abre ventana Administrador de
Proyectos

Creacin de una Base de Datos

Seleccionar la pestaa DATOS


Seleccionar DATABASES
Botn NUEVO
Botn NUEVA BASE DE DATOS
Dar nombre a la base de datos y guardar
en la carpeta respectiva
Se abre ventana Diseador de Bases de
Datos

Creacin de una Tabla (1 de 3)

Desde el administrador de Proyectos


Pestaa Datos
Ampliar databases
Ampliar la base de datos
Seleccionar Tablas
Botn Nuevo
Opcin Nueva tabla
Dar nombre a la tabla y guardar en la carpeta respectiva
Se abre el diseador de tablas
Pestaa de Campos, escribir su nombre, su tipo y
longitud

Creacin de una Tabla (2 de 3)


Desde el Diseador de Bases de Datos
Con la Barra de Herramientas
seleccionar Nueva Tabla
Opcin Nueva tabla
Dar nombre a la tabla y guardar en la
carpeta respectiva
Pestaa de Campos, escribir su nombre,
su tipo y longitud

Creacin de una Tabla (3 de 3)


Desde el Diseador de Bases de Datos
Click derecho en la parte gris para ver el
men auxiliar y seleccionar Nueva Tabla
Opcin Nueva tabla
Dar nombre a la tabla y guardar en la
carpeta respectiva
Pestaa de Campos, escribir su nombre,
su tipo y longitud

Tablas
La columnas en una tabla se llaman
Campos (variables)
La filas en una tabla se llaman Registros
Un registro puede tener varios campos

Instrucciones de Texto
USE abre una tabla (agregar direccin dnde se
encuentra)
Browse permite examinar la tabla
Append blank permite agregar un registro vaco
al final de la tabla
Replace permite insertar un dato dentro de un
campo. Tiene un elemento emisor y un receptor,
y ambos deben ser del mismo tipo de datos
Delete for Borra lgicamente un registro
Pack borra fsicamente los registros marcados
con baja lgica

Manipulando el apuntador
Go top manda el apuntador al primer
registro de la tabla
Go bottom manda el apuntador al ltimo
registro de la tabla
Skip Hace que el apuntador brinque al
siguiente registro de su posicin actual y
permite encontrar el final o el principio de
la tabla segn sea el caso
Go El apuntador va al registro deseado

Borrar registros de una tabla


Examinar la tabla
Seleccionar el o los registros a borrar
poniendo en color negro el indicador de
borrado lgico
Ir al men tabla y seleccionar la opcin
quitar registros eliminados, que permite
borrar fsicamente solamente los registros
marcados con borrado lgico

Ejemplo #1
Datos de entrada: Nmero de Estado,
Descripcin y poblacin en el ao 2000
Datos de Salida: Total de la Poblacin del
Pas

Ejemplo #2
Datos de entrada: Nmero de sucursal,
Descripcin, ventas de cada mes del ao
Datos de Salida: Venta anual de cada
sucursal y Total de la venta anual en todas
sus sucursales

Problema #1
Un maestro desea calcular el promedio final de
sus alumnos, en base a la calificacin de dos
exmenes.
Se suman las calificaciones y se divide entre
dos para obtener el promedio.
Datos de entrada: Matricula, Nombre, Apellidos
Paterno y Materno, calificacin del primer y
segundo examen
Datos de Salida: Matricula, Nombre, Apellidos
Paterno y Materno, y Promedio

Del problema #1
Base de Datos: ESCOLAR

Tabla: ESCUELA.DBF
Campos
Matricula_e
Nombre_e
Ap_paterno_e
Ap_materno_e
Cal_1_e
Cal_2_e

Tabla
PROMEDIO.DBF
Campos
Matricula_s
Nombre_s
Ap_paterno_s
Ap_materno_s
Promedio_s
Situacion_s

Instrucciones en el editor
Verdes: son comentarios. Se utiliza * al
inicio de la lnea o && a mediacin
Azules: Son instrucciones de visual fox,
no se pueden utilizar para otra cosa
Negras: Para variables o campos,
nombres de tablas, direccin de carpeta.
Etc.
Hacer diagrama de flujo en el pizarrn del
problema #1

Resolver Problemas
1.- Crear proyecto
2.- Crear Base de Datos
3.- Crear Tablas (con sus respectivos
campos; tipo de datos y longitud)
4.-Insertar datos a la tabla de entrada
5.-Hacer codificacin (programa)
6.-Correr el programa

Problema # 2
Datos de entrada: Nmero de empleado,
nombre, apellidos paterno y materno, horas
trabajadas y tarifa por hora
Datos de salida: Nmero de empleado,
nombre, apellidos paterno y materno, pago
bruto, IMSS, pago neto.
Pago bruto= horas trabajadas * tarifa por hora
IMSS= 4.8% del pago bruto
Pago Neto= pago bruto - IMSS

Problema # 3
Datos de entrada: Nmero de factura, nombre,
apellidos paterno y materno, importe de venta
Datos de salida: Nmero de factura, nombre,
apellidos paterno y materno, importe de venta,
porcentaje de descuento, importe a pagar.
Si el importe de venta excede de $1,000 se dar
un 3% de descuento; si es menor o igual a
$1,000 se dar un 2%
Descuento = importe de venta * porcentaje de
descuento
Importe a pagar = importe de venta - Descuento

Usar el Depurador
Existen tres tipos de errores
Sintaxis: Cuando se escribe mal una
instruccin
Ejecucin: Imputable a un impedimento
del programa
Lgicos: Se usa el depurador

Problema #4
Datos de entrada: Matricula, nombre, apellidos
paterno y materno, Nmero de crditos
Datos de salida: Matricula, nombre, apellidos
paterno y materno, Nmero de crditos y
colegiatura.
Si un estudiante toma 12 crditos o menos la
colegiatura es $150 mensuales por crdito ; si
toma ms de 12 crditos la colegiatura es de
$1,500 mensuales

Problema #5
Datos de entrada: Nmero de empleado,
nombre, apellidos paterno y materno, horas
trabajadas y tarifa por hora
Datos de salida: Nmero de empleado,
nombre, apellidos paterno y materno, y sueldo
semanal.
Sueldo semanal = horas normales * tarifa por hora +
horas extra * 3.5
Las horas extra son aqullas que pasan de 40

Problema #6
Datos de entrada: Nmero de empleado, nombre,
apellidos paterno y materno, cdigo, importe1 e
importe2
Datos de salida: Nmero de empleado, nombre,
apellidos paterno y materno, e importe de lo ganado.

Si cdigo=1 multiplique el importe1 por el


importe2 para obtener el importe de lo ganado
Si cdigo=2 el importe de lo ganado es igual al
importe1
Si cdigo=3 multiplique el importe1 por el
importe2 y agregue un 8% adicional para
obtener el importe de lo ganado

Problema #7
Una maestra midi la estatura de sus alumnos al
principio y al final del ao escolar, realice un programa
que permita calcular el porcentaje de crecimiento de
cada uno de ellos

Datos de entrada: Matricula, nombre, apellidos


paterno y materno, estatura inicial y final

Datos de salida: Matricula, nombre, apellidos


paterno y materno, estatura inicial y final, y porcentaje
de crecimiento.

Indexacin
Consiste en ordenar de manera ascendente o
descendente los registros de una tabla; ya sea
en orden alfabtico o numrico
Index on CAMPO tag ETIQUETA
Utilizar esta instruccin genera un archivo con
extensin CDX, con el nombre de la tabla
La ETIQUETA genera un ndice
Para indexar una tabla, se puede usar la
clusula ORDER con USE; ejemplo,
USE c:\danilo\nombre_tabla ORDER ETIQUETA

Corte de Control #1
Datos de entrada: Nmero de cuenta, nombre,
apellidos paterno y materno, e importe
Datos de salida: Nmero de cuenta, nombre,
apellidos paterno y materno, e importe total.
Los datos de entrada estn completamente
validados y clasificados en forma ascendente
por grupos de numero de cuenta, es decir, el
nmero de cuenta en la tabla de entrada puede
repetirse.

Corte de Control #2
Datos de entrada: Nmero de vendedor, nombre,
apellidos paterno y materno, e importe de venta
Datos de salida: Nmero de vendedor, nombre,
apellidos paterno y materno y sueldo.
Los datos de entrada estn completamente validados y
clasificados en forma ascendente por grupos de numero
de vendedor,es decir, el nmero de vendedor en la tabla
de entrada puede repetirse.
Si el importe de venta es menor a $1,000 la comisin es
del 5%; si es mayor o igual a $1,000 y menor que
$3,000 la comisin es del 7% y si es mayor o igual a
$3,000 la comisin es del 10%

Corte de Control #3
Datos de entrada: Nmero de factura,
Descripcin de Producto, cantidad y precio
unitario
Datos de salida: Nmero de factura y
Pago.
Los datos de entrada estn completamente
validados y clasificados en forma
ascendente por grupos de numero de
factura, , es decir, el nmero de factura en la
tabla de entrada puede repetirse.

Corte de Control #4
Datos de entrada: Matricula, nombre,
apellidos paterno y materno, grupo, saln,
hora, das y materia
Datos de salida: Segn se muestra en el
ejemplo
Los datos de entrada estn completamente
validados y clasificados en forma ascendente
por grupos de matricula, es decir, la matricula
en la tabla de entrada puede repetirse.

Informes
Son documentos administrativos
generados a partir de los datos
contenidos en una o ms tablas.
Un documento administrativo
generalmente tiene encabezado, lista de
detalle y pie de pgina.
Para los ejemplos que hemos realizado,
los informes son para las tablas de salida
Tienen extensin *.frx

Formularios
Es un ambiente amigable (interfaz) que
permite la insercin de datos a una tabla
Para los ejemplos que hemos realizado,
los formularios son para las tablas de
entrada
Los formularios elaborados grficamente
no tienen validacin de datos
Tienen extensin *.scx

Consultas
Permite seleccionar informacin
(registros) en base a algn criterio
Tienen extensin *.qpr

Mantener Actualizadas sus


Bases de Datos
ALTAS: Agregar nuevos registros a las
tablas
BAJAS: Borrar registros de las tablas
CAMBIOS: Hacer cambios en los campos
de los registros
CONSULTAS: Ver los registros que
cumplen con ciertos criterios

Bases de Datos Relacionales


Visual fox puede establecer relaciones entre
tablas de dos formas: permanentes y
Temporales
Las permanentes se hacen dentro del diseador
de Bases de Datos de manera grfica
Las Temporales se hacen dentro del cdigo de
un programa y usan la instruccin SET
RELATION
Para establecer relaciones las tablas deben
estar indexadas

Tipos de Relaciones
Para establecer relaciones primero deben
existir los ndices
De UNO a UNO
De UNO a MUCHOS
De MUCHOS a MUCHOS

Corte de control #5
Datos de entrada: Los datos estn contenidos en dos tablas
de entrada
Tabla de entrada #1: Nmero de cuenta, nombre, apellidos
paterno y materno,
Tabla de entrada #2: Nmero de cuenta, e importe
Datos de salida: Nmero de cuenta, nombre, apellidos
paterno y materno, e importe total.
Los datos de la tabla #1 estn completamente validados e
indexados en forma ascendente por numero de cuenta, que
es un ndice principal (no se puede repetir)
Los datos de la tabla #2 estn completamente validados y
clasificados en forma ascendente por grupos de numero de
cuenta, que es un ndice normal (se puede repetir)

Bsqueda de informacin
Hay dos tipos: Secuencial e Indexada
LOCATE: realiza una bsqueda
secuencial dentro de una tabla (la tabla
puede o no estar indexada)
SEEK: realiza una bsqueda indexada
dentro de una tabla, la cual debe estar
indexada

Condiciones para establecer


una relacin de uno a muchos
Ambas tablas deben estar abiertas
Ambas tablas deben estar indexadas
El campo por medio del cual de va
establecer la relacin debe llamarse igual
en ambas tablas
La tabla de muchos debe estar activa.

Corte de control #6
Datos de entrada: Los datos estn contenidos en dos tablas
de entrada
Tabla de entrada #1: Nmero de vendedor, nombre, apellidos
paterno y materno
Tabla de entrada #2: Nmero de vendedor, e importe de venta
Datos de salida: Nmero de vendedor, nombre, apellidos paterno y
materno, y sueldo

Los datos de la tabla #1 estn completamente validados e


indexados en forma ascendente por numero de vendedor, que
es un ndice principal (no se puede repetir)
Los datos de la tabla #2 estn completamente validados y
clasificados en forma ascendente por grupos de numero de
vendedor, que es un ndice normal (se puede repetir)

Si el importe de venta es menor a $1,000 la comisin es del 5%; si es


mayor o igual a $1,000 y menor que $3,000 la comisin es del 7% y si
es mayor o igual a $3,000 la comisin es del 10%

Corte de control #7
Datos de entrada: Los datos estn contenidos en dos tabla
de entrada
Tabla de entrada #1: Matricula, nombre, apellidos paterno y
materno
Tabla de entrada #2: Matricula, Grupo, Saln, Hora, das y
Materia
Datos de salida: Horario de Clase
Los datos de la tabla #1 estn completamente validados e
indexados en forma ascendente por Matricula, que es un
ndice principal (no se puede repetir)
Los datos de la tabla #2 estn completamente validados y
clasificados en forma ascendente por grupos de Matricula,
que es un ndice normal (se puede repetir)

Corte de control #8
Datos de entrada: Los datos estn contenidos en tres tabla de
entrada
Tabla de entrada #1: Nmero de Factura, nombre, apellidos
paterno y materno
Tabla de entrada #2: Nmero de Factura y Nmero de Servicio
Tabla de entrada #3: Nmero de Servicio, Descripcin y Costo
Datos de salida: FACTURA
Los datos de la tabla #1 estn completamente validados e
indexados en forma ascendente por Nmero de Factura, que
es un ndice principal (no se puede repetir)
Los datos de la tabla #2 estn completamente validados y
clasificados en forma ascendente por grupos de Nmero de
Factura, que es un ndice normal (se puede repetir); El nmero
de servicio es un ndice normal
Los datos de la tabla #3 estn completamente validados e
indexados en forma ascendente por Nmero de Servicio, que
es un ndice principal (no se puede repetir)

FACTURA del Corte8


AGENCIA FORD UNIVERSIDAD
Av. Universidad 1105
Numero de Factura: 119
Nombre Del Cliente: Arturo Soto

Num. Servicio
Descripcin
01 Afinacin
$650
03 Cambio de Aceite $160
05 Alineacin $190
Subtotal
$1,000
IVA $ 160
TOTAL
$1,160

Costo

Corte de control #9
Datos de entrada: Los datos estn contenidos en tres tabla de
entrada
Tabla de entrada #1: Nmero de Factura, nombre, apellidos paterno
y materno, del cliente
Tabla de entrada #2: Nmero de Factura, Nmero de Producto y
Cantidad
Tabla de entrada #3: Nmero de Producto, Descripcin y Precio
Unitario
Datos de salida: FACTURA
Los datos de la tabla #1 estn completamente validados e
indexados en forma ascendente por Nmero de Factura, que es un
ndice principal (no se puede repetir)
Los datos de la tabla #2 estn completamente validados y
clasificados en forma ascendente por grupos de Nmero de Factura,
que es un ndice normal (se puede repetir) y el nmero de producto
es un ndice normal
Los datos de la tabla #3 estn completamente validados e
indexados en forma ascendente por Nmero de Producto, que es un
ndice principal (no se puede repetir)

FACTURA del Corte9


Papelera ADOSA
Zaragoza 1013 Centro Monterrey, N.L.
Nmero de Factura: 523
Nombre del Cliente: Carmen Velez Aguirre

Num. Producto
01
02
03

Descripcin
Cantidad
PUNTILLAS
2
LIBRETA SCRIBE
3
APLIQUE FOX PRO 1

Precio Unitario
4.60
5.90
140
Subtotal
IVA
TOTAL

Pago
$ 9.20
$ 17.70
$140.00
$166.90
$ 25.03
$ 191.93

Corte de control #10


Datos de entrada: Los datos estn contenidos en tres tabla de
entrada
Tabla de entrada #1: Matricula, nombre, apellidos paterno y materno
Tabla de entrada #2: Matricula, Grupo, Saln, Hora, das y Folio de la
Materia
Tabla de entrada #3: Folio de la Materia y Descripcion
Datos de salida: Horario de Clase
Los datos de la tabla #1 estn completamente validados e indexados
en forma ascendente por Matricula, que es un ndice principal (no se
puede repetir)
Los datos de la tabla #2 estn completamente validados y
clasificados en forma ascendente por grupos de Matricula, que es un
ndice normal (se puede repetir), adems el folio es un ndice normal
Los datos de la tabla #3 estn completamente validados e indexados
en forma ascendente por Folio de Materia, que es un ndice principal
(no se puede repetir)

Interfaz
Es un ambiente amigable que permite a
los usuarios del sistema interactuar con el
mismo para generar la informacin
necesaria para la toma de decisiones
Esto se puede hacer con los formularios,
los informes, las consultas y las etiquetas
Los formularios permiten la insercin de
datos en una o varias tablas

Controles de un formulario
Etiqueta
Cajas de texto: manejan variables
carcter
Men desplegables:
Radio botn: Para escoger slo una
opcin
Casilla de verificacin: Se puede escoger
una o ms opciones

Formulario

Pestaa documentos
Seleccionar Formularios
Dar botn Nuevo
Seleccionar nuevo formulario
Dar botn derecho sobre el fondo gris
cuadriculado de diseador de formularios y
seleccionar entorno de datos
Agregar al entorno de datos la tabla deseada

Etiquetas
Abrir controles de formularios,
seleccionar el botn de etiqueta y
soltarlo en el cuadriculado del diseador
de formulario dentro de la forma
correspondiente
Cambiar la propiedad caption de la
pestaa diseo

Etiquetas
Propiedades pestaa diseo
caption (lo que quiero que se vea)
Propiedades pestaa otros name
(que empiece con lbl)

Cuadros de Texto
seleccionar el botn de cuadro de texto
de los controles de formularios y soltarlo
en el cuadriculado del diseador de
formulario dentro de la forma
correspondiente
Dentro de la pestaa datos de las
propiedades, escribir el campo o
variable que estar en el control, en la
propiedad control source

Cuadros de Texto
Propiedades pestaa otros name
(que empiece con txt)
Propiedades pestaa datos control
source (poner el campo que quiero que se
vea)

Botones de Comando
En el diseador de formulario seleccionar
botn de comando de los controles de
formularios y soltarlo en la forma
correspondiente (cuadrcula).
En la propiedad del botn, llamada Click
Event, agregar el cdigo que se ejecutar
cada vez que se pulse con el ratn

Botones de Comando
Propiedades pestaa diseo
caption (poner lo que quiero que se vea)
Propiedades pestaa otros name
(que empiece con btn)

Funciones
STR().- Convierte una variable numrica a
carcter
ALLTRIM().- Quita espacios en blanco a la
izquierda y derecha de una variable
carcter
Val().- Convierte una variable carcter a
numrica

Trabajo final

Clientes
Proveedores
Empleados
Articulos
Polizas y detalle
Factura y detalle
Orden de compra y
detalle

Materia Prima y
Proveedores por
materia prima
Nomina