You are on page 1of 4

24/4/2014

ENI Training - Libro online

Principios del funcionamiento de una base de datos


Las bases de datos se han convertido en elementos ineludibles de la mayora de las aplicaciones. Sustituyen a la utilizacin de ficheros gestionados por el propio desarrollador. Esta aportacin permite un aumento de productividad importante durante el desarrollo y una mejora significativa de las posibilidades de las aplicaciones. Facilitan tambin compartir informacin entre usuarios. Para poder utilizar una base de datos, es necesario conocer un mnimo de vocabulario relacionado con esta tecnologa.

1. Terminologa
En el contexto de las bases de datos, se utilizan frecuentemente los trminos siguientes: Base de datos relacional: una base de datos relacional es un tipo de base de datos que utiliza tablas para el almacenamiento de datos. Emplea valores procedentes de dos tablas para asociar los datos de una tabla con los datos de otra tabla. En general, en una base de datos relacional, se almacena la informacin una nica vez. Tabla: una tabla es un componente de una base de datos que almacena los datos en registros (lneas) y en campos (columnas). Se suele agrupar la informacin por categora a nivel de una tabla. Por ejemplo, tendremos la tabla de los Clientes, de los Productos, o de los Pedidos. Registro: el registro es el conjunto de datos relativos a un elemento de una tabla. Los registros son los equivalentes al nivel lgico de las filas de una tabla. Por ejemplo un registro de la tabla Clientes contiene las caractersticas de un cliente particular. Campo: un registro se compone de varios campos. Cada campo de un registro contiene una nica informacin en el registro. Por ejemplo un registro Cliente puede contener los campos CdigoCliente, Apellido, Nombre Clave primaria: se utiliza una clave primaria para identificar unvocamente una fila de una tabla. La clave primaria es un campo o una combinacin de campos cuyo valor es nico en la tabla. Por ejemplo, el campo CdigoCliente es la clave primaria de la tabla Cliente. No pueden existir dos clientes con el mismo cdigo. Clave fornea: una clave fornea representa uno o varios campos de una tabla que hacen referencia a los campos de la clave primaria de otra tabla. Las claves forneas indican cmo se relacionan las tablas. Relacin: una relacin es una asociacin establecida entre campos comunes en dos tablas. Une relacin puede ser de uno a uno, uno a varios o varios a varios. Gracias a las relaciones, los resultados de peticiones pueden contener datos procedentes de varias tablas. Una relacin de uno a varios entre la tabla Cliente y la tabla Pedido permite a una peticin devolver todos los pedidos correspondientes a un cliente.

2. El lenguaje SQL
Antes de poder escribir una aplicacin Java que utiliza datos, es conveniente familiarizarse con el lenguaje SQL (Structured Query Language). Este lenguaje permite dialogar con la base de datos. Existen diferentes versiones del lenguaje SQL segn la base de datos usada. Sin embargo, SQL dispone tambin de una sintaxis elemental normalizada independiente de cualquier base de datos.

a. Bsqueda de informaciones
El lenguaje SQL permite especificar los registros a extraer, as como el orden en el cual deseamos
http://www.eni-training.com/client_net/mediabook.aspx?idR=65893 1/4

24/4/2014

ENI Training - Libro online

extraerlos. Se puede crear una instruccin SQL que extrae datos de varias tablas simultneamente, o se puede crear una instruccin que extrae solamente un registro especfico. Se utiliza la instruccin SELECT para devolver unos campos especficos de una o de varias tablas de la base de datos. La instruccin siguiente devuelve la lista de los apellidos y nombres de todos los registros de la tabla Cliente. S E L E C TA p e l l i d o ,N o m b r eF R O MC l i e n t e Se emplea el smbolo * (asterisco) en lugar de la lista de los campos de los cuales desea el valor. S E L E C T*F R O MC l i e n t e Se puede limitar el nmero de registros seleccionados utilizando uno o varios campos para filtrar el resultado de la peticin. SQL cuenta con varias clusulas para ejecutar este filtro.

Clusula WHERE
Esta clusula permite especificar la lista de las condiciones que debern cumplir los registros para formar parte de los resultados devueltos. El ejemplo siguiente permite encontrar todos los clientes que viven en Cuenca. S E L E C T*F R O MC l i e n t eW H E R EC i u d a d = C u e n c a La sintaxis de la clusula requiere el uso de comillas simples para delimitar las cadenas de caracteres.

Clusula WHERE IN
Podemos utilizar la clusula W H E R E. . .I Npara devolver todos los registros que responden a una lista de criterios. Por ejemplo, puede buscar todos los clientes que vivan en Francia o Espaa. S E L E C T*F R O MC l i e n t eW H E R EP a sI N( F r a n c i a , E s p a a )

Clusula WHERE BETWEEN


Tambin puede devolver una seleccin de los registros que se sitan entre dos criterios especificados. La peticin siguiente permite recuperar la lista de los pedidos pasados en el mes de noviembre de 2005. S E L E C T*f r o mP e d i d o sW H E R EF e c h a P e d i d oB E T W E E N 0 1 / 1 1 / 0 5 A N D 3 0 / 1 1 / 0 5

Clusula WHERE LIKE


Se puede utilizar la clusula W H E R E. . .L I K Epara devolver todos los registros para los cuales existe una condicin particular para un campo dado. Por ejemplo, la sintaxis siguiente selecciona todos los clientes cuyo nombre empieza por la letra d minscula: S E L E C T*F R O MC l i e n t eW H E R EA p e l l i d oL I K E d % En esta instruccin, el smbolo % es usado para remplazar una secuencia de caracteres cualquiera.

clusula ORDER BY
Puede utilizar la clusula O R D E R B Y para devolver los registros en un orden en particular. La opcin A S Cespecifica orden ascendente, la opcin D E S C , descendente. Se pueden especificar varios
http://www.eni-training.com/client_net/mediabook.aspx?idR=65893 2/4

24/4/2014

ENI Training - Libro online

campos como criterio de clasificacin. Se analizan de izquierda a derecha. En caso de igualdad en el valor de un campo, se utiliza el campo siguiente. S E L E C T*F R O MC l i e n t eO R D E RB YA p e l l i d oD E S C ,N o m b r eA S C Esta instruccin devuelve a los clientes clasificados por orden descendente en el apellido, y en caso de igualdad, por orden ascendente en el nombre.

b. Insercin de datos
La creacin de los registros en una tabla se hace con el comando I N S E R TI N T O . Se ha de indicar la tabla en la cual deseamos insertar una lnea, la lista de los campos en los cuales deseamos especificar un valor, y por fin, la lista de los valores correspondientes. La sintaxis completa es por lo tanto la siguiente: I N S E R TI N T Oc l i e n t e( c d i g o C l i e n t e , a p e l l i d o , n o m b r e )V A L U E S( 1 0 0 0 , G a r c a , P e d r o ) En el momento de la insercin de este nuevo cliente, slo se insertar en la tabla el cdigo, el apellido y el nombre. Los otros campos tomarn el valor N U L L . Si la lista de campos no est indicada, la instruccin I N S E R Texige que se especifique un valor para cada campo de la tabla. Por lo tanto, es necesario utilizar la palabra clave N U L Lpara indicar que para un campo particular, no hay informacin. Si la tabla Cliente se compone de cinco campos (cdigoCliente,apellido,nombre,direccin,pas) se puede escribir la instruccin anterior con la sintaxis siguiente: I N S E R TI N T Oc l i e n t eV A L U E S( 1 0 0 0 , G a r c a , P e d r o , N U L L , N U L L ) Como puede apreciar en este caso, las dos palabras clave NULL son obligatorias para los campos direccin y pas.

c. Actualizacin de datos
La modificacin de los campos para registros existentes se realiza con la instruccin U P D A T E . Esta instruccin puede actualizar varios campos de varios registros de una tabla a partir de las expresiones que se le proporcionan. Se debe facilitar el nombre de la tabla a actualizar as como el valor a asignar a los diferentes campos. La lista se indica con la palabra clave S E T seguida de la asignacin del nuevo valor a los campos. Si deseamos que las modificaciones slo afecten a un conjunto limitado de registros, debemos especificar la clusula W H E R Econ el fin de limitar el alcance de la actualizacin. Si no se indica clusula W H E R Ealguna, la modificacin se har en el conjunto de los registros de la tabla. Por ejemplo, para modificar la direccin de un cliente particular, se emplea la instruccin siguiente: U P D A T EC l i e n t eS E Td i r e c c i n = C a l l ed eM a d r i d ,41 6 0 0 0C u e n c a W H E R Ec d i g o C l i e n t e = 1 0 0 0 Si la modificacin ha de abarcar el conjunto completo de registros de la tabla, la clusula W H E R E es intil. Por ejemplo queremos aumentar el precio unitario de todos los artculos, podemos usar la instruccin siguiente: U P D A T EC A T A L O G OS E Tp r e c i o U n i t a r i o = p r e c i o U n i t a r i o * 1 . 1

d. Supresin de datos
La instruccin D E L E T E F R O M permite suprimir uno o varios registros de una tabla. Debemos proporcionar como mnimo el nombre de la tabla en la cual se har la supresin. Si no indicamos ms
http://www.eni-training.com/client_net/mediabook.aspx?idR=65893 3/4

24/4/2014

ENI Training - Libro online

precisiones, en este caso, se suprimirn todas las lneas de la tabla. En general, se aade una clusula W H E R Epara limitar el alcance de la supresin. El comando siguiente borra todos los registros de la tabla Cliente: D E L E T EF R O MC l i e n t e El comando siguiente es menos radical dado que slo suprime un registro particular: D E L E T EF R O MC l i e n t eW H E R Ec d i g o C l i e n t e = 1 0 0 0 Por supuesto, el lenguaje SQL es mucho ms completo y no se limita a estas cinco instrucciones. Sin embargo, son suficientes para la manipulacin de datos desde Java. Si desea profundizar el aprendizaje del lenguaje SQL, le aconsejo consultar cualquiera de los libros disponibles en esta misma coleccin que abordan el tema de manera ms extensa.

http://www.eni-training.com/client_net/mediabook.aspx?idR=65893

4/4

You might also like