Sunteți pe pagina 1din 25

UNIVERSIDAD DE EL SALVADOR ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS HERRAMIENTAS DE PRODUCTIVIDAD

BASES DE DATOS CONECTANDO A UNA BASE DE DATOS

INSTALANDO EL SISTEMA GESTOR DE BASE DE DATOS


Este apartado de la gua tiene como objetivo que el estudiante pueda instalar un Sistema Gestor de Base de Datos (SGDB) en su equipo de trabajo particular. Para instalar el SGBD en Windows vaya a las direcciones que se detalla a continuacin y siga los pasos que corresponden: PostgreSQL Server: http://www.enterprisedb.com/products-services-training/pgdownload SQL Server 2008: Express SP3: http://www.microsoft.com/downloads/es-es/details.aspx?familyid=152798346f7e-4c95-a772-921f771a9549&displaylang=es

INSTALANDO SQL Server 2008 Express


Para SQL Server debe realizar una Nueva instalacin independiente. Si se desea instalar el SGDB debe elegir la opcin Servicios de Motor de base de datos.

Por defecto, el nombre de la instancia es SQLExpress. Puede cambiar el nombre o elegir la opcin Instancia predeterminada. Cambie el nombre predeterminado de la instancia si tiene otra instalacin de SQL Server Express, que ya tenga asignado este nombre.

Las cuentas de servicio son las cuentas de usuario del Sistema operativo que podrn ejecutar los servicios de SQL Server. Elija un nombre de usuario vlido y su contrasea. En un entorno de desarrollo, usualmente se usa el usuario que est realizando la instalacin.

En el modo de autenticacin, se recomienda el Modo mixto. Esto permitir crear una cuenta de administrador del Servidor de la base de datos (sa) y asignar una contrasea.

Adems, se debe agregar un usuario del SO como administrador de SQL Server. Como se mencion antes, en un entorno de desarrollo, se suele agregar al usuario que realiza la instalacin. Para administrar la base de datos desde un entorno de ventanas se recomienda instalar el SQL Server Management Studio Express, que puede descargar desde la siguiente direccin: http://www.microsoft.com/downloads/es-es/details.aspx? FamilyID=08e52ac2-1d62-45f6-9a4a-4b76a8564a2b.

Este entorno permite realizar acciones como: Crear y borrar usuarios de base de datos (Inicios de sesin) Crear, modificar y eliminar Bases de datos Agregar, modificar y eliminar objetos a la base de datos: Tablas, Procedimientos almacenados, Trigerrs, etc.

NOTA: En Windows 7, la instalacin del Management Studio debe realizar antes de instalar el Servidor de la base de datos para evitar un conflicto de incompatibilidad.

INSTALANDO PostgreSQL
Para una instalacin en Windows, ejecutar el instalador para Windows y seguir los pasos. Los usuario de Linux pueden instalar el servidor de base de datos desde el gestor de paquetes correspondiente a la distribucin que tengan instalada. En cualquier gestor de paquetes bastar con escribir la palabra: postgresql-server para que el gestor de paquetes nos muestre el paquete deseado. Al elegir instalarlo, el gestor de paquetes mostrar una advertencia de que adems del paquete, se instalarn las dependencias necesarias para que funcione correctamente. Otra alternativa es descargar en el centro de descarga de Postgres el instalador grfico, que es un paquete de instalacin que incluye el GUI de administracin para servidores de base de datos PostgreSQL (PgAdmin III). El GUI de administracin para bases de datos PostgreSQL que viene por defecto con el instalador es PgAdmin III. Este gestor permite crear acciones como: Crear y borrar usuarios Crear, modificar y eliminar bases de datos Agregar, modificar y eliminar objetos a la base de datos: esquemas, tablas, secuencias, etc.

Por defecto, PostgreSQL se instala con las siguientes caractersticas: Super usuario administrador del SGBD: postgres Puerto de conexin: 5432

Esta configuracin puede ser modificada en los archivos pg_hba.conf y postgresql.conf, que se encuentran en la carpeta data especificada durante la instalacin.

CREANDO UNA BASE DE DATOS


Crearemos una pequea base de datos de ejemplo que tendr contendr un conjunto de clientes y su tipo.

Modelo lgico de la base de datos

Modelo fsico de la base de datos

IMPLEMENTACION DE LA BASE DE DATOS


SQL Server Express 2008
Iniciar la aplicacin SQL Server Management Studio, especificar el servidor que se le indique. Escriba su carnet como inicio de sesin y contrasea. Si fuera necesario crear una base de datos, haga clic derecho en el nodo Bases de datos y elija la opcin Nueva base de datos. Como nombre de la base de datos escriba su nmero de carnet.

Haga clic en Aceptar para que la base de datos sea creada por SQL Server. Dado que en nuestro caso la base de datos ya se encuentra creada, es posible agregar los objetos de los que estar compuesta para su correcta implementacin. Para crear una tabla nueva, hacer clic derecho en el nodo Tablas y elegir la opcin Nueva Tabla.

SQL Server mostrar una pantalla para la edicin de los campos de la tabla y sus caractersticas. Escriba los nombres de las columnas de acuerdo al diseo propuesto y el tipo de dato que corresponde. En SQL Server, los tipos de datos que se asignarn son los siguientes:

Tabla:tipo_cliente NOMBRE DEL CAMPO id_tipo_cliente nombre TIPO bigint varchar TAMAO N/A 50 LLAVE Si

Tabla:cliente NOMBRE DEL CAMPO id_cliente nombre id_tipo_cliente TIPO bigint varchar bigint TAMAO N/A 50 N/A LLAVE Si

Para indicar que un campos es la llave primaria de la tabla, puede hacerse clic derecho en el campo que se desea configurar como llave primaria y elegir la opcin Establecer clave principal o hacer clic en el campo y hacer clic en el botn cuyo icono es una llave, situado en la barra de herramientas de diseo ubicada en la superior al rbol de objetos de la conexin. En el diseo que estamos implementando, usaremos llaves ficticias como llaves primarias, por lo que deberemos configurar para cada una de esas llaves, como campos de control de identidad.

Una vez realizada la configuracin de una tabla, presionar el botn guardar en la barra de herramientas principal y escribir

el nombre de la tabla en el cuadro de texto que aparece.

Cuando ya tengamos las tablas creadas, ser necesario especificar las relaciones entre ellas. Para ello, entramos a modo de diseo de la tabla dependiente de la relacin, es decir, la tabla que tendr la llave fornea. En este caso, cliente. Esto desplegar una pantalla en la que se listan las relaciones en las que se ve involucrada la tabla seleccionada. Para agregar una nueva relacin, haga clic en el botn Agregar. Esto crear una nueva relacin, a la que deberemos especificar las tablas y columnas involucradas.

Para especificar la relacin, haga clic en el nodo Especificacin de tablas y columnas y luego en el botn que aparece a la derecha. Esto mostrar una pantalla donde debemos indicar como Tabla de clave principal la tabla que tiene la llave primaria que deseamos relacionar y el campo que es la llave primaria. En Tabla de clave externa estar seleccionada por defecto la tabla en la que nos encontrbamos trabajando al entrar a la opcin, en este caso cliente y el campo que ser la llave fornea en dicha tabla.

Si se desea verificar el modelo de forma grfica, podemos crear un diagrama de las tablas haciendo clic derecho en el nodo Diagramas de base de datos y eligiendo la opcin Nuevo diagrama de base de datos.

PostgreSQL
Para conectarse a una base de datos PostgreSQL desde PgAdmin III, iniciar la aplicacin PgAdmin III. Para agregar una nueva conexin haga clic en el icono Add a connection to a server (Aadir conexin a servidor), situado en el extremo izquierdo de la barra de herramientas de PgAdmin III. Esto mostrar una ventana de registro de un nuevo servidor. En el campo Name asigne un nombre a la conexin (p. ej.: HDP115), en el campo Host, asigne la direccin que se le indique.

Use su nmero de carnet como nombre de usuario y clave y haga clic en Aceptar.

Una vez registrado el servidor, podr

Si deseramos crear una base de datos, podemos crearla haciendo clic derecho en el nodo Databases y seleccionando la opcin New Database.

En este caso, la base de datos ya est creada con el nombre hdp115, por lo que pasaremos a crear un esquema con su nmero de carnet como nombre. Para ello, haga clic derecho en el nodo Schemas y eliga la opcin New Schema. Una vez creado el esquema, puede crear las tablas de acuerdo al diseo especificado.

Tabla: tipo_cliente NOMBRE DEL CAMPO id_tipo_cliente nombre TIPO serial character varying TAMAO N/A 50 LLAVE Si

Tabla: cliente NOMBRE DEL CAMPO id_cliente nombre id_tipo_cliente TIPO serial character varying integer TAMAO N/A 50 N/A LLAVE Si

Para crear una tabla hacemos clic derecho sobre el nodo Tables del esquema en el que estamos trabajando y elegimos la opcin New table.

En la ventana que aparece, deberemos de indicar los campos (Columnas) de cada tabla. Una vez creados los campos (pestaa Columns), es posible indicar las llaves primarias y las relaciones entre las tablas, siempre que las tablas dependientes ya hayan sido creadas.

Para crear una llave primaria, ir a la pestaa Costraints y hacer clic en el botn Add (Aadir) cuando el tipo de restriccin (Constraint) sea Primary key. Ah, indicar el campo que desea declarar como llave primaria y hacer clic en Aceptar.

Podemos dejar que Postgres asigne el nombre a la restriccin y nicamente elegir el campo que queremos declarar como llave primaria. En este caso, nicamente agregaremos el campo id_cliente.

Una vez agregada la llave primaria, podemos definir las llaves forneas para la tabla en la que estamos trabajando. En el caso de la tabla cliente, hacemos clic en Add cuando el tipo de restriccin es Foreign Key y

Podemos dejar que Postgres asigne automticamente el nombre a la restriccin. En la pestaa Properties debemos elegir la tabla a la que se har referencia. En este caso, la tabla tipo_cliente. En la pestaa Columns seleccionar el campo que servir como llave fornea en la tabla. En este caso id_tipo_cliente. Postgres asume que el campo al que se est haciendo referencia es la llave primaria de la tabla indicada en la pestaa propiedades.

Una vez indicados los campos, haga clic en el botn Add (Aadir( y luego en el botn Ok.

Una vez definidas las restricciones, presionar el botn Ok.

Ntese que como las llaves primarias de las tablas han sido configuradas como tipo serial, Postgres crea una secuencia para cada campo. Esto es el equivalente al campo de identidad de SQL Server.

CONECTANDO A LA BD DESDE NUESTRA APLICACION


Lgicamente, cualquier esfuerzo para tener y mantener una base de datos tiene como objetivo que nuestras aplicaciones puedan conectarse a ellas para almacenar y recuperar los datos. Usaremos la aplicacin de ejemplo: Clientes para conectarnos a la base de datos que creamos anteriormente. En toda aplicacin Java que se conecte a una base de datos debe incluirse la librera de controladores (drivers) de conexin para el SGBD al que se desea conectarse.

La aplicacin de ejemplo que veremos est desarrollada para conectarse a una base de datos PostgreSQL, por lo que el driver incluido en las libreras del proyecto es el de ese SGBD. La clase que se conecta a la base de datos, que en el ejemplo est programada en forma de un servicio, usa la clase DriverManager para crear una conexin. La URL de conexin tpicamente tiene la siguiente forma: jdbc:<sgbd>://<nombre o direccin del servidor>:<puerto>/<nombre de la base de datos>?<parametros de conexin>

Donde: jdbc indica que se trata de una conexin a travs de un manejador de conexin a bases de datos Java (Java Data Base Connectivity).

SGBD indicar el Sistema Gestor de Base de Datos al que est destinado el driver. El nombre a utilizar es el especificado en la documentacin de cada driver. Nombre o direccin del servidor. El nombre de dominio del servidor de base de datos o su direccin IP. Puerto: El puerto que est escuchando el servidor de la base de datos. Para PostgreSQL el puerto por defecto es el 5432 y para SQL Server es el 4433

public class DBService { private static Connection connection; private static TipoClienteDB tipoClienteDb; private static String url = "jdbc:postgresql://192.168.1.5:5432/hdp115"; public static Connection getConnection() throws SQLException { if (connection == null) { connection = DriverManager.getConnection(url, "postgres", "admin"); /* * Configurando el esquema xx0000 como el esquema de trabajo * Exclusivo de PostgreSQL */ Statement stat = connection.createStatement(); stat.execute("SET search_path = 'xx00000'"); } return connection; } public static TipoClienteDB getTipoClienteDb() { if (tipoClienteDb == null) { tipoClienteDb = new TipoClienteDB(); } return tipoClienteDb; } }

En el ejemplo nicamente se ha programado un mtodo guardar para la entidad TipoCliente, que se corresponde con la entidad tipo_cliente de la base de datos. Los mtodos de acceso a datos se han programa de en la clase TipoClienteDB. Debe modificar la cadena de conexin segn el controlador de conexin que se est usando y la direccin del servidor. Por ejemplo, si se est conectado a un servidor que se encuentra en el mismo equipo, puede usar localhost como nombre del servidor, as: jdbc:postgresql://localhost/hdp115.

public class TipoClienteDB { public List<TipoCliente> findAll() throws SQLException{ List<TipoCliente> tiposCliente = new ArrayList<TipoCliente>(); String sql = "SELECT * FROM tipo_cliente"; PreparedStatement prepStat = DBService.getConnection().prepareStatement(sql); ResultSet res = prepStat.executeQuery(); while(res.next()){ TipoCliente tipoCliente = new TipoCliente(); tipoCliente.setIdCliente(res.getInt("id_tipo_cliente")); tipoCliente.setNombre(res.getString("nombre")); tiposCliente.add(tipoCliente); } return tiposCliente; } public int save(TipoCliente tipoCliente) throws SQLException{ int id = 0; /* * RETURNING id_tipo_cliente es una instruccin exclusiva de PostgreSQL * Si se cambia el motor de la base de datos, deber quitarse esta parte de la sentencia */ String sql = "INSERT INTO tipo_cliente(nombre) VALUES(?) RETURNING id_tipo_cliente"; PreparedStatement prepStat = DBService.getConnection().prepareStatement(sql); prepStat.setString(1, tipoCliente.getNombre()); ResultSet rs = prepStat.executeQuery(); if(rs.next()){ id = rs.getInt(1); } return id; } }

NetBeans incluye por defecto el controlador para conexiones a bases de datos PostgreSQL. Si se desea actualizar el controlador, puede descargarse y actualizar el archivo de la librera por defecto o crear una librera nueva. El controlador de SQL Server no est incorporado por defecto.

Para descargar los controladores de estos SGBD vaya a las siguientes direcciones: Driver JDBC para SQL Server: http://www.microsoft.com/downloads/es-es/confirmation.aspx? familyid=99b21b65-e98f-4a61-b811-19912601fdc9 Driver JDBC para PostgreSQL: http://jdbc.postgresql.org/download.html

S-ar putea să vă placă și