Escuela
Profesional De Ingeniería De Sistemas Y Telemática
INTEGRANTES:
Marleni
CHUQUIZUTA RAMOS
Yoseily
ALTAMIRANO GUEVARA
DOCENTE:
Marco Aurelio PORRO CHULLI
I.
JAVA CON BASE DE DATOS:
1.
Contenido
JAVA:
Java es un lenguaje de programación de propósito general, concurrente, orientado a objetos que
se popularizó a partir del lanzamiento de su primera versión comercial de
amplia difusión, la JDK 1.0 en 1996. Fue diseñado específicamente
para tener tan pocas dependencias de implementación como fuera posible. Su
intención es permitir que los desarrolladores de aplicaciones escriban el programa una vez y lo
ejecuten en cualquier dispositivo (conocido en inglés como WORA,
o "write once, run anywhere"),
lo que quiere decir que el código que es ejecutado en una
plataforma no tiene que ser recompilado para correr en otra. Java es, a partir de 2012, uno de
los lenguajes de programación más populares en uso, particularmente para
aplicaciones de cliente-servidor de web, con unos 10 millones
de usuarios reportados. Actualmente
es uno de los lenguajes más usados para la programación en todo el mundo.
BASE DE DATOS:
Se le llama base de datos a los
bancos de información que contienen datos relativos a diversas temáticas y
categorizados de distinta manera, pero que comparten entre sí algún tipo de
vínculo o relación que busca ordenarlos y clasificarlos en conjunto.
Una base de datos o banco
de datos es un conjunto de datos pertenecientes a un mismo contexto y
almacenados sistemáticamente para su posterior uso. En este sentido; una
biblioteca puede considerarse una base de datos compuesta en su mayoría por
documentos y textos impresos en papel e indexados para su consulta.
Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de
datos están en formato digital, siendo este un componente electrónico, por
tanto se ha desarrollado y se ofrece un amplio rango de soluciones al problema
del almacenamiento de datos.
Existen programas denominados sistemas
gestores de bases de datos, abreviado SGBD (del inglés database
management system o DBMS), que permiten almacenar y posteriormente
acceder a los datos de forma rápida y estructurada. Las propiedades de estos
DBMS, así como su utilización y administración, se estudian dentro del ámbito
de la informática.
Las aplicaciones más usuales son para la gestión de
empresas e instituciones públicas; También son ampliamente utilizadas en
entornos científicos con el objeto de almacenar la información experimental.
Aunque las bases de datos pueden contener muchos
tipos de datos, algunos de ellos se encuentran mutuamente protegidos por las
leyes de varios países. Por ejemplo en España, los datos personales se
encuentran protegidos por la Ley Orgánica de Protección de Datos de Carácter
Personal (LOPD), en México por la Ley Federal de Transparencia y Acceso a la
Información Pública Gubernamental y en Argentina la Ley de Protección de Datos
Personales.
JAVA CON BASE DE DATOS
Java es un lenguaje de programación de propósito
general, concurrente, orientado a objetos combinado con un conjunto de datos
pertenecientes a un mismo contexto y almacenados sistemáticamente para su
posterior uso
OBJETO CONNECTION
Un objeto Connection se utiliza para representar enlaces de
comunicación entre sistemas CICS( Customer
Information Control System). Con el fin de direccionar el trabajo de un sistema CICS a otro,
debe definirse un par de objetos Connection. Cada mitad del par Connection se
asocia con un objeto SystemClone, que es el sistema CICS a partir del cual se
define la conexión. Las dos conexiones de cada mitad deben estar relacionadas
entre sí de modo que WLM de CICS pueda detectar que ambas partes de la relación
están presentes y son correctas. Una relación se define a partir de la conexión
de una parte del par con la otra parte. No es necesario codificar la relación
inversa, ya que WLM de CICS la detecta. Con el fin de posibilitar el
direccionamiento a través de un objeto Connection, ambas mitades de la conexión
deben definirse como activas (en servicio). Es posible establecer el atributo
InService para una mitad de la conexión en cero. En tal caso, el trabajo no se
direcciona a la región porque el programa de utilidad WLM (workload management ) de CICS no ve que exista una
vía de acceso de comunicación segura a la misma.
Las entradas creadas para los objetos Connection del archivo de
configuración de WLM de CICS no reemplazan ni afectan a las Definiciones de
comunicaciones de CICS. El programa de utilidad de WLM de CICS utiliza las
entradas del objeto Connection para crear el modelo de objeto interno.
Atributos de los
objetos Connection
Los objetos Connection tienen valores de atributo para describir
el coste de las comunicaciones mediante el objeto Connection relativas al coste
de utilización de otros objetos Connection en la configuración. Asimismo,
dichos valores indican si el objeto Connection se encuentra en servicio o no.
Los atributos y
valores predeterminados de un objeto Connection.
Valor predeterminado
|
Descripción
|
|
load
|
0,1
|
El factor de ponderación se aplica al objeto que utiliza esta conexión.
El incremento de este número desviará el algoritmo WLM del sistema conectado.
|
inService
|
0
|
Se habilita un conmutador para especificar si este objeto Connection se
encuentra actualmente habilitado (1) o no (0). Tenga en cuenta que ambos
objetos Connection deben estar en servicio (inService) para posibilitar el
direccionamiento entre ambos sistemas.
|
Relaciones de los
objetos Connection
Los objetos Connection tienen una relación
complementaria con los demás objetos Connection.
Contenido de los
objetos Connection
Los objetos Connection no contienen objetos.
OBJETOS STATEMENT
El objeto Statement (sentencia) sirve para
procesar una sentencia SQL estática y obtener los resultados producidos por
ella. Solo puede haber un ResultSet abierto para cada objeto Statement en un
momento dado. Todos los métodos statement que procesan una sentencia SQL
cierran implícitamente el ResultSet actual de una sentencia si existe uno
abierto.
OBJETOS
RESULTSET
En la lista siguiente se resumen las propiedades del
objeto ResultSet:
Nombre de propiedad
Descripción
Establece o
devuelve el límite actual de longitud de datos obtenido de un campo de texto de
varias líneas. El límite se aplica a los campos de serie cortos así como
también a los campos de texto de varias líneas.
Establece o
devuelve el límite inicial sobre el número de registros que se incluirá en el
conjunto de resultados cuando se ejecuta una consulta.
Devuelve el
recuento de registros (número de filas) del conjunto de resultados.
Crear sentencias
Los objetos Statement se crean a partir de
objetos Connection con el método createStatement. Por ejemplo, suponiendo que
ya exista un objeto Connection denominado conn, la siguiente línea de código
crea un objeto Statement para pasar sentencias SQL a la base de datos:
Statement stmt = conn.createStatement();
Especificar características de ResultSet
Las características de los ResultSets están
asociadas con la sentencia que finalmente los crea. El método
Connection.createStatement permite especificar estas características de
ResultSet. A continuación se ofrecen algunos ejemplos de llamadas válidas al
método createStatement:
Ejemplo: método createStatement
// El siguiente código es nuevo en JDBC 2.0
Statement stmt2 = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATEABLE);
// El siguiente código es nuevo en JDBC 3.0
Statement stmt3 = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY, ResultSet.HOLD_CURSOR_OVER_COMMIT);
Procesar sentencias
El proceso de sentencias SQL con un objeto
Statement se realiza mediante los métodos executeQuery(), executeUpdate() y
execute().
Devolver resultados desde consultas SQL
Si debe procesarse una sentencia de consulta
SQL que devuelva un objeto ResultSet, debe utilizarse el método executeQuery().
Puede consultar el programa de ejemplo que utiliza el método executeQuery de un objeto Statement para
obtener un ResultSet.
Nota: si una sentencia SQL que se procesa con el método executeQuery no
devuelve un ResultSet, se lanza una SQLException.
Devolver cuentas de actualización para sentencias SQL
Si se sabe que el código SQL es una sentencia
de lenguaje de definición de datos (DDL) o una sentencia de lenguaje de
manipulación de datos (DML) que devuelve una cuenta de actualización, debe
utilizarse el método executeUpdate(). El programa StatementExample utiliza el método executeUpdate de un objeto Statement.
Procesar sentencias SQL en las
que el valor de retorno esperado es desconocido
Si no se sabe cuál es el tipo de sentencia SQL,
debe utilizarse el método execute. Una vez que se ha procesado este método, el
controlador JDBC puede indicar a la aplicación qué tipos de resultados ha
generado la sentencia SQL mediante las llamadas de API. El método execute
devuelve true si el resultado es un ResultSet como mínimo, y false si el valor
de retorno es una cuenta de actualización. Con esta información, las
aplicaciones pueden utilizar los métodos de sentencia getUpdateCount o
getResultSet para recuperar el valor de retorno del proceso de la sentencia
SQL. El programa StatementExecute utiliza el método execute en un objeto Statement.
Este programa espera que se pase un parámetro que sea una sentencia SQL. Sin
mirar el texto de la sentencia SQL que el usuario proporciona, el programa
procesa la sentencia y determina la información relativa a lo que se ha
procesado.
Nota: la llamada al método getUpdateCount cuando el resultado es un
ResultSet devuelve -1. La llamada al método getResultSet cuando el resultado es
una cuenta de actualización devuelve nulo.
El
método cancel
Los métodos del controlador JDBC nativo están
sincronizados para evitar que dos hebras que se ejecutan en el mismo objeto
provoquen daños en el mismo. Una excepción a esta norma la representa el método
cancel. Una hebra puede utilizar el método cancel para detener una sentencia
SQL de larga ejecución en otra hebra que opera sobre el mismo objeto. El
controlador JDBC nativo no puede obligar a la hebra a detenerse; solo puede
solicitarle que detenga la tarea que estaba realizando. Por esta razón, una
sentencia cancelada tarda tiempo en detenerse. El método cancel puede utilizarse
para detener consultas SQL incontroladas en el sistema.
Una vez instalado MySQL, descargado el driver para
java de MySQL y con una base de datos y una tabla creada en MySQL, vamos a
hacer un pequeño programa en java que nos permita conectarnos a la base de
datos MySQL y consultar la tabla que hemos creado.
Instalar el Driver
En nuestro programa java, todos los import que
necesitamos para manejar la base de datos están en java.sql.*. Puesto que casi
todas los métodos relativos a base de datos pueden lanzar la excepción
SQLException, meteremos todo nuestro programa en un try-catch.
Además, necesitamos la clase
org.gjt.mm.mysql.Driver que viene con el driver de MySQL. Por ello, en nuestro
CLASSPATH o incluido en nuestro proyecto con nuestro IDE favorito, debemos
incluir el jar que contiene el driver MySQL
(mysql-connector-java-3.1.7-bin.jar) o la versión más moderna y compatible con
la versión de nuestro servidor de MySQL.
Lo primero que tenemos que hacer es asegurarnos que
el Driver se inicializa y se registra, para ello:
try
{
Class.forName("com.mysql.jdbc.Driver");
} catch (Exception e)
{
e.printStackTrace();
}
Establecer la conexión con la base de datos
Debemos tener el servidor de MySQL arrancado. Si
hemos instalado y dejado esa opción como estaba, cada vez que encendamos el
ordenador, se arrancará el servidor deMySQL, por lo que no tenemos que
preocuparnos por ello.
El servidor de MySQL abre por defecto el puerto
3306 para aceptar conexiones de posibles clientes, de programas que quieran
conectarse y acceder a la base de datos. Nuestro programa java, si quiere
consultar la tabla de base de datos que hemos creado, deberá conectarse a este
servidor.
Para establecer la conexion, la clase DriverManager
tiene métodos getConnection(). Usaremos uno de ellos.
// Establecemos la conexión con la base de datos.
Connection conexion =
DriverManager.getConnection
("jdbc:mysql://localhost/prueba","root",
"la_clave");
El primer parámetro del método getConnection() es
un String que contiene la url de la base de datos:
• jdb:mysql
porque estamos utilizando un driver jdbc para MySQL, que es el que nos hemos
bajado.
• localhost
porque el servidor de base de datos, en mi caso, está en el mismo ordenador en
el que voy a correr el prorama java. Aquí puede ponerse una IP o un nombre de
máquina que esté en la red.
• prueba
es el nombre de la base de datos que he creado dentro de mysql. Se debe poner
la base de datos dentro del servidor de MySQL a la que se quiere uno conectar.
Es el nombre que pusimos cuando desde SQL hicimos create database prueba;
Los otros dos parámetros son dos String.
Corresponden al nombre de usuario y password para acceder a la base de datos.
Al instalar MySQL se crea el usuario root y se pide la password para él. Como
no hemos creado otros usuarios, usaremos este mismo.
Si todo va bien, en conexion tendremos nuestra
conexión a la base de datos.
Esta conexión es en realidad un socket entre java y
la base de datos, aunque para nosotros es transparente. Lo que sí es
importante, es saber que si varios hilos comparten esta conexión, deben usarla
sincronizadamente. Si no se hace así, los mensajes que van por el socket se
pueden entremezclar y los hilos pueden leer cachos de mensaje destinados al
otro hilo. Otra opción es que cada hilo cree su propia conexión. Finalmente, la
mejor opción de todas si nuestra aplicación va a tener varios hilos intentando
acceder a la base de datos, es usar un Pool de conexiones.
Realizar una consulta
Para realizar cualquier acción sobre la base de
datos (consulta, insertar nuevos registros, modificar los existentes o borrar),
necesitamos una clase Statement. Para obtenerla, se le pide dicha clase a la
conexión. La forma de hacerlo, para una consulta, es la siguiente:
// Preparamos la consulta
Statement s =
conexion.createStatement();
ResultSet rs = s.executeQuery
("select * from persona");
La parte de createStatement() no tiene ningú
secreto, salvo que puede lanzar una excepción que hay que capturar.
El Statement obtenido tiene un método
executeQuery(). Este método sirve para realizar una consulta a base de datos.
• El
parámetro que se pasa en un String en el que está la consulta en lenguaje SQL.
No hace falta terminarlo con punto y coma. En nuestro caso "select * from
persona". siendo persona el nombre que hemos puesto a la tabla en la base
de datos.
• El
resultado nos lo devuelve el método como un ResultSet. Este ResultSet no es más
que una clase java similar a una lista en la que está el resultado de la
consulta. Cada elemento de la lista es uno de los registros de la base de
datos. En realidad, ResulSet no contiene todos los datos, sino que los va
consiguiendo de la base de datos según se van pidiendo. Por ello, el método
executeQuery() puede tardar poco, pero el recorrer los elementos del ResultSet
no es tan rápido. De esta forma se evita que una consulta que dé muchos
resultados tarde mucho tiempo y llene la memoria del programa java.
Leer los resultados
El ResultSet contiene dentro los registros leidos
de la base de datos. Inicialmente, tal cual nos lo devuelve el
Statement.executeQuery(), tiene internamente un "puntero" apuntando
justo delante del primer registro. El método next() del ResultSet hace que
dicho puntero avance al siguiente registro, en este caso, al primero. Si lo
consigue, el método next() devuelve true. Si no lo consigue (no hay siguiente
registro que leer), devuelve false.
Por tanto, una forma de ir leyendo los registros en
meternos en un while.
// Recorremos el resultado, mientras haya registros
para leer, y escribimos el resultado en pantalla.
while (rs.next())
{
System.out.println (rs.getInt (1) + "
" + rs.getString (2)+ " " + rs.getDate(3));
}
Una vez que el "puntero" está apuntando a
un registro, los métodos getInt(), getString(), getDate(), etc nos van
devolviendo los valores de los campos de dicho registro. Podemos pasar a estos
métodos un índice (que comienza en 1) para indicar qué columna de la tabla de
base de datos deseamos. También podemos usar un String con el nombre de la columna
(tal cual está en la tabla de base de datos).
Es responsabilidad nuestra saber qué tipo de dato
hay en cada columna, aunque si nos equivocamos y RecordSet es capaz de hacer la
conversión, la hará por nosotros. Por ejemplo, en cualquiera de los campos
anteriores podemos pedir un getString() y nos devolveran los números como
String y la fecha como String.
También podemos usar getObject(), y el RecordSet
nos devolverá el Object más adecuado para el tipo de campo que pedimos.
Cerrar la conexión
Una vez que terminamos de usar la conexión, se
debería cerrar, o bien terminar el programa, con lo que se cierra
automáticamente.
// Cerramos la conexion a la base de datos.
conexion.close();
RESUMEN:
I.
JAVA CON BASE DE DATOS:
Definición:
JAVA CON BASE DE DATOS
Java es un lenguaje de programación de propósito
general, concurrente, orientado a objetos combinado con un conjunto de datos
pertenecientes a un mismo contexto y almacenados sistemáticamente para su
posterior uso
OBJETOS CONECTION, STATEMENT Y RESULTSET
OBJETO CONNECTION
Un objeto Connection se utiliza para representar enlaces de
comunicación entre sistemas CICS( Customer Information Control System). Con el fin de direccionar el trabajo de un sistema CICS a otro,
debe definirse un par de objetos Connection. Cada mitad del par Connection se
asocia con un objeto SystemClone, que es el sistema CICS a partir del cual se
define la conexión
OBJETOS STATEMENT
El objeto Statement (sentencia) sirve para procesar una sentencia
SQL estática y obtener los resultados producidos por ella.
RESULTSET
Las características de los ResultSets están
asociadas con la sentencia que finalmente los crea. El método
Connection.createStatement permite especificar estas características de
ResultSet.
SUMMARY:
I. JAVA WITH DATABASE:
Definition:
DATABASE
WITH JAVA
Java is a
programming language generally concurrent purpose, object oriented combined
with a set of data belonging to the same context and systematically stored for
later use
OBJECTS CONECTION, STATEMENT AND RESULTSET
OBJECT CONNECTION
A Connection object
is used to represent communication links between CICS systems (Customer
Information Control System). In order to direct the work of a CICS to another
system, you must define a pair of Connection objects. Each half of the couple
Connection is associated with a SystemClone object, which is the CICS system
from which the connection is defined
OBJECTS STATEMENT
The Statement
object (judgment) is used to process a static SQL statement and obtaining the
results produced by it.
RESULTSET
The characteristics
of the ResultSets are associated with the sentence that finally created. The
Connection.createStatement method allows you to specify these features
ResultSet.
RECOMENDACIONES:
Si una
base de datos es demasiado grande, se debe hacer un rediseño de base de datos
centralizada, para que esta sea una base de datos distribuida ya que se pueden
almacenar los datos en localidades donde son utilizados con mayor frecuencia,
de tal manera que la mayor parte de las operaciones sean sólo locales lo cual
reduce el tráfico en la red.
CONCLUSIONES:
Java
con base de datos es muy importante ya que con la combinación del programa java
con la base de datos se puede almacenar datos que se requiere de mucho cuidado
APRECIACION DEL EQUIPO:
Nosotras
como equipo, dirigimos nuestra apreciación respecto a toda la investigación que
realizamos respecto al tema “Java con Base de Datos”, Podemos decir que, Java
es uno de los lenguajes de programación más utilizado actualmente. Además de
ser un lenguaje de programación muy bueno para hacer conexiones con diferentes
tipos de Base de Datos, Donde se afirma que
esas Bases de Datos al final servirán para almacenar diferente tipo de información de las empresas que las
requieran; ya sea
empresas públicas, privadas, institucionales, etc.
GLOSARIO DE TERMINOS:
ü Parámetros: datos que se consideran como imprescindibles y
orientativos para lograr evaluar o valorar una determinada situación.
ü Objeto: entidad existente en la
memoria del ordenador que tiene unas propiedades (atributos o datos sobre
sí mismo almacenados por el objeto) y unas operaciones disponibles específicas
(métodos).
LINKOGRAFIA:

Bien elaborada la PRESENTACION. Defina claramente las CONCLUSIONES y RECOMENDACIONES. Detalle la APRECIACION con sus propias palabras. Trabajo bien desarrollado y explicado. Proponga un foro de discusión sobre el tema.Gracias por su investigación.Saludos
ResponderEliminar