Resumen Cap24 Deitel

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 6

Resumen

Sección 24.1 Introducción

- Una base de datos (pág. 1046) es una colección integrada de datos. Un sistema de gestión de bases de datos (SGBD;
pág. 1046) proporciona mecanismos para almacenar, organizar, recuperar y modificar los datos.

- Los sistemas de gestión de bases de datos más populares de hoy en día son los sistemas de bases de datos
relacionales (pág. 1046).

- SQL (pág. 1046) es el lenguaje estándar internacional que se utiliza para consultar (pág. 1046) y manipular datos
relacionales.

- Los programas se conectan e interactúan con las bases de datos relacionales a través de un software de interfaz
que facilita las comunicaciones entre un sistema de administración de bases de datos y un programa.

- Un controlador JDBC (p. 1046) permite que las aplicaciones Java se conecten a una base de datos en un SGBD en
particular y permite recuperar y manipular los datos de la base de datos.

Sección 24.2 Bases de datos relacionales

- Una base de datos relacional (pág. 1047) almacena los datos en tablas (pág. 1047). Las tablas están compuestas por
filas (p. 1047), y las filas están compuestas por columnas en las que se almacenan los valores.

- La clave primaria de una tabla (p. 1047) tiene una única en cada fila.

- Cada columna (pág. 1047) de una tabla representa un atributo diferente.

- La clave primaria puede estar compuesta por más de una columna.

- Una columna de identidad es la forma estándar de SQL para representar una columna autoincrementada (pág.
1048). La palabra clave SQL IDENTITY (pág. 1048) marca una columna como columna de identidad.

- Una clave externa es una columna en una tabla que debe coincidir con la columna de clave primaria en otra tabla.
Esto se conoce como la Regla de Integridad Referencial (pág. 1050).

- Una relación de uno a muchos (pág. 1051) entre los cuadros indica que una fila de un cuadro puede tener muchas
filas relacionadas en un cuadro separado.

- Cada columna de una clave primaria debe tener un valor, y el valor de la clave primaria debe ser único. Esto se
conoce como la Regla de Integridad de la Entidad (pág. 1051).

- Las claves externas permiten unir la información de múltiples tablas. Hay una relación de uno a muchos entre una
clave primaria y su correspondiente clave externa.

Sección 24.4.1 Consulta básica de SELECT

- La forma básica de una consulta (p. 1052) es

SELECCIONE * DE LA TABLA Nombre (SELECT * FROM tableName)

donde el asterisco (*; pág. 1052) indica que deben seleccionarse todas las columnas de tableName, y tableName
especifica la tabla de la base de datos de la que se recuperarán las filas.

- Para recuperar columnas específicas, sustituya el * por una lista de nombres de columna separados por comas.
Sección 24.4.2 Cláusula WHERE

- La cláusula opcional WHERE (p. 1053) en una consulta especifica los criterios de selección de la misma. La forma
básica de una consulta con criterios de selección (p. 1052) es

SELECCIONAR columnaNombre1, columnaNombre2, ... de la tablaNombre DONDE criterios

(SELECT columnName1, columnName2,…. )

- La cláusula WHERE puede contener operadores <, >, <=, >=, =, <> y LIKE. LIKE (p. 1053) se utiliza para la coincidencia
de patrones de cadenas (p. 1053) con caracteres comodín por ciento (%) y guión bajo (_).

- Un carácter de porcentaje (%; p. 1053) en un patrón indica que una cadena que coincide con el patrón puede tener
cero o más caracteres en el lugar del carácter de porcentaje en el patrón.

- Un guión bajo (_ ; pág. 1053) en la cadena del patrón indica que un solo carácter en esa posición en el patrón.

Sección 24.4.3 ORDEN POR Cláusula

- El resultado de una consulta se puede ordenar con la cláusula ORDENAR POR (p. 1055). La forma más simple de la
cláusula ORDER BY es

SELECCIONAR columnaNombre1, columnaNombre2, ... DE LA TABLANombre ORDENAR POR columna ASC

SELECCIONAR columnaNombre1, columnaNombre2, ... DESDE tablaNombre ORDENAR POR columna DESC

donde ASC especifica el orden ascendente, DESC especifica el orden descendente y la columna especifica la columna
en la que se basa el orden. El orden de clasificación por defecto es ascendente, por lo que ASC es opcional.

- Se pueden utilizar varias columnas para ordenar con una cláusula de ORDEN POR del formulario

ORDENAR POR COLUMNA1 ordenando, columna2 ordenando, ...

- Las cláusulas DÓNDE y ORDENAR POR pueden combinarse en una sola consulta. Si se usa, ORDER BY debe ser la
última cláusula de la consulta.

Sección 24.4.4 Fusión de datos de múltiples tablas: INNER JOIN

- Un INNER JOIN (p. 1057) fusiona filas de dos tablas haciendo coincidir valores en columnas que son comunes a las
tablas. La forma básica del operador INNER JOIN es:

SELECCIONAR nombreColumna1, nombreColumna2, ...

DE LA TABLA1

INNER JOIN table2

ON tabla1.columnaNombre = tabla2.columnaNombre

La cláusula ON (p. 1057) especifica las columnas de cada tabla que se comparan para determinar qué filas se unen. Si
una instrucción SQL utiliza columnas con el mismo nombre de varias tablas, los nombres de las columnas deben
estar completamente calificados (pág. 1057), anteponiéndoles el nombre de la tabla y un punto (.).

Sección 24.4.5 Insertar declaración

- Una declaración INSERT (p. 1058) inserta una nueva fila en una tabla. La forma básica de esta declaración es

INSERTAR EN LA TABLA NOMBRE (columnaNombre1, columnaNombre2, ..., columnaNombreN)

VALORES (valor1, valor2, ..., valorN)

donde tableName es la tabla en la que se inserta la fila. El nombre de la tabla va seguido de una lista de nombres de
columnas entre paréntesis. La lista de nombres de columna va seguida de la palabra clave SQL VALORES (pág. 1058)
y de una lista de valores separados por comas entre paréntesis.
- SQL utiliza comillas simples (') para delimitar las cadenas. Para especificar una cadena que contiene una sola cita en

SQL, escapar de la cita única con otra cita única (es decir, '').

Sección 24.4.6 Declaración de actualización

- Una declaración de ACTUALIZACIÓN (p. 1059) modifica los datos de una tabla. La forma básica de una declaración
UPDATE es

Tabla de actualizaciónNombre

SET columnaNombre1 = valor1, columnaNombre2 = valor2, ..., columnaNombreN = valorN

DONDE los criterios

donde tableName es la tabla a actualizar. La palabra clave SET (p. 1059) va seguida de una lista separada por comas
de la columnaNombre = pares de valores. La cláusula opcional WHERE determina qué filas se deben actualizar.

Sección 24.4.7 Declaración DELETE

- Una declaración de BORRAR (p. 1060) elimina las filas de una tabla. La forma más simple de una declaración
BORRAR es

BORRAR DE LA TABLA Nombre DONDE criterios

donde tableName es la tabla de la que se puede eliminar una fila (o filas). El criterio opcional WHERE determina qué
filas se deben eliminar. Si se omite esta cláusula, se eliminan todas las filas de la tabla.

Sección 24.5 Configuración de una base de datos Java DB

- La base de datos de Java pura de Oracle, Java DB (p. 1060) se instala con el JDK en Windows, Mac OS X y Linux.

- La base de datos Java DB tiene tanto una versión integrada como una versión en red.

- El software Java DB se encuentra en el subdirectorio db del directorio de instalación del JDK.

- Java DB viene con varios archivos que te permiten configurarlo y ejecutarlo. Antes de ejecutar estos archivos desde
una ventana de comandos, debe configurar la variable de entorno JAVA_HOME para que se refiera al directorio de
instalación exacto del JDK.

- Se utiliza el archivo setEmbeddedCP.bat o setEmbeddedCP (dependiendo de la plataforma de su sistema operativo)


para configurar el CLASSPATH para trabajar con bases de datos embebidas de Java DB.

- La herramienta Java DB ij le permite interactuar con la Java DB desde la línea de comandos. Puedes usarla para
crear bases de datos, ejecutar scripts SQL y realizar consultas SQL. Cada comando que introduzcas en la línea de
comandos ij> debe terminar con un punto y coma (;).

Sección 24.6.1 Conexión y consulta de una base de datos

- El paquete java.sql contiene clases e interfaces para acceder a bases de datos relacionales en Java.

- Un objeto de conexión (p. 1065) gestiona la conexión entre un programa de Java y una base de datos. Los objetos
de conexión permiten a los programas crear sentencias SQL que acceden a los datos.

- El método DriverManager (p. 1065) getConnection (p. 1065) intenta conectarse a una base de datos en una URL
que especifica el protocolo de comunicación, el subprotocolo (p. 1065) de comunicación y el nombre de la base de
datos.

- El método de conexión createStatement (p. 1066) crea un objeto Statement (p. 1066), que puede utilizarse para
enviar sentencias SQL a la base de datos.

- El método de conexión executeQuery (pág. 1066) ejecuta una consulta y devuelve un objeto ResultSet (pág. 1066).
Los métodos ResultSet permiten que un programa manipule los resultados de la consulta.
- Un objeto ResultSetMetaData (pág. 1066) describe el contenido de un ResultSet. Los programas pueden utilizar
metadatos de forma programada para obtener información sobre los nombres y tipos de columna del ResultSet.

- El método ResultSetMetaData getColumnCount (p. 1066) recupera el número de columnas del ResultSet.

- El método ResultSet next (pág. 1066) posiciona el cursor ResultSet en la siguiente fila y devuelve true si la fila
existe; de lo contrario, devuelve false. Se debe llamar a este método para empezar a procesar un ResultSet porque el
cursor está posicionado incialmente antes de la primera fila.

- Es posible extraer cada columna del ResultSet como un tipo específico de Java. El método ResultSetMetaData
getColumnType (p. 1066) devuelve una constante Types (p. 1067) (paquete java.sql) que indica el tipo de la columna.

- Los métodos ResultSet get típicamente reciben como argumento un número de columna (como int) o un nombre
de columna (como String) que indica el valor de la columna a obtener.

- Los números de fila y columna de ResultSet comienzan en 1.

- Cada objeto Statement sólo puede abrir un ResultSet a la vez. Cuando una secuencia devuelve un nuevo ResultSet,
la secuencia cierra el ResultSet anterior.

Sección 24.6.2 Consulta de los libros Base de datos

- El método TableModel (p. 1067) getColumnClass (p. 1068) devuelve un objeto Class que representa la superclase
de todos los objetos de una columna particular. Una TablaJT (p. 1067) utiliza esta información para configurar el
renderizador de celdas y el editor de celdas por defecto para esa columna en una TablaJT.

- El método de conexión createStatement tiene una versión sobrecargada que recibe el tipo de resultado y la
concurrencia. El tipo de resultado especifica si el cursor del ResultSet puede desplazarse en ambas direcciones o sólo
hacia adelante y si el ResultSet es sensible a los cambios. La concurrencia de resultados (p. 1072) especifica si el
ResultSet puede actualizarse.

- Algunos controladores JDBC (pág. 1072) no admiten ResultSets desplazables o actualizables.

- El método ResultSetMetaData getColumnClassName (p. 1073) obtiene el nombre de clase completo de una
columna.

- El método TableModel getColumnCount (p. 1073) devuelve el número de columnas del ResultSet.

- El método TableModel getColumnName (p. 1073) devuelve el nombre de la columna en el ResultSet.

- El método ResultSetMetaData getColumnName (p. 1073) obtiene el nombre de una columna del ResultSet.

- El método TableModel getRowCount (p. 1073) devuelve el número de filas en el ResultSet del modelo.

- El método TableModel getValueAt (p. 1073) devuelve el objeto de una fila y una columna determinadas del
ResultSet subyacente del modelo.

- El método ResultSet absolute (p. 1073) posiciona el cursor ResultSet en una fila específica.

- El método AbstractTableModel fireTableStructureChanged (p. 1074) notifica a cualquier JTable que utilice un
objeto TableModel particular como su modelo que los datos del modelo han cambiado.

Sección 24.7 Interfaz RowSet

- Interface RowSet (p. 1080) configura una conexión a la base de datos y ejecuta una consulta automáticamente.

- Un RowSet conectado (p. 1080) permanece conectado a la base de datos mientras el objeto está en uso. Un
RowSet desconectado (pág. 1080) se conecta, ejecuta una consulta y luego cierra la conexión.

- JdbcRowSet (p. 1080) (un RowSet conectado) envuelve un objeto ResultSet y le permite desplazarse y actualizar sus
filas. A diferencia de un objeto ResultSet, un JdbcRowSet es desplazable y actualizable por defecto.
- CachedRowSet (p. 1080), un RowSet desconectado, almacena en caché los datos de un ResultSet en la memoria. Un
CachedRowSet es desplazable y actualizable. Un CachedRowSet también es serializable.

- La clase RowSetProvider (paquete javax.sql.rowset; p. 1080) proporciona un método estático newFactory que
devuelve un objeto que implementa la interfaz RowSetFactory (paquete javax.sql.rowset) que puede utilizarse para
crear varios tipos de RowSets.

- El método RowSetFactory (p. 1080) createJdbcRowSet devuelve un objeto JdbcRowSet.

- El método JdbcRowSet setUrl especifica la URL de la base de datos.

- El método JdbcRowSet setUsername especifica el nombre de usuario.

- El método JdbcRowSet setPassword especifica la contraseña.

- JdbcRowSet method setCommand especifica la consulta SQL que se usará para poblar un RowSet.

- JdbcRowSet method execute ejecuta la consulta SQL. El método execute perform establece una conexión con la
base de datos, prepara la declaración de la consulta, ejecuta la consulta y almacena el ResultSet devuelto por la
consulta. La conexión, la sentencia y el ResultSet están encapsulados en el objeto JdbcRowSet.

Sección 24.8 PreparedStatements

- Las Declaraciones Preparadas (p. 1082) se compilan, por lo que se ejecutan más eficientemente que las
Declaraciones.

- Los PreparedStatements pueden tener parámetros, por lo que la misma consulta puede ejecutarse con diferentes
argumentos.

- Un parámetro se especifica con un signo de interrogación (?) en la sentencia SQL. Antes de ejecutar un
PreparedStatement, debe utilizar los métodos de conjunto de PreparedStatement para especificar los argumentos.

- El primer argumento del método PreparedStatement setString (p. 1082) representa el número del parámetro que
se está configurando y el segundo argumento es el valor de ese parámetro.

- Los números de los parámetros se cuentan desde 1, empezando por el primer signo de interrogación (?).

- El método setString escapa automáticamente los valores de los parámetros de String según sea necesario.

- Interface PreparedStatement proporciona métodos establecidos para cada tipo de SQL soportado.

Sección 24.9 Procedimientos almacenados

- El JDBC permite a los programas invocar procedimientos almacenados (p. 1098) usando objetos CallableStatement
(p. 1098).

- CallableStatement puede especificar parámetros de entrada. CallableStatement puede especificar parámetros de


salida (p. 1098) en los que un procedimiento almacenado puede colocar valores de retorno.

Sección 24.10 Procesamiento de la transacción

- El procesamiento de transacciones (pág. 1098) permite a un programa que interactúa con una base de datos tratar
una operación de la base de datos (o un conjunto de operaciones) como una operación única, conocida como
operación atómica (pág. 1099) o transacción (pág. 1099).

- Al final de una transacción, se puede tomar la decisión de confirmar o anular la transacción.

- Al cometer una transacción (pág. 1099) se concluye la(s) operación(es) de la base de datos; las inserciones,
actualizaciones y supresiones no pueden anularse sin realizar una nueva operación de la base de datos.

- Anular una transacción (pág. 1099) deja la base de datos en su estado anterior a la operación de la base de datos.

- Java proporciona el procesamiento de transacciones mediante métodos de conexión de interfaz.


- El método setAutoCommit (pág. 1099) especifica si cada instrucción SQL se confirma después de completarse (un
argumento verdadero) o si varias instrucciones SQL deben agruparse como una transacción.

- Cuando autocommit está desactivado, el programa debe seguir la última sentencia SQL de la transacción con una
llamada a Connection method commit (para confirmar los cambios en la base de datos; pág. 1099) o Connection
method rollback (para devolver la base de datos a su estado anterior a la transacción; pág. 1099).

- El método getAutoCommit (p. 1099) determina el estado de autocommit de la Conexión.

También podría gustarte