le, ei, profesor ramón castro liceaga universidad latina (unila) vi.- archivos y bases de datos

26
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) VI.- ARCHIVOS Y BASES DE DATOS

Upload: lurdes-zarco

Post on 06-Feb-2015

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) VI.- ARCHIVOS Y BASES DE DATOS

LE, EI, Profesor Ramón Castro Liceaga

UNIVERSIDAD LATINA (UNILA)

VI.- ARCHIVOS Y BASES DE DATOS

Page 2: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) VI.- ARCHIVOS Y BASES DE DATOS

Que son los archivos :

-En informática, un archivo es un grupo de datos estructurados que son almacenados en algún medio y pueden ser usados por las aplicaciones.

Page 3: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) VI.- ARCHIVOS Y BASES DE DATOS

Organización de los archivos :

-La Organización de un Archivo es la colección de registros lógicos en el archivo y la percepción que tiene el programador acerca de la disposición lógica de los registros almacenados en el archivo. Por ejemplo : una organización secuencial.

Page 4: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) VI.- ARCHIVOS Y BASES DE DATOS

Organización de los archivos :

En general existen dos tipos de archivos: Archivos Secuenciales.- En este caso los datos se almacenan en forma consecutiva y no es posible leer (recuerdan que significa esta operación) ningun registro (recuerdan la nota de arriba) directmente, es decir para leer el registro n se deberá recorrer o accesar los n-1 registros anteriores.

Archivos Directos o Random.- Para este caso si se puede acceder o leer directamente un renglón n cualquiera.

Page 5: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) VI.- ARCHIVOS Y BASES DE DATOS

Operaciones fundamentales con archivos:

•ESCRIBIR O GRABAR: Operación mas elemental con un archivo, consiste en tomar un o unos datos en variables de cualquier tipo (escalar, mezcla de datos, arreglos, estructuras) y almacenarlas en un archivo de datos en disco.

•LEER: Operación consistente en sacar los datos del archivo en disco y mandarlos (Ver los datos) o cargar la variable respectiva

Page 6: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) VI.- ARCHIVOS Y BASES DE DATOS

Almacenamiento de archivos

Modo Texto: en este caso los datos son almacenados usando Ascii y por tanto son plenamente visibles usando cualquier editor.

Modo Binario: en este caso los datos son almacenados en notación hexadecimal y por tanto se ocupa un editor binario para reconocerlos, sin embargo un archivo binario es mas compacto que un archivo texto.

Page 7: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) VI.- ARCHIVOS Y BASES DE DATOS

Operaciones básicas con los archivos

1.- Creación de Archivo.- En este proceso se pretende solamente crear un archivo nuevo en disco con su nombre tipo y especialidad de almacenamiento de datos apropiado.

2.- Apertura de Archivos.- En este caso se pretende abrir un archivo ya existente en disco para procesarlo ya sea para cargar o grabar estructuras en sus registros o leer algun registro en especial para mandarlo a una variable de cualquier tipo.

3.-Cierre de archivos: Es la operación mas importante en cualquier programa que maneje archivos, o se cierra el archivo como ultima instrucción del pograma o se vera el anuncio ABORT,RETRY,FAIL.

4.-Altas en archivo.- En este proceso se captura una estructura en memoria con sus datos pertinentes y despues se graba la estructura al archivo en disco.

5.-Lectura de archivo.- En este proceso se abre el archivo, se manda el registro de disco a una estructura en memoria para su procesamiento.

Page 8: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) VI.- ARCHIVOS Y BASES DE DATOS

Operaciones básicas con los archivos6.- Consulta de archivos: En este proceso se pretende desplegar todos los registros del archivo en disco a la pantalla ya sea consola o mejor aún, a una pagina html

7.-Busqueda en archivos: Una de las operaciones mas comunes consiste en que el usuario pide toda la información de algun renglon en disco porporcionando la información de algun campo generalmente el campo clave de la estructura.

8.- Filtros.- En este proceso el usuario esta interesado en algun conjunto de renglones con caracteristicas comunes (condición), por ejemplo todos los alumnos de “sistemas” o todos los empleados que ganen mas de $500.00 pesos, o todos los clientes que sean de “tijuana”, etc

9.-Modificaciones de registros o archivos: Problema muy comun, donde los datos originales ya grabados se tienen que cambiar o actualizar, por ejemplo el nombre no era “juan” es “juana”, o la calificación no es 100 es 20, etc.

10.- Bajas de registros: tambien muy comun este proceso,por ejemplo el alumno ya egreso, el cliente huyo, etc. (baja fisica o baja logica)

Page 9: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) VI.- ARCHIVOS Y BASES DE DATOS

Tratamiento de archivos con Java

Las clases que usaremos para el tratamiento de archivos están ubicadas en el paquete java.io por lo que deben ser importadas.

Page 11: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) VI.- ARCHIVOS Y BASES DE DATOS

Practica : ARCH01

Hacer un programa en Java que crea un archivo con los siguientes datos: clave, nombre y edad.

Page 12: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) VI.- ARCHIVOS Y BASES DE DATOS

Practica : ARCH02

Hacer un programa en Java que lea un archivo con los siguientes datos: clave, nombre y edad.

Page 13: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) VI.- ARCHIVOS Y BASES DE DATOS

Interfáz JDBC

•JDBC (Java Database Connectivity), es un API que permite la ejecución de operaciones sobre bases de datos desde el lenguaje de programación Java independientemente del sistema de operación donde se ejecute o de la base de datos a la cual se accede utilizando el dialecto SQL del modelo de base de datos que se utilice.

Page 14: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) VI.- ARCHIVOS Y BASES DE DATOS

Elementos para la Conexión de Bases de Datos con Java• Base de Datos

– Forma de almacenamiento de información– Estructura y Datos– Modelo Relacional

• Gestor de Base de Datos (SMBD)– Aplicación para manipular bases de datos– Oracle, Access, MySQL, PostgreSQL...

• SQL – Structured Query Language– Lenguaje estándar para crear, examinar y manipular bases de

datos relacionales– Permite manipular bases de datos en diferentes sistemas que

soporten el estándar

Page 15: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) VI.- ARCHIVOS Y BASES DE DATOS

Modelo Relacional (Tablas)Campo, Atributo, Columna

Registro, Fila

Page 16: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) VI.- ARCHIVOS Y BASES DE DATOS

Modelo Relacional (Relaciones)Tabla

Relación

Clave

Page 17: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) VI.- ARCHIVOS Y BASES DE DATOS

Lenguaje a SQL• Recuperar información

SELECT [ALL | DISTINCT] <seleccion> FROM <tablas>

WHERE <condiciones de seleccion> [ORDER BY <columna> [ASC | DESC]

[,<columna> [ASC | DESC]]...]

• Almacenar informaciónINSERT INTO <nombre tabla>

[(<nombre columna> [,<nombre columna>]...)]

VALUES (<expresion> [,<expresion>]...)

• Eliminar datos

DELETE FROM <nombre tabla> WHERE <condicion busqueda>

• Actualizar datosUPDATE <nombre tabla>

SET <nombre columna> = ( <expresion> | NULL )

[, <nombre columna> = ( <expresion> | NULL )]... WHERE <condicion busqueda>

Page 18: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) VI.- ARCHIVOS Y BASES DE DATOS

Conectividad - ODBC• ODBC – Open DataBase Connectivity

– Interface de aplicaciones (API) para acceder a datos en sistemas gestores de bases de datos utilizando SQL

Aplicación Cliente

ODBC Driver Manager

ODBC Driver

ODBC Database

Data Source Name (DSN)

ODBC Driver

Page 19: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) VI.- ARCHIVOS Y BASES DE DATOS

Conectividad - JDBC• JDBC

– Marca registrada– Java DataBase Connectivity

• API de Java para ejecutar sentencias SQL• JDBC posibilita básicamente tres cosas:

– Establecer una conexión con una base de datos desde Java

– Enviar sentencias SQL a través de dicha conexión

– Procesar los resultados

Page 20: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) VI.- ARCHIVOS Y BASES DE DATOS

JDBC vs. ODBC• ¿Por qué no usar ODBC desde Java?

– Se puede usar ODBC desde Java– Puente JDBC-ODBC

• ¿Por qué se necesita JDBC?– ODBC no es apropiado para su uso directo

desde Java porque usa una interface en C– Una traducción de la ODBC API en C a una API

en Java no sería deseable– ODBC es duro de aprender– Una API en Java como JDBC es necesaria para

conseguir una solución “puramente Java”• JDBC API es una interface natural de Java

Page 21: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) VI.- ARCHIVOS Y BASES DE DATOS

Controladores (Drivers) JDBC

Page 22: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) VI.- ARCHIVOS Y BASES DE DATOS

Procedimiento para el JDBC • La JDBC 3.0 API comprende 2 paquetes:

– java.sql– javax.sql (añade capacidades de la parte servidor)

• los pasos para la conexión con BD son:– Registrar un driver:

• Clase DriverManager– Establecer una conexión con la base de datos:

• Interface Connection– Enviar sentencias SQL a la base de datos:

• Interface Statement– Procesar los resultados de las consultas

• Interface ResultSet

Page 23: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) VI.- ARCHIVOS Y BASES DE DATOS

Ejemplo de aplicación de JDBC en Java

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

String url = ″jdbc:odbc:empresa″;Connection con = DriverManager.getConnection(url);

Statement stmt = con.createStatement();

ResultSet rs = stmt.executeQuery(″SELECT a, b, c FROM Table2″);

While(rs.next()){ int i = rs.getInt(a); String s = rs.getString(b); Float f = rs.getFloat(c); System.out.println(ROW= + i + + s + + f);}

Page 24: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) VI.- ARCHIVOS Y BASES DE DATOS

Diagrama para JDBC

subclassessubclasses

Connection

CallableStatementPreparedStatementStatement

ResultSet

Data Types

createStatement prepareStatement prepareCall

executeQuery

executeQuery executeQuery

getXXX getMoreResultsgetResultSet

Page 25: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) VI.- ARCHIVOS Y BASES DE DATOS

Practica : jbd00

Hacer un programa en Java que cree la estructura de la Base de Datos empresa utilizando comandos SQL.

Page 26: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) VI.- ARCHIVOS Y BASES DE DATOS

Objetos: EmpleadosNominaCat_ConceptosCat_PuestosMovimientosAsistencia

CREATE TABLE Empleados(id_empleado int not null, a_paterno varchar(35), a_materno varchar(35), nombre varchar(35), domicilio varchar(75), colonia varchar(50), codpos numeric, telefono varchar(15), id_puesto int, sueldo numeric);

CREATE TABLE Nomina(id_empleado int not null, fecha_corte date, percepciones numeric, deducciones numeric);

CREATE TABLE Cat_Conceptos(id_concepto int not null, descripcion varchar(100), tipo_mov varchar(1));

CREATE TABLE Cat_puestos(id_puesto int not null, descripcion varchar(75), sueldo_base numeric, suedo_tope numeric);

CREATE TABLE Movimientos(id_empleado int not null, id_concepto int, importe numeric);

CREATE TABLE Asistencia(id_empleado int not null, fecha date, hora_llegada time, hora_salida time);

FK

PK

PK

PK

PK

PKFK

PK

Modelo objeto-relacional de la Base de Datos: empresa