SlideShare una empresa de Scribd logo
1 de 27
ACCESO A BASES
DE DATOS EN JAVA
DIANA TAPIA VERA
ESCUELA DE INGENIERIA DE SISTEMAS Y TELEMATICAESCUELA DE INGENIERIA DE SISTEMAS Y TELEMATICA
ACCESO A BASES DE DATOS EN JAVA
JDBC
 Introducción a las bases de datos
 Bases de datos relacionales
 SQL
 Transacciones
 Procedimientos Almacenados
 Metadatos
 Productos
 MySQL
 Bases de datos en Java. JDBC
BASES DE DATOS RELACIONALES
 Bases de datos (Database systems)
 Son programas utilizados para almacenar
información y permitir un acceso posterior a ella
 Varios programas (servidor web, aplicación gráfica,
…) pueden acceder a la información de forma
concurrente a través de la red
 La información está centralizada, actualizada y es
más sencillo realizar actualizaciones y copias de
seguridad
 La información puede estar en forma de texto,
números, ficheros, XML, etc...
 Existen muchos tipos de bases de datos, pero las más
usadas son las bases de datos relacionales
BASES DE DATOS RELACIONALES
 Arquitectura
BASES DE DATOS RELACIONALES
 Una base de datos relacional almacena la
información en tablas* con filas y columnas
(campo)
idLibro titulo precio
1 Bambi 3
2 Batman 4
3 Spiderman 2
* A las tablas se las denominaba “relaciones”, de ahí el nombre de base de datos relacional
Tabla Libros idAutor nombre nacionalidad
1 Antonio Español
2 Gerard Frances
Tabla Autores
idLibro idAutor
1 1
2 2
3 2
Tabla RelacionLibroAutor
BASES DE DATOS RELACIONALES
 Una base de datos relacional almacena la
información en tablas* con filas y columnas
(campo)
idLibro titulo precio
1 Bambi 3
2 Batman 4
3 Spiderman 2
* A las tablas se las denominaba “relaciones”, de ahí el nombre de base de datos relacional
Tabla Libros idAutor nombre nacionalidad
1 Antonio Español
2 Gerard Frances
Tabla Autores
idLibro idAutor
1 1
2 2
3 2
Tabla RelacionLibroAutor
La información se
relaciona mediante
identificadores (id)
BASES DE DATOS RELACIONALES
 SQL (Standard Query Language): Lenguaje de
consulta estándar que permite:
 Consulta de los datos seleccionando con
diferentes criterios y realizando operaciones
(medias, sumas, …)
 Inserción, Actualización y borrado de la
información
 Creación, alteración y borrado de las tablas y sus
campos
 Gestión de usuarios y sus privilegios de acceso
BASES DE DATOS RELACIONALES
 Sus datos cumplen reglas de integridad:
 Las filas no tienen una posición concreta
 Un campo no puede ser una lista de valores
 No existen filas con todos los campos iguales (las
haría indistinguibles y podría provocar problemas)
 Existe al menos una columna que identifica a la
fila (id), denominada clave primaria (Primary Key)
 Se permiten valores NULL diferentes del 0 o de la
cadena de caracteres vacía (para expresar dato
no disponible)
ACCESO A BASES DE DATOS EN JAVA
JDBC
 Introducción a las bases de datos
 Bases de datos relacionales
 SQL
 Transacciones
 Procedimientos Almacenados
 Metadatos
 Productos
 MySQL
 Bases de datos en Java. JDBC
SQL
 SQL es un lenguaje diseñado para gestionar una
base de datos relacional
 Existen 3 versiones del estándar (SQL-92, SQL-99 y
SQL-2003)
 El soporte del estándar es muy variado
 Algunas bases de datos soportan subconjuntos
 Otras bases de datos soportan extensiones
propietarias
 Cada base de datos tiene un manual con los
elementos de SQL que soporta
SQL
COMANDOS
 Los comandos SQL se dividen en categorías:
 Lenguaje de Manipulación de datos (DML)
 Obtiene, Inserta, Borra y actualiza datos
 SELECT, INSERT, DELETE, UPDATE
 Lenguaje de Definición de datos (DDL)
 Crea, borra y cambia tablas, usuarios, vistas,
índices…
 CREATE TABLE, DROP TABLE, ALTER TABLE
SQL
SENTENCIA SELECT
 También conocido como statement o query
(consulta)
 Permite recuperar la información de una o varias
tablas
 Especifica uno o más campos, una o más tablas
y un criterio de selección
 La base de datos devuelve los campos
indicados de aquellas filas que cumplan el
criterio de selección
SQL
SENTENCIA SELECT
titulo precio
Bambi 3
Batman 4
SELECT titulo, precio
FROM Libros
WHERE precio > 2
Conjunto de resultados (ResultSet)
idLibro titulo precio
1 Bambi 3
2 Batman 4
3 Spiderman 2
Tabla Libros
Situación en la
base de datos Consulta
SQL
SENTENCIA SELECT
idLibro titulo precio
1 Bambi 3
2 Batman 4
3 Spiderman 2
SELECT *
FROM Libros
Conjunto de resultados (ResultSet)
idLibro titulo precio
1 Bambi 3
2 Batman 4
3 Spiderman 2
Tabla Libros
Situación en la
base de datos Consulta que devuelve
todas las filas de la tabla
TRANSACCIONES
 Varios usuarios pueden acceder a la misma
base de datos al mismo tiempo
 Si un usuario está actualizando un conjunto de
datos mientras el otro usuario está realizando
una consulta, el segundo usuario podría obtener
datos parcialmente actualizados (inconsistentes)
 Las transacciones permiten mantener los datos
en un estado consistente mientras más de un
usuario accede a los datos a la vez
TRANSACCIONES
 Una transacción es un conjunto de sentencias
SQL que forman una unidad lógica y deben
ejecutarse todas para mantener la integridad
de los datos
 Si alguna de las sentencias falla, se deshace
todo lo que hayan cambiado las demás
 El usuario finaliza una transacción con un
comando commit
 Si quiere cancelar una transacción que no ha
finalizado y deshacer todos los cambios, puede
usar el comando rollback
 Si existen problemas de concurrencia con varios
usuarios, la propia base de datos puede
deshacer la transacción (con un rollback)
PROCEDIMIENTOS
ALMACENADOS
 Un procedimiento almacenado es un grupo de
sentencias SQL que pueden ser llamadas por su
nombre
 Admiten parámetros
 Se almacenan y se ejecutan en la base de
datos
 Algunos productos tienen un lenguaje
imperativo (PL/SQL de Oracle) y otros permiten
implementarlos en Java
INTRODUCCIÓN A JDBC
 Los pasos para que una aplicación se
comunique con una base de datos son:
1. Cargar el driver necesario para comprender el
protocolo que usa la base de datos concreta
2. Establecer una conexión con la base de datos,
normalmente a través de red
3. Enviar consultas SQL y procesar el resultado
4. Liberar los recursos al terminar
5. Manejar los errores que se puedan producir
CONEXIONES A LA BASE DE
DATOS
 Cada objeto Connection representa una
conexión física con la base de datos
 Se pueden especificar más propiedades
además del usuario y la password al crear una
conexión
 Estas propiedades se pueden especificar:
 Codificadas en la URL (ver detalles de la base de
datos)
 Usando métodos getConnection(…)
sobrecargados de la clase DriverManager
SENTENCIAS SQL
USO DE PREPAREDSTATEMENT
 Los PreparedStatement se utilizan:
 Cuando se requieren parámetros
 Cuando se ejecuta muchas veces la misma sentencia
 La sentencia se prepara al crear el objeto
 Puede llamarse varias veces a los métodos execute
PreparedStatement ps = conn.
prepareStatement("INSERT INTO Libros VALUES (?,?,?)");
ps.setInt(1, 23);
ps.setString(2, "Bambi");
ps.setInt(3, 45);
ps.executeUpdate();
SENTENCIAS SQL
USO DE CALLABLESTATEMENT
 Permite hacer llamadas a los procedimientos
almacenados de la base de datos
 Permite parámetros de entrada IN (como el
PreparedStatement), parámetros de entrada-
salida INOUT y parámetros de salida OUT
CallableStatement cstmt =
conn.prepareCall ("{call getEmpName (?,?)}");
cstmt.setInt(1,111111111);
cstmt.registerOutParameter(2,java.sql.Types.VARCHAR);
cstmt.execute();
String empName = cstmt.getString(2);
USO DE RESULTSET
 El ResultSet es el objeto que representa el resultado de una
consulta
 No carga toda la información en memoria
 Se pueden usar para actualizar, borrar e insertar nuevas filas
USO DE RESULTSET
CARACTERÍSTICAS
 Al crear un Statement, un PreparedStatement
o un CallableStatement, se pueden
configurar aspectos del ResultSet que
devolverá al ejecutar la consulta
createStatement(
int resultSetType, int resultSetConcurrency);
prepareStatement(String SQL,
int resultSetType, int resultSetConcurrency);
prepareCall(String sql,
int resultSetType, int resultSetConcurrency);
USO DE RESULTSET
CARACTERÍSTICAS
 Características del ResultSet
 resultSetType
 ResultSet.TYPE_FORWARD_ONLY – Sólo movimiento
hacia delante (por defecto)
 ResultSet.TYPE_SCROLL_INSENSITIVE – Puede hacer
cualquier movimiento pero no refleja los cambios en la
base de datos
 ResultSet.TYPE_SCROLL_SENSITIVE – Puede hacer
cualquier movimiento y además refleja los cambios en
la base de datos
 resultSetConcurrency
 ResultSet.CONCUR_READ_ONLY – Sólo lectura (por
defecto)
 ResultSet.CONCUR_UPDATABLE - Actualizable
USO DE RESULTSET
CARACTERÍSTICAS
 Actualización de datos
 Inserción de datos
rs.updateString(“campo", “valor");
rs.updateInt(1, 3);
rs.updateRow();
rs.moveToInsertRow();
rs.updateString(1, "AINSWORTH");
rs.updateInt(2,35);
rs.updateBoolean(3, true);
rs.insertRow();
rs.moveToCurrentRow();
Mueve el cursor a
la posición anterior
al movimiento a
inserción
USO DE RESULTSET
POSICIONAMIENTO DEL
CURSOR
 El cursor puede estar en una fila concreta
 También puede estar en dos filas especiales
 Antes de la primera fila (Before the First Row, BFR)
 Después de la última fila (After the Last Row, ALR)
 Inicialmente el ResultSet está en BFR
 next() mueve el cursor hacia delante
 Devuelve true si se encuentra en una fila concreta y
false si alcanza el ALR
while (rs.next()) {
String name = rs.getString("titulo");
float price = rs.getFloat("precio");
System.out.println(name + "t" + price);
}
USO DE RESULTSET
 Métodos que permiten un movimiento por el
ResultSet
 next() – Siguiente fila
 previous() – Fila anterior
 beforeFirst() – Antes de la primera
 afterLast() – Después de la última
 first() – Primera fila
 last() – Última fila
 absolute() – Movimiento a una fila concreta
 relative() – Saltar ciertas filas hacia delante

Más contenido relacionado

La actualidad más candente

8. Acceso A Datos Con Microsoft Ado.Net
8.  Acceso A Datos Con Microsoft Ado.Net8.  Acceso A Datos Con Microsoft Ado.Net
8. Acceso A Datos Con Microsoft Ado.Netguest3cf6ff
 
Lenguaje estructurado de consultas sql
Lenguaje estructurado de consultas sqlLenguaje estructurado de consultas sql
Lenguaje estructurado de consultas sqlCristian Garzon
 
Oracle Spatial de la A a la Z - Unidad 6
Oracle Spatial de la A a la Z - Unidad 6Oracle Spatial de la A a la Z - Unidad 6
Oracle Spatial de la A a la Z - Unidad 6Jorge Ulises
 
Programacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosProgramacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosJosé Antonio Sandoval Acosta
 
Oracle Spatial de la A a la Z - Unidad 1
Oracle Spatial de la A a la Z - Unidad 1Oracle Spatial de la A a la Z - Unidad 1
Oracle Spatial de la A a la Z - Unidad 1Jorge Ulises
 
Diapositivas de acceso a datos ado.net
Diapositivas de acceso a datos ado.netDiapositivas de acceso a datos ado.net
Diapositivas de acceso a datos ado.netTAPIA SILVA EVELINA
 
Curso de SQL Básico parte 1 de 10
Curso de SQL Básico parte 1 de 10Curso de SQL Básico parte 1 de 10
Curso de SQL Básico parte 1 de 10Byron Quisquinay
 
Material Clase BDD: Diseño de una Base de Datos
Material Clase BDD: Diseño de una Base de DatosMaterial Clase BDD: Diseño de una Base de Datos
Material Clase BDD: Diseño de una Base de Datosliras loca
 
Hibernate 3.2 short manual
Hibernate 3.2 short manualHibernate 3.2 short manual
Hibernate 3.2 short manualEmmerson Miranda
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosJosé Antonio Sandoval Acosta
 
Acceso A Datos Y Ado.Net
Acceso A Datos Y Ado.NetAcceso A Datos Y Ado.Net
Acceso A Datos Y Ado.Netjennysofia
 
Lenguaje de consulta de datos
Lenguaje de consulta de datosLenguaje de consulta de datos
Lenguaje de consulta de datosFrancis Xavier
 

La actualidad más candente (20)

8. Acceso A Datos Con Microsoft Ado.Net
8.  Acceso A Datos Con Microsoft Ado.Net8.  Acceso A Datos Con Microsoft Ado.Net
8. Acceso A Datos Con Microsoft Ado.Net
 
ADO
ADOADO
ADO
 
Diapositivas de ado.net
Diapositivas de ado.netDiapositivas de ado.net
Diapositivas de ado.net
 
Lenguaje estructurado de consultas sql
Lenguaje estructurado de consultas sqlLenguaje estructurado de consultas sql
Lenguaje estructurado de consultas sql
 
Oracle Spatial de la A a la Z - Unidad 6
Oracle Spatial de la A a la Z - Unidad 6Oracle Spatial de la A a la Z - Unidad 6
Oracle Spatial de la A a la Z - Unidad 6
 
ADO .net
ADO .netADO .net
ADO .net
 
Programacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosProgramacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datos
 
Oracle Spatial de la A a la Z - Unidad 1
Oracle Spatial de la A a la Z - Unidad 1Oracle Spatial de la A a la Z - Unidad 1
Oracle Spatial de la A a la Z - Unidad 1
 
ADO .NET
ADO .NETADO .NET
ADO .NET
 
Diapositivas de acceso a datos ado.net
Diapositivas de acceso a datos ado.netDiapositivas de acceso a datos ado.net
Diapositivas de acceso a datos ado.net
 
ADO.NET
ADO.NETADO.NET
ADO.NET
 
ADO.NET
ADO.NETADO.NET
ADO.NET
 
Curso de SQL Básico parte 1 de 10
Curso de SQL Básico parte 1 de 10Curso de SQL Básico parte 1 de 10
Curso de SQL Básico parte 1 de 10
 
Material Clase BDD: Diseño de una Base de Datos
Material Clase BDD: Diseño de una Base de DatosMaterial Clase BDD: Diseño de una Base de Datos
Material Clase BDD: Diseño de una Base de Datos
 
Taller de Base de Datos - Unidad 2 lenguage DDL
Taller de Base de Datos - Unidad 2 lenguage DDLTaller de Base de Datos - Unidad 2 lenguage DDL
Taller de Base de Datos - Unidad 2 lenguage DDL
 
Hibernate 3.2 short manual
Hibernate 3.2 short manualHibernate 3.2 short manual
Hibernate 3.2 short manual
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
 
Acceso A Datos Y Ado.Net
Acceso A Datos Y Ado.NetAcceso A Datos Y Ado.Net
Acceso A Datos Y Ado.Net
 
Lenguaje de consulta de datos
Lenguaje de consulta de datosLenguaje de consulta de datos
Lenguaje de consulta de datos
 
Sql server(1)
Sql server(1)Sql server(1)
Sql server(1)
 

Similar a JAVA CON BASE DE DATOS (20)

Jdb ccompleto
Jdb ccompletoJdb ccompleto
Jdb ccompleto
 
Jdbc
JdbcJdbc
Jdbc
 
Base de datos - Clase 1
Base de datos - Clase 1Base de datos - Clase 1
Base de datos - Clase 1
 
JDBC
JDBCJDBC
JDBC
 
Java con base de datos
Java con base  de datosJava con base  de datos
Java con base de datos
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Android DB por Cesar Cespedes
Android DB por Cesar CespedesAndroid DB por Cesar Cespedes
Android DB por Cesar Cespedes
 
Base de datos objeto
Base de datos objetoBase de datos objeto
Base de datos objeto
 
ADO.NET
ADO.NETADO.NET
ADO.NET
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Ado.net
Ado.netAdo.net
Ado.net
 
Administración y programación en sql server
Administración y programación en sql serverAdministración y programación en sql server
Administración y programación en sql server
 
Active x data object ado.net
Active x data object ado.netActive x data object ado.net
Active x data object ado.net
 
2. ssis 2008 r2
2. ssis 2008 r22. ssis 2008 r2
2. ssis 2008 r2
 
SQL-2022-2023.pptx
SQL-2022-2023.pptxSQL-2022-2023.pptx
SQL-2022-2023.pptx
 
Bases de datos
Bases de datos Bases de datos
Bases de datos
 
SQL_ADO.NET.ppt
SQL_ADO.NET.pptSQL_ADO.NET.ppt
SQL_ADO.NET.ppt
 
SQL_ADO.NET.pptx
SQL_ADO.NET.pptxSQL_ADO.NET.pptx
SQL_ADO.NET.pptx
 
Act 04 rivera_alfredo_bd
Act 04 rivera_alfredo_bdAct 04 rivera_alfredo_bd
Act 04 rivera_alfredo_bd
 
Ado.net
Ado.netAdo.net
Ado.net
 

Último

Arquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo LimacheArquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo LimacheJuan Luis Menares
 
Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuhSistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuhFoxy963
 
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfNTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfELIZABETHCRUZVALENCI
 
Mecatronica Automotriz .pdf
Mecatronica Automotriz              .pdfMecatronica Automotriz              .pdf
Mecatronica Automotriz .pdfleonardocahua1
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptNombre Apellidos
 
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)samuelsan933
 
Tipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosTipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosandersonsubero28
 
ARMADURAS METODO NODOS.pptx......................
ARMADURAS METODO NODOS.pptx......................ARMADURAS METODO NODOS.pptx......................
ARMADURAS METODO NODOS.pptx......................Juan293605
 
Auditoría de Sistemas de Gestión
Auditoría    de   Sistemas     de GestiónAuditoría    de   Sistemas     de Gestión
Auditoría de Sistemas de GestiónYanet Caldas
 
UNIDAD 3 ENSAYOS DESTRUCTIVOS Y NO DESTRUCTIVOS – NORMATIVA ASTM.pdf
UNIDAD 3 ENSAYOS DESTRUCTIVOS Y NO DESTRUCTIVOS – NORMATIVA ASTM.pdfUNIDAD 3 ENSAYOS DESTRUCTIVOS Y NO DESTRUCTIVOS – NORMATIVA ASTM.pdf
UNIDAD 3 ENSAYOS DESTRUCTIVOS Y NO DESTRUCTIVOS – NORMATIVA ASTM.pdfronypap
 
Practica_Calificada_03333333333333333.pdf
Practica_Calificada_03333333333333333.pdfPractica_Calificada_03333333333333333.pdf
Practica_Calificada_03333333333333333.pdffredyflores58
 
Análisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECOAnálisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECOFernando Bravo
 
metodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantasmetodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantasGraciaMatute1
 
Balance materia y energia procesos de Secado
Balance materia y energia procesos de SecadoBalance materia y energia procesos de Secado
Balance materia y energia procesos de SecadoGualbertoLopez2
 
GUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdf
GUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdfGUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdf
GUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdfWILLIAMSTAYPELLOCCLL1
 
S06_s2+-+Centro.pdf qiieiejanahshsjsnndjd
S06_s2+-+Centro.pdf qiieiejanahshsjsnndjdS06_s2+-+Centro.pdf qiieiejanahshsjsnndjd
S06_s2+-+Centro.pdf qiieiejanahshsjsnndjdaeapolinarez
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfrefrielectriccarlyz
 
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdfslideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdfWaldo Eber Melendez Garro
 
Conceptos básicos e historia de la salud y seguridad ocupacional.pptx
Conceptos básicos e historia de la salud y seguridad ocupacional.pptxConceptos básicos e historia de la salud y seguridad ocupacional.pptx
Conceptos básicos e historia de la salud y seguridad ocupacional.pptxGILMERMANUELASENCIOO
 
1 CENTROIDES 2°Computohhhhhhhhhhhhhhhh.pdf
1 CENTROIDES 2°Computohhhhhhhhhhhhhhhh.pdf1 CENTROIDES 2°Computohhhhhhhhhhhhhhhh.pdf
1 CENTROIDES 2°Computohhhhhhhhhhhhhhhh.pdfJlnParada
 

Último (20)

Arquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo LimacheArquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo Limache
 
Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuhSistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
 
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfNTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
 
Mecatronica Automotriz .pdf
Mecatronica Automotriz              .pdfMecatronica Automotriz              .pdf
Mecatronica Automotriz .pdf
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
 
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
 
Tipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosTipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplos
 
ARMADURAS METODO NODOS.pptx......................
ARMADURAS METODO NODOS.pptx......................ARMADURAS METODO NODOS.pptx......................
ARMADURAS METODO NODOS.pptx......................
 
Auditoría de Sistemas de Gestión
Auditoría    de   Sistemas     de GestiónAuditoría    de   Sistemas     de Gestión
Auditoría de Sistemas de Gestión
 
UNIDAD 3 ENSAYOS DESTRUCTIVOS Y NO DESTRUCTIVOS – NORMATIVA ASTM.pdf
UNIDAD 3 ENSAYOS DESTRUCTIVOS Y NO DESTRUCTIVOS – NORMATIVA ASTM.pdfUNIDAD 3 ENSAYOS DESTRUCTIVOS Y NO DESTRUCTIVOS – NORMATIVA ASTM.pdf
UNIDAD 3 ENSAYOS DESTRUCTIVOS Y NO DESTRUCTIVOS – NORMATIVA ASTM.pdf
 
Practica_Calificada_03333333333333333.pdf
Practica_Calificada_03333333333333333.pdfPractica_Calificada_03333333333333333.pdf
Practica_Calificada_03333333333333333.pdf
 
Análisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECOAnálisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECO
 
metodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantasmetodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantas
 
Balance materia y energia procesos de Secado
Balance materia y energia procesos de SecadoBalance materia y energia procesos de Secado
Balance materia y energia procesos de Secado
 
GUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdf
GUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdfGUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdf
GUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdf
 
S06_s2+-+Centro.pdf qiieiejanahshsjsnndjd
S06_s2+-+Centro.pdf qiieiejanahshsjsnndjdS06_s2+-+Centro.pdf qiieiejanahshsjsnndjd
S06_s2+-+Centro.pdf qiieiejanahshsjsnndjd
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
 
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdfslideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
 
Conceptos básicos e historia de la salud y seguridad ocupacional.pptx
Conceptos básicos e historia de la salud y seguridad ocupacional.pptxConceptos básicos e historia de la salud y seguridad ocupacional.pptx
Conceptos básicos e historia de la salud y seguridad ocupacional.pptx
 
1 CENTROIDES 2°Computohhhhhhhhhhhhhhhh.pdf
1 CENTROIDES 2°Computohhhhhhhhhhhhhhhh.pdf1 CENTROIDES 2°Computohhhhhhhhhhhhhhhh.pdf
1 CENTROIDES 2°Computohhhhhhhhhhhhhhhh.pdf
 

JAVA CON BASE DE DATOS

  • 1. ACCESO A BASES DE DATOS EN JAVA DIANA TAPIA VERA ESCUELA DE INGENIERIA DE SISTEMAS Y TELEMATICAESCUELA DE INGENIERIA DE SISTEMAS Y TELEMATICA
  • 2. ACCESO A BASES DE DATOS EN JAVA JDBC  Introducción a las bases de datos  Bases de datos relacionales  SQL  Transacciones  Procedimientos Almacenados  Metadatos  Productos  MySQL  Bases de datos en Java. JDBC
  • 3. BASES DE DATOS RELACIONALES  Bases de datos (Database systems)  Son programas utilizados para almacenar información y permitir un acceso posterior a ella  Varios programas (servidor web, aplicación gráfica, …) pueden acceder a la información de forma concurrente a través de la red  La información está centralizada, actualizada y es más sencillo realizar actualizaciones y copias de seguridad  La información puede estar en forma de texto, números, ficheros, XML, etc...  Existen muchos tipos de bases de datos, pero las más usadas son las bases de datos relacionales
  • 4. BASES DE DATOS RELACIONALES  Arquitectura
  • 5. BASES DE DATOS RELACIONALES  Una base de datos relacional almacena la información en tablas* con filas y columnas (campo) idLibro titulo precio 1 Bambi 3 2 Batman 4 3 Spiderman 2 * A las tablas se las denominaba “relaciones”, de ahí el nombre de base de datos relacional Tabla Libros idAutor nombre nacionalidad 1 Antonio Español 2 Gerard Frances Tabla Autores idLibro idAutor 1 1 2 2 3 2 Tabla RelacionLibroAutor
  • 6. BASES DE DATOS RELACIONALES  Una base de datos relacional almacena la información en tablas* con filas y columnas (campo) idLibro titulo precio 1 Bambi 3 2 Batman 4 3 Spiderman 2 * A las tablas se las denominaba “relaciones”, de ahí el nombre de base de datos relacional Tabla Libros idAutor nombre nacionalidad 1 Antonio Español 2 Gerard Frances Tabla Autores idLibro idAutor 1 1 2 2 3 2 Tabla RelacionLibroAutor La información se relaciona mediante identificadores (id)
  • 7. BASES DE DATOS RELACIONALES  SQL (Standard Query Language): Lenguaje de consulta estándar que permite:  Consulta de los datos seleccionando con diferentes criterios y realizando operaciones (medias, sumas, …)  Inserción, Actualización y borrado de la información  Creación, alteración y borrado de las tablas y sus campos  Gestión de usuarios y sus privilegios de acceso
  • 8. BASES DE DATOS RELACIONALES  Sus datos cumplen reglas de integridad:  Las filas no tienen una posición concreta  Un campo no puede ser una lista de valores  No existen filas con todos los campos iguales (las haría indistinguibles y podría provocar problemas)  Existe al menos una columna que identifica a la fila (id), denominada clave primaria (Primary Key)  Se permiten valores NULL diferentes del 0 o de la cadena de caracteres vacía (para expresar dato no disponible)
  • 9. ACCESO A BASES DE DATOS EN JAVA JDBC  Introducción a las bases de datos  Bases de datos relacionales  SQL  Transacciones  Procedimientos Almacenados  Metadatos  Productos  MySQL  Bases de datos en Java. JDBC
  • 10. SQL  SQL es un lenguaje diseñado para gestionar una base de datos relacional  Existen 3 versiones del estándar (SQL-92, SQL-99 y SQL-2003)  El soporte del estándar es muy variado  Algunas bases de datos soportan subconjuntos  Otras bases de datos soportan extensiones propietarias  Cada base de datos tiene un manual con los elementos de SQL que soporta
  • 11. SQL COMANDOS  Los comandos SQL se dividen en categorías:  Lenguaje de Manipulación de datos (DML)  Obtiene, Inserta, Borra y actualiza datos  SELECT, INSERT, DELETE, UPDATE  Lenguaje de Definición de datos (DDL)  Crea, borra y cambia tablas, usuarios, vistas, índices…  CREATE TABLE, DROP TABLE, ALTER TABLE
  • 12. SQL SENTENCIA SELECT  También conocido como statement o query (consulta)  Permite recuperar la información de una o varias tablas  Especifica uno o más campos, una o más tablas y un criterio de selección  La base de datos devuelve los campos indicados de aquellas filas que cumplan el criterio de selección
  • 13. SQL SENTENCIA SELECT titulo precio Bambi 3 Batman 4 SELECT titulo, precio FROM Libros WHERE precio > 2 Conjunto de resultados (ResultSet) idLibro titulo precio 1 Bambi 3 2 Batman 4 3 Spiderman 2 Tabla Libros Situación en la base de datos Consulta
  • 14. SQL SENTENCIA SELECT idLibro titulo precio 1 Bambi 3 2 Batman 4 3 Spiderman 2 SELECT * FROM Libros Conjunto de resultados (ResultSet) idLibro titulo precio 1 Bambi 3 2 Batman 4 3 Spiderman 2 Tabla Libros Situación en la base de datos Consulta que devuelve todas las filas de la tabla
  • 15. TRANSACCIONES  Varios usuarios pueden acceder a la misma base de datos al mismo tiempo  Si un usuario está actualizando un conjunto de datos mientras el otro usuario está realizando una consulta, el segundo usuario podría obtener datos parcialmente actualizados (inconsistentes)  Las transacciones permiten mantener los datos en un estado consistente mientras más de un usuario accede a los datos a la vez
  • 16. TRANSACCIONES  Una transacción es un conjunto de sentencias SQL que forman una unidad lógica y deben ejecutarse todas para mantener la integridad de los datos  Si alguna de las sentencias falla, se deshace todo lo que hayan cambiado las demás  El usuario finaliza una transacción con un comando commit  Si quiere cancelar una transacción que no ha finalizado y deshacer todos los cambios, puede usar el comando rollback  Si existen problemas de concurrencia con varios usuarios, la propia base de datos puede deshacer la transacción (con un rollback)
  • 17. PROCEDIMIENTOS ALMACENADOS  Un procedimiento almacenado es un grupo de sentencias SQL que pueden ser llamadas por su nombre  Admiten parámetros  Se almacenan y se ejecutan en la base de datos  Algunos productos tienen un lenguaje imperativo (PL/SQL de Oracle) y otros permiten implementarlos en Java
  • 18. INTRODUCCIÓN A JDBC  Los pasos para que una aplicación se comunique con una base de datos son: 1. Cargar el driver necesario para comprender el protocolo que usa la base de datos concreta 2. Establecer una conexión con la base de datos, normalmente a través de red 3. Enviar consultas SQL y procesar el resultado 4. Liberar los recursos al terminar 5. Manejar los errores que se puedan producir
  • 19. CONEXIONES A LA BASE DE DATOS  Cada objeto Connection representa una conexión física con la base de datos  Se pueden especificar más propiedades además del usuario y la password al crear una conexión  Estas propiedades se pueden especificar:  Codificadas en la URL (ver detalles de la base de datos)  Usando métodos getConnection(…) sobrecargados de la clase DriverManager
  • 20. SENTENCIAS SQL USO DE PREPAREDSTATEMENT  Los PreparedStatement se utilizan:  Cuando se requieren parámetros  Cuando se ejecuta muchas veces la misma sentencia  La sentencia se prepara al crear el objeto  Puede llamarse varias veces a los métodos execute PreparedStatement ps = conn. prepareStatement("INSERT INTO Libros VALUES (?,?,?)"); ps.setInt(1, 23); ps.setString(2, "Bambi"); ps.setInt(3, 45); ps.executeUpdate();
  • 21. SENTENCIAS SQL USO DE CALLABLESTATEMENT  Permite hacer llamadas a los procedimientos almacenados de la base de datos  Permite parámetros de entrada IN (como el PreparedStatement), parámetros de entrada- salida INOUT y parámetros de salida OUT CallableStatement cstmt = conn.prepareCall ("{call getEmpName (?,?)}"); cstmt.setInt(1,111111111); cstmt.registerOutParameter(2,java.sql.Types.VARCHAR); cstmt.execute(); String empName = cstmt.getString(2);
  • 22. USO DE RESULTSET  El ResultSet es el objeto que representa el resultado de una consulta  No carga toda la información en memoria  Se pueden usar para actualizar, borrar e insertar nuevas filas
  • 23. USO DE RESULTSET CARACTERÍSTICAS  Al crear un Statement, un PreparedStatement o un CallableStatement, se pueden configurar aspectos del ResultSet que devolverá al ejecutar la consulta createStatement( int resultSetType, int resultSetConcurrency); prepareStatement(String SQL, int resultSetType, int resultSetConcurrency); prepareCall(String sql, int resultSetType, int resultSetConcurrency);
  • 24. USO DE RESULTSET CARACTERÍSTICAS  Características del ResultSet  resultSetType  ResultSet.TYPE_FORWARD_ONLY – Sólo movimiento hacia delante (por defecto)  ResultSet.TYPE_SCROLL_INSENSITIVE – Puede hacer cualquier movimiento pero no refleja los cambios en la base de datos  ResultSet.TYPE_SCROLL_SENSITIVE – Puede hacer cualquier movimiento y además refleja los cambios en la base de datos  resultSetConcurrency  ResultSet.CONCUR_READ_ONLY – Sólo lectura (por defecto)  ResultSet.CONCUR_UPDATABLE - Actualizable
  • 25. USO DE RESULTSET CARACTERÍSTICAS  Actualización de datos  Inserción de datos rs.updateString(“campo", “valor"); rs.updateInt(1, 3); rs.updateRow(); rs.moveToInsertRow(); rs.updateString(1, "AINSWORTH"); rs.updateInt(2,35); rs.updateBoolean(3, true); rs.insertRow(); rs.moveToCurrentRow(); Mueve el cursor a la posición anterior al movimiento a inserción
  • 26. USO DE RESULTSET POSICIONAMIENTO DEL CURSOR  El cursor puede estar en una fila concreta  También puede estar en dos filas especiales  Antes de la primera fila (Before the First Row, BFR)  Después de la última fila (After the Last Row, ALR)  Inicialmente el ResultSet está en BFR  next() mueve el cursor hacia delante  Devuelve true si se encuentra en una fila concreta y false si alcanza el ALR while (rs.next()) { String name = rs.getString("titulo"); float price = rs.getFloat("precio"); System.out.println(name + "t" + price); }
  • 27. USO DE RESULTSET  Métodos que permiten un movimiento por el ResultSet  next() – Siguiente fila  previous() – Fila anterior  beforeFirst() – Antes de la primera  afterLast() – Después de la última  first() – Primera fila  last() – Última fila  absolute() – Movimiento a una fila concreta  relative() – Saltar ciertas filas hacia delante