viernes, 23 de septiembre de 2016

JAVA CON BASE DE DATOS

  1.     “AÑO DE CONSOLIDACIÓN DEL MAR DE GRAU”




ESCUELA PROFESIONAL DE:
INGENIERÍA DE SISTEMA Y TELEMÁTICA

·         ·         JAVA CON BASE DE DATOS

DOCENTE: MARCO AURELIO PORRO CHULLI.

ASIGNATURA: DESARROLLO DE SOFTWARE

NOMBRE DEL GRUPO: “JAVA”

INTEGRANTES:

PÉREZ SAUCEDO YORDIN ALBERTO
·         MALDONADO IDROGO BETZABETH YAMELI    

CICLO: V

GRUPO: “B”

AÑO: 2016

                         BAGUA GRANDE-UTCUBAMBA


l.      TEMA: JAVA CON BASE DE DATOS
     1.    Contenido
    - Definición
Java Database Connectivity, más conocida por sus siglas JDBC, es una API que permite la ejecución de operaciones sobre bases de datos desde el lenguaje de programación Java, independientemente del sistema operativo 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

    - Objetos Connection, Statement y ResultSet
Una vez obtenida la conexión a la BD, podemos utilizarla para realizar consultas, inserción y/o borrado de datos de dicha BD. Todas estas operaciones se realizarán mediante lenguaje SQL. La clase Statement es la que permite realizar todas estas operaciones. La instanciación de esta clase se realiza haciendo uso del siguiente método que proporciona el objeto Connection:
1
 Statement stmt = con.createStatement();
Podemos dividir las sentencias SQL en dos grupos: las que actualizan la BD y las que únicamente la consultan. En las siguientes secciones veremos cómo podemos realizar estas dos acciones.
Para obtener datos almacenados en la BD podemos realizar una consulta SQL (query). Podemos ejecutar la consulta utilizando el objeto Statement, pero ahora haciendo uso del método executeQuery al que le pasaremos una cadena con la consulta SQL. Los datos resultantes nos los devolverá como un objetoResultSet.
    
      1 ResultSet result = stmt.executeQuery(query);
El objeto ResultSet dispone de un cursor que estará situado en el registro que podemos consultar en cada momento. Este cursor en un principio estará situado en una posición anterior al primer registro de la tabla. Podemos mover el cursor al siguiente registro con el método next del ResultSet. La llamada a este método nos devolverá true mientras pueda pasar al siguiente registro, y false en el caso de que ya estuviéramos en el último registro de la tabla.

El constructor de la clase ConsultaSQL recibe como parámetro un objeto de tipo Connection y otro de String; éste contendrá una sentencia SELECT; Statement es una interfaz que puede ejecutar sentencias en lenguaje SQL a través de una conexión; su método executeQuery()recibe la cadena SELECT y devuelve un objeto de tipo ResultSet, que contiene una imagen de los datos devueltos por el servidor MySQL en formato de tabla, es decir, filas y columnas; además los ResultSet tienen un apuntador o cursor que sirve para recorrer los registros de la tabla; el recorrido se hace con métodos como next(). No obstante, no toda la información necesaria está en los datos que ya se obtuvieron (por ejemplo, falta el nombre de las columnas); para obtener dicha información se usan los objetos del-tipo ResultSetMetaData.
En la clase que acabamos de escribir, hay dos métodos: getDatosDevueltos() ygetNombresColumnas() que darán la información solicitada con la consulta en dos arreglos, uno contiene la tabla y el otro la lista de los nombres de los atributos de dicha tabla. Con ellos se podrán mostrar los datos. 

    - Ejemplos
En el siguiente ejemplo, el código muestra establece varias propiedades de conexión en la URL de conexión y, a continuación, llama al método getConnection de la clase DriverManager para devolver un objeto SQLServerConnection.
Después, el código muestra usa el método createStatement del objeto-SQLServerConnection para crear un objeto SQLServerStatement y, a continuación, se llama al método executeQuery para ejecutar la instrucción SQL.

Finalmente, el ejemplo usa el objeto SQLServerResultSet devuelto por el método executeQuery para procesar una iteración mediante los resultados devueltos por la instrucción SQL.

import java.sql.*; 
 
public class connectURL { 
 
   public static void main(String[] args) { 
 
      // Create a variable for the connection string. 
      String connectionUrl = "jdbc:sqlserver://localhost:1433;" + 
         "databaseName=AdventureWorks;user=UserName;password=*****"; 
 
      // Declare the JDBC objects. 
      Connection con = null; 
      Statement stmt = null; 
      ResultSet rs = null; 
 
      try { 
         // Establish the connection. 
         Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
         con = DriverManager.getConnection(connectionUrl); 
 
         // Create and execute an SQL statement that returns some data. 
         String SQL = "SELECT TOP 10 * FROM Person.Contact"; 
         stmt = con.createStatement(); 
         rs = stmt.executeQuery(SQL); 
 
         // Iterate through the data in the result set and display it. 
         while (rs.next()) { 
            System.out.println(rs.getString(4) + " " + rs.getString(6)); 
         } 
      } 
 
      // Handle any errors that may have occurred. 
      catch (Exception e) { 
         e.printStackTrace(); 
     
      finally { 
         if (rs != null) try { rs.close(); } catch(Exception e) {} 
         if (stmt != null) try { stmt.close(); } catch(Exception e) {} 
         if (con != null) try { con.close(); } catch(Exception e) {} 
     
   } 
}

       2.    Resumen:
    · Definición: Es una API que permite la ejecución de operaciones sobre bases de datos desde el lenguaje de programación Java.

      ·  Objetos Connection, Statement y ResultSet:
Statement stmt = con.createStatement();
Podemos dividir las sentencias SQL en dos grupos: las que actualizan la BD y las que únicamente la consultan
ResultSet result = stmt.executeQuery(query);
Dispone de un cursor que estará situado en el registro que podemos consultar en cada momento. Este cursor en un principio estará situado en una posición anterior al primer registro de la tabla

      3.    Summary

  · Definition: It is an API that allows the execution of operations on databases from      the Java programming language.

  ·  Objects Connection, Statement and ResultSet:
     Statement stmt = con.createStatement ();
  We can divide the SQL statements into two groups: those that update the  database   and that only consult
     ResultSet result = stmt.executeQuery (query);
  It has a cursor to be located on record that we can consult at all times. This cursor     initially will be located in a position above the first record in the table

     4.    Recomendaciones
    -En general, no almacenes imágenes en la base de datos. Sólo referencias a la ruta en la que se encuentran y metadatos para identificarlas. No nos engañemos, las bases de datos crecen y crecen y las imágenes  siguen aumentando en tamaño a su propio ritmo. Si mantienes sólo las referencias al almacén de imágenes,  la base de datos estará en forma para  devolverte los procesos mas rápidamente.
 -Usar al máximo sentencias de base de datos precompiladas a través de la clase PreparedStatement cuando ejecute sentencias SQL. Esto evita que la base de datos compile varias veces la misma consulta y agiliza le ejecución de la sentencia.
 -Evite el uso de colecciones sincronizadas como Hashtable o Vector, estas implementaciones tienen todos sus métodos sincronizados lo que implica que generan bloqueos incluso para las operaciones de lectura. En vez de ello utilice implementaciones más sofisticadas como ConcurrentHashMap o CopyOnWriteArrayList que sólo bloquean las operaciones que modifiquen el contenido del objeto.

    5.    Conclusiones:

   -Al culminar este trabajo, pude constatar que, la implementación de bases de datos distribuidas resulta importante ya que se puede distribuir y replicar en diferentes sitios cuando ciertos sitios locales tienen capacidades de almacenamiento y procesamiento limitadas, pero tienen la ventaja de poder integrarse a otros sitios remotos con mejores recursos por medio de una red de comunicación.
  -Como resultado, se ha desarrollado la API javagroups.sql, un nuevo conjunto de clases e interfaces que ofrecen al usuario la posibilidad de convertir una aplicación centralizada de acceso a bases de datos en una aplicación distribuida y tolerante a fallos. Dado que esta nueva librería mantiene la interfaz ofrecida por la API JDBC (java.sql), el usuario podrá incorporar la nueva funcionalidad a sus aplicaciones sin necesidad de realizar grandes modificaciones al código
   -A medida que se fue avanzando el desarrollo del trabajo se puede dar una visión global de las características que conlleva el diseño de una base de datos distribuida.
  -En este documento indicamos la localización del dato, la replicación y tipos fragmentación, con el fin de dar al lector interesado en las bases distribuidas, un punto de referencia de los temas actuales.

      6.    Apreciación del Equipo
         La conexión Java a una base de datos nos permite aprender el entorno del elemento           JDBC y conocer nuevas formas de acceder a una base de datos.  

    7.    Glosario de Términos
     API: Una API (siglas de 'Application Programming Interface') es un conjunto de reglas (código) y especificaciones que las aplicaciones pueden seguir para comunicarse entre ellas: sirviendo de interfaz entre programas diferentes de la misma manera en que la interfaz de usuario facilita la interacción humano-software.

SQL: (Structured Query Language) es un lenguaje de programación estándar e interactivo para la obtención de información desde una base de datos y para actualizarla. Aunque SQL es a la vez un ANSI y una norma ISO, muchos productos de bases de datos soportan SQL con extensiones propietarias al lenguaje estándar.

    QUERY: Este aviso fue puesto el 21 de octubre de 2014. Query string o, en español, cadena de consulta es un término informático que se utiliza para hacer referencia a una interacción con una base de datos. Es la parte de una URL que contiene los datos que deben pasar a aplicaciones web como los programas CGI.

    8.    Linkografía








1 comentario:

  1. 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