Empezamos con Bases de Datos
En esta entrada pretendo introducir al lector en las bases de datos para seguir avanzando en posteriores entradas para explicar cómo acceder a ellas desde Java, primero con JDBC y luego con frameworks como iBATIS e Hibernate.
Resulta muy común utilizar mal el término base de datos cuando en realidad nos referimos a un Sistema de Gestión de Base de Datos (SGBD o DBMS en inglés). Sin ir más lejos el título de esta entrada es un ejemplo de este mal uso comunmente aceptado.
Un SGBD es un software que sirve de interfaz entre las bases de datos y las aplicaciones que las utilizan. Los más populares son MySQL entre los gratuitos (aunque ahora existe una versión de pago) y Oracle entre los de pago.
Una base de datos (database en inglés, habitualmente abreviado BBDD) es un conjunto de datos relacionados almacenados. Una biblioteca es por tanto una base de datos, pero evidentemente en nuestro contexto nos referimos a bases de datos en formato digital.
Para las siguientes entradas utilizaré MySQL, aunque desde la parte Java resulta un poco indiferente especialmente con un diseño adecuado en capas : aislando la persistencia en una capa de persistencia, y si queremos declarando un interfaz y su implementación por si fuese necesario migrar a otro SGBD como Oracle.
Desplegar un servidor MySQL
Nos vamos al site de Sun Microsystems y descargamos la última versión gratuita disponible de MySQL, en este caso la 5.1.
Instalar la BBDD (el servidor de MySQL) no tiene mayor misterio, se hace como cualquier programa. Después de instalar se nos da la opción de configurar el servidor de MySQL.
Primero debemos decidir qué tipo de servidor utilizaremos, una máquina de desarrollo, como servidor o como servidor dedicado. Esta elección influye en los recursos que utilizará; nosotros la utilizaremos como máquina de desarrollo.
Después nos pregunta el tipo de BBDD, de propósito general, sólo transaccional o no transaccional. Una transacción es un conjunto de órdenes que se ejecuta como una unidad de trabajo indivisible : para que la unidad de trabajo se complete correctamente se deben completar todas sus tareas correctamente; si cualquier tarea se ejecuta incorrectamente la transacción falla y se deshacen las tareas previas. Las transacciones son muy útiles para mantener la integridad de los datos. Nosotros elegiremos de propósito general.
Ahora elegimos la ruta para almacenar físicamente los datos.
Indicamos el número de usuarios concurrentes (es decir, simultáneos) que esperamos tener. Como será para pruebas elegimos la opción por defecto (20 conexiones).
Configuramos las opciones de red. Para nosotros nos será suficiente las opciones por defecto.
Llegamos al conjunto de caracteres. Latin1 o UTF8 son los más corrientes pero también podemos personalizar nuestra elección. Para nuestro idioma nos vale Latin1.
Ahora nos pregunta si queremos instalarlo como servicio de Windows e incluirlo en el path. Eso ya a vuestra elección.
Llegamos al usuario administrador, introducimos una contraseña para él. No recomiendo utilizar cuentas anónimas porque profesionalmente no se utilizan nunca, creo.
Et voilá, ya tenemos un servidor instalado y configurado.
Administrando la base de datos
Prueba a ejecutar la consola (Inicio > Todos los programas > MySQL > MySQL Server 5.1 > MySQL Command Line Client), y metemos la contraseña de administrador.
El comando “help;” resolverá casi todas tus dudas. “show databases;” nos mostrará las bases de datos actuales. “create database holamundo;” nos creará una nueva base de datos llamada holamundo que podremos utilizar para nuestros ejemplos futuros. “use database holamundo;” nos permite utilizar la base de datos ;con “show tables;” vemos las tablas que contiene, y con ANSI SQL podemos consultar, crear, modificar o eliminar tanto tablas como datos.
También te puede interesar:
- Formatear los datos en SQL El formato de los datos de entrada puede provocar fallos al ejecutar la sentencia SQL. Por ejemplo SELECT * FROM MOVIES WHERE TITLE='McHale's Navy' El...
- [JDBC] – UNION de datos tipo LONG La sentencia siguiente (SELECT a.texto FROM…) UNION (SELECT a.texto FROM…) si el campo "a.texto" es de tipo LONG da el error siguiente: ORA-00997: uso no...
- Utilizar variables de entorno en log4j.properties Es útil utilizar variables de entorno del Sistema Operativo en el log4j.properties para indicar la ruta de los ficheros de registro (.log). De esta forma...































Martín dijo
9 de March del 2009 a las 1:34 pm
Vaya forma más relacional de empezar el lunes, ¿no? ^_^
Banyú dijo
9 de March del 2009 a las 1:55 pm
Buenos días (en tercera forma normal).
yoyoooyoy dijo
10 de March del 2009 a las 9:03 am
Puf, la verdad es que no es forma de empezar la semana, y se avecinan más post de estos… mejor empezar la semana con dilbert !