Home UC3M
Home IT

Software de Comunicaciones - ITT Telemática

Guía de uso del gestor de base de datos Derby



 Introducción

En esta página encontraréis información sobre el uso del gestor de base de datos proporcionado con el Servidor de aplicaciones de Sun 8.2, denominado Derby. En sus versiones anteriores, 8.0 y 8.1, este servidor proporcionaba un gestor diferente, denominado PointBase. Derby se utilizará como gestor de base de datos en las prácticas relacionadas con la creación de EJB de Entidad.

Esta guía contiene la información necesaria para configurar vuestra base de datos: comandos de gestión, ejecución de sentencias SQL, y opciones de configuración.

.
 Comandos de Gestión

El gestor de base de datos se instala junto el servidor de aplicaciones en el directorio ${J2EE_HOME}/derby.

Arrancar el gestor

Para arrancar el gestor de base de datos es necesario ejecutar:

  $ asadmin start-database
  

Parar el gestor

Para parar el gestor de Derby es necesario ejecutar:

  $ asadmin stop-database
  

 Ejecución de sentencias SQL: ij

Derby proporciona una consola para introducir sentencias SQL. Para lanzar dicha consola es necesario realizar los siguientes pasos:

  1. Añadir a la variable de entorno CLASSPATH, ${J2EE_HOME}/derby/lib/derbyclient.jar y ${J2EE_HOME}/derby/lib/derbytools.jar.
    • Cambiar la variable  DERBY_INSTALL, inicializaciándola a  ${J2EE_HOME}/derby/
  2. En el directorio ${J2EE_HOME}/derby/frameworks/NetworkServer/bin ejecutar:
       $ bash ./ij.ksh
    	 

    La línea que ejecuta este script es la siguiente:

       java -Dij.driver=org.apache.derby.jdbc.ClientDriver -Dij.protocol=jdbc:derby://localhost:1527/ 
    	       -Dij.user=APP -Dij.password=APP org.apache.derby.tools.ij
    	  

    Esta línea nos indica el "driver", la URL del gestor de base de datos, y el usuario con su respectivo "password". Por defecto, el usuario y su contraseña son app.

  3. Conectarse a la base de datos sobre la que se quiere trabajar para poder ejecutar sentencias SQL. Para ello, ejecutar:
        ij> connect 'jdbc:derby://localhost:1527/sun-appserv-samples;create=true;';
    	  

    Esta sentencia permite conectarse con la base de datos configurada por defecto en el gestor, sun-appserv-samples.

  4. Ahora es posible ejecutar sentencias SQL individuales o cargar un fichero con varias sentencias para ejecutarlo en su totalidad:
    • Para ejecutar sentencias SQL individuales, escribir la sentencia a continuación del indicador ij> y terminar con ";".
    • Para ejecutar sentencias SQL almacenadas en un fichero, ejecutar:
        ij> run 'myscript.sql';
      		
  5. La información necesaria para arrancar la herramienta ij puede ser visualizada en la herramienta de administración, así:

    • En el navegador, entrar a http://localhost:4848. Introducir el "login" y "password" de administrador.
    • En el árbol de Resources, extender JDBC y a continuación seleccionar Connection Pool.
    • En la ventana de la derecha, clic en DerbyPool. En el apartado Properties podéis encontrar información sobre el puerto, nombre del servidor, nombre de la base de datos, usuario, "password", etc.

 
 Configuración de la base de datos bankdb

Para facilitar la realización de las prácticas del EJB de entidad cuya persistencia está gestionada por el bean, vamos a crear un usuario específico (swc/swc). El esquema ("schema") corresponde al nombre de usuario, y se puede crear implicita o explicitamente. De forma implicita, se crea cuando se crea un objeto en la base de datos (por ejemplo, una tabla). Se crea explicitamente ejecutando:

  ij>create schema nombre_schema;
  
  1. Abrir la herramienta de administración y crear un nuevo Connection Pool. Para ello debemos realizar los siguientes pasos:
    1. En el árbol de Resources, extender JDBC y a continuación seleccionar Connection Pool.
    2. En la parte derecha de la página, clic en el botón New... para crear un nuevo recurso:
      • En el campo Name, introducir DerbyBankdbPool.
      • En el campo Resource Type, seleccionar en el combobox, javax.sql.DataSource.
      • En el campo Database Vendor, seleccionar en el combobox, Derby.
      • Clic en Next.
      • En la siguiente ventana, General Settings, mantener las opciones por defecto y clic en Next.
      • La siguiente ventana muestra todas las opciones de configuración de nuestra nueva conexión. Al final de la ventana, en el apartado de Properties, configurar los siguientes atributos:
        • PortNumber: 1527
        • User: swc
        • Password: swc
        • ServerName: localhost
        • DatabaseName: bankdb
        • ConnectionAttributes: ;create=true
        • Seleccionar el resto de atributos y clic en el botón Delete Properties.

        Pantalla de creación de la conexión a la base de datos

      • Clic en Finish.
  2. Arrancar el gestor si no lo habéis arrancado previamente.
  3. Arrancaar la herramienta ij y ejecutar:
       ij> connect 'jdbc:derby://localhost:1527/bankdb;create=true;user=swc;password=swc;';
       
  4. Crear la tabla de usuarios en la base de datos, users, con el script create_table.sql. Automáticamente se crea el "schema" SWC.
 Referencias