SlideShare una empresa de Scribd logo
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 guía 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 continuación 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=15279834-
        6f7e-4c95-a772-921f771a9549&displaylang=es




INSTALANDO SQL Server 2008 Express
Para SQL Server debe realizar una Nueva instalación independiente. Si se desea instalar el SGDB debe elegir la opción
Servicios de Motor de base de datos.




Por defecto, el nombre de la instancia es SQLExpress. Puede cambiar el nombre o elegir la opción Instancia
predeterminada. Cambie el nombre predeterminado de la instancia si tiene otra instalación de SQL Server Express, que ya
tenga asignado este nombre.
Las cuentas de servicio son las cuentas de usuario del Sistema operativo que podrán ejecutar los servicios de SQL Server.
Elija un nombre de usuario válido y su contraseña. En un entorno de desarrollo, usualmente se usa el usuario que está
realizando la instalación.
En el modo de autenticación, se recomienda el Modo mixto. Esto permitirá crear una cuenta de administrador del Servidor
de la base de datos (sa) y asignar una contraseña.
Además, 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 instalación.

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 dirección: 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 sesión)

       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 instalación 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 instalación 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
distribución 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 además del paquete, se instalarán las dependencias necesarias para que funcione correctamente.

Otra alternativa es descargar en el centro de descarga de Postgres el instalador gráfico, que es un paquete de instalación que
incluye el GUI de administración para servidores de base de datos PostgreSQL (PgAdmin III).

El GUI de administración 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 características:

        Super usuario administrador del SGBD: postgres

        Puerto de conexión: 5432



Esta configuración puede ser modificada en los archivos pg_hba.conf y postgresql.conf, que se encuentran en la carpeta data
especificada durante la instalación.
CREANDO UNA BASE DE DATOS
Crearemos una pequeña base de datos de ejemplo que tendrá contendrá un conjunto de clientes y su tipo.




                                            Modelo lógico de la base de datos




                                            Modelo físico de la base de datos




IMPLEMENTACION DE LA BASE DE DATOS

SQL Server Express 2008

Iniciar la aplicación SQL Server Management Studio, especificar el servidor que se le indique. Escriba su carnet como
inicio de sesión y contraseña.

Si fuera necesario crear una base de datos, haga clic derecho en el nodo Bases de datos y elija la opción Nueva base de
datos. Como nombre de la base de datos escriba su número 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 implementación. Para crear
una tabla nueva, hacer clic derecho en el nodo Tablas y elegir la opción Nueva Tabla.
SQL Server mostrará una pantalla para la edición de los campos de la tabla y sus características. Escriba los nombres de las
columnas de acuerdo al diseño propuesto y el tipo de dato que corresponde.

En SQL Server, los tipos de datos que se asignarán son los siguientes:



Tabla:tipo_cliente

  NOMBRE DEL CAMPO                         TIPO                          TAMAÑO                         LLAVE
        id_tipo_cliente                    bigint                          N/A                             Si
           nombre                          varchar                          50



Tabla:cliente

  NOMBRE DEL CAMPO                         TIPO                          TAMAÑO                         LLAVE
          id_cliente                       bigint                          N/A                             Si
           nombre                          varchar                          50
        id_tipo_cliente                    bigint                          N/A
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 opción Establecer clave principal o hacer clic en el campo y hacer clic en el botón cuyo
icono es una llave, situado en la barra de herramientas de diseño ubicada en la superior al árbol de objetos de la conexión.

En el diseño 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 configuración de una tabla, presionar el botón 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
diseño de la tabla dependiente de la relación, es decir, la tabla que tendrá la llave foránea. 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 relación, haga clic en el botón Agregar. Esto creará una nueva relación, a la que deberemos especificar
las tablas y columnas involucradas.
Para especificar la relación, haga clic en el nodo Especificación de tablas y columnas y luego en el botón 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 encontrábamos trabajando al entrar a la opción, en este caso cliente y el campo que será la llave foránea en
dicha tabla.
Si se desea verificar el modelo de forma gráfica, podemos crear un diagrama de las tablas haciendo clic derecho en el nodo
Diagramas de base de datos y eligiendo la opción Nuevo diagrama de base de datos.
PostgreSQL

Para conectarse a una base de datos PostgreSQL desde PgAdmin III, iniciar la aplicación PgAdmin III. Para agregar una
nueva conexión haga clic en el icono Add a connection to a server (Añadir conexión 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 conexión (p. ej.:
HDP115), en el campo Host, asigne la dirección que se le indique.




Use su número de carnet como nombre de usuario y clave y haga clic en Aceptar.



Una vez registrado el servidor, podrá
Si deseáramos crear una base de datos, podemos crearla haciendo clic derecho en el nodo Databases y seleccionando la
opción 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
número de carnet como nombre. Para ello, haga clic derecho en el nodo Schemas y eliga la opción New Schema.

Una vez creado el esquema, puede crear las tablas de acuerdo al diseño especificado.
Tabla: tipo_cliente

  NOMBRE DEL CAMPO                       TIPO                      TAMAÑO                         LLAVE
        id_tipo_cliente                  serial                        N/A                           Si
            nombre                 character varying                   50



Tabla: cliente

  NOMBRE DEL CAMPO                       TIPO                      TAMAÑO                         LLAVE
           id_cliente                    serial                        N/A                           Si
            nombre                 character varying                   50
        id_tipo_cliente                 integer                        N/A



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




En la ventana que aparece, deberemos de indicar los campos (Columnas) de cada tabla. Una vez creados los campos
(pestaña 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 pestaña Costraints y hacer clic en el botón Add (Añadir) cuando el tipo de restricción
(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 restricción 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 foráneas para la tabla en la que estamos trabajando. En el
caso de la tabla cliente, hacemos clic en Add cuando el tipo de restricción es Foreign Key y




Podemos dejar que Postgres asigne automáticamente el nombre a la restricción. En la pestaña Properties debemos elegir la
tabla a la que se hará referencia. En este caso, la tabla tipo_cliente.
En la pestaña Columns seleccionar el campo que servirá como llave foránea 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 pestaña
propiedades.
Una vez indicados los campos, haga clic en el botón Add (Añadir( y luego en el botón Ok.




Una vez definidas las restricciones, presionar el botón Ok.
Nótese 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
Lógicamente, 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 aplicación de ejemplo: Clientes para
conectarnos a la base de datos que creamos anteriormente.

En toda aplicación Java que se conecte a una base de datos debe incluirse la librería de controladores (drivers) de conexión
para el SGBD al que se desea conectarse.




La aplicación de ejemplo que veremos está desarrollada para conectarse a una base de datos PostgreSQL, por lo que el
driver incluido en las librerías 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 conexión.

La URL de conexión típicamente tiene la siguiente forma:

jdbc:<sgbd>://<nombre o dirección del servidor>:<puerto>/<nombre de la base de datos>?<parametros de conexión>



Donde:

jdbc indica que se trata de una conexión a través de un manejador de conexión 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 documentación de cada driver.

Nombre o dirección del servidor. El nombre de dominio del servidor de base de datos o su dirección 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 método guardar para la entidad TipoCliente, que se corresponde con la
entidad tipo_cliente de la base de datos. Los métodos de acceso a datos se han programa de en la clase TipoClienteDB.

Debe modificar la cadena de conexión según el controlador de conexión que se esté usando y la dirección 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 instrucción 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 librería por defecto o crear una librería 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

Más contenido relacionado

La actualidad más candente

Instrumento access sistemas
Instrumento access sistemasInstrumento access sistemas
Instrumento access sistemas
Alberto Vargas
 
Manual completo-sql
Manual completo-sqlManual completo-sql
Manual completo-sql
Anaylen Lopez
 
Ambiente de trabajo
Ambiente de trabajoAmbiente de trabajo
Ambiente de trabajo
kevinrevelo
 
Unidad 3 access talleres practicos
Unidad 3 access talleres practicosUnidad 3 access talleres practicos
Unidad 3 access talleres practicos
wilfridoserrano
 
Manual excel avanzado
Manual excel avanzadoManual excel avanzado
Manual excel avanzado
CristinaCoutio1
 
3.1 Formatos y Seguimiento de Nombres
3.1 Formatos y Seguimiento de Nombres3.1 Formatos y Seguimiento de Nombres
3.1 Formatos y Seguimiento de Nombres
Training_14
 
Taller Access #3
Taller Access #3Taller Access #3
Taller Access #3
Isaac Galvez
 
Bdii 09 ddl_new
Bdii 09 ddl_newBdii 09 ddl_new
Bdii 09 ddl_new
Rody Paredes
 
Leo
LeoLeo
SAP Business Intelligence - Autorizaciones SAP BW 7
SAP Business Intelligence - Autorizaciones SAP BW 7SAP Business Intelligence - Autorizaciones SAP BW 7
SAP Business Intelligence - Autorizaciones SAP BW 7
Oreka IT
 
PráCticas Access Xp Bd I
PráCticas Access Xp Bd IPráCticas Access Xp Bd I
PráCticas Access Xp Bd I
Gabriel Mondragón
 
Portafolio de evidencias carolina jimenez dfd
Portafolio de evidencias carolina jimenez dfdPortafolio de evidencias carolina jimenez dfd
Portafolio de evidencias carolina jimenez dfd
Karitho- Jimenez
 
Sql basico parte_i_
Sql basico parte_i_Sql basico parte_i_
Sql basico parte_i_
Luis Jherry
 
Práctica Completa en Access
Práctica Completa en AccessPráctica Completa en Access
Práctica Completa en Access
jubacalo
 
Crear y programar un proyecto nuevo
Crear y programar un proyecto nuevoCrear y programar un proyecto nuevo
Crear y programar un proyecto nuevo
Celena Montenegro Rosales
 
Diapositivas
DiapositivasDiapositivas
Diapositivas
Sari69
 

La actualidad más candente (16)

Instrumento access sistemas
Instrumento access sistemasInstrumento access sistemas
Instrumento access sistemas
 
Manual completo-sql
Manual completo-sqlManual completo-sql
Manual completo-sql
 
Ambiente de trabajo
Ambiente de trabajoAmbiente de trabajo
Ambiente de trabajo
 
Unidad 3 access talleres practicos
Unidad 3 access talleres practicosUnidad 3 access talleres practicos
Unidad 3 access talleres practicos
 
Manual excel avanzado
Manual excel avanzadoManual excel avanzado
Manual excel avanzado
 
3.1 Formatos y Seguimiento de Nombres
3.1 Formatos y Seguimiento de Nombres3.1 Formatos y Seguimiento de Nombres
3.1 Formatos y Seguimiento de Nombres
 
Taller Access #3
Taller Access #3Taller Access #3
Taller Access #3
 
Bdii 09 ddl_new
Bdii 09 ddl_newBdii 09 ddl_new
Bdii 09 ddl_new
 
Leo
LeoLeo
Leo
 
SAP Business Intelligence - Autorizaciones SAP BW 7
SAP Business Intelligence - Autorizaciones SAP BW 7SAP Business Intelligence - Autorizaciones SAP BW 7
SAP Business Intelligence - Autorizaciones SAP BW 7
 
PráCticas Access Xp Bd I
PráCticas Access Xp Bd IPráCticas Access Xp Bd I
PráCticas Access Xp Bd I
 
Portafolio de evidencias carolina jimenez dfd
Portafolio de evidencias carolina jimenez dfdPortafolio de evidencias carolina jimenez dfd
Portafolio de evidencias carolina jimenez dfd
 
Sql basico parte_i_
Sql basico parte_i_Sql basico parte_i_
Sql basico parte_i_
 
Práctica Completa en Access
Práctica Completa en AccessPráctica Completa en Access
Práctica Completa en Access
 
Crear y programar un proyecto nuevo
Crear y programar un proyecto nuevoCrear y programar un proyecto nuevo
Crear y programar un proyecto nuevo
 
Diapositivas
DiapositivasDiapositivas
Diapositivas
 

Destacado

Manual de instalacion de postgres sql
Manual de instalacion de postgres sqlManual de instalacion de postgres sql
Manual de instalacion de postgres sql
javier109718
 
Diapositivas mysql y postgresql
Diapositivas mysql y postgresqlDiapositivas mysql y postgresql
Diapositivas mysql y postgresql
BrayanCaranqui
 
Documentacion postgresql
Documentacion postgresqlDocumentacion postgresql
Documentacion postgresql
Cesar Martinez
 
Postgres tutorial
Postgres tutorial Postgres tutorial
Postgres tutorial
'Jaaviier Əscoobar
 
Diapositivas mysql y postgresql
Diapositivas mysql y postgresqlDiapositivas mysql y postgresql
Diapositivas mysql y postgresql
BrayanCaranqui
 
Disparadores Trigger En Sql Y My Sql
Disparadores Trigger En Sql Y My SqlDisparadores Trigger En Sql Y My Sql
Disparadores Trigger En Sql Y My Sql
yareli
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
Oto Tumax
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
brobelo
 
Yocied (5)
Yocied (5)Yocied (5)
Yocied (5)
ismar24
 
Logotips i Imagotips Francesc Reda
Logotips i Imagotips Francesc RedaLogotips i Imagotips Francesc Reda
Logotips i Imagotips Francesc Reda
xescreda
 
Verkosta tukea kieltenopiskeluun_salminen_2013
Verkosta tukea kieltenopiskeluun_salminen_2013Verkosta tukea kieltenopiskeluun_salminen_2013
Verkosta tukea kieltenopiskeluun_salminen_2013Tuija Salminen
 
herramientas digitales para la educación
herramientas digitales para la educación herramientas digitales para la educación
herramientas digitales para la educación
Selenemtz
 
HCAA TPA University 2014 - Consumer Engagement Session - Novu
HCAA TPA University 2014 - Consumer Engagement Session - NovuHCAA TPA University 2014 - Consumer Engagement Session - Novu
HCAA TPA University 2014 - Consumer Engagement Session - Novu
Novu Health
 
Are you hungry?
Are you hungry?Are you hungry?
Are you hungry?
Caroline Ribeiro
 
Права, свободи та відповідальність
Права, свободи та відповідальність Права, свободи та відповідальність
Права, свободи та відповідальність
Yura Yatsko
 
09
0909
Mulher artesã
Mulher artesãMulher artesã
Mulher artesã
Anne Karolynne
 
Programa cã ncer de_mama_perspectiva_feminista
Programa cã ncer de_mama_perspectiva_feministaPrograma cã ncer de_mama_perspectiva_feminista
Programa cã ncer de_mama_perspectiva_feminista
DONESENXARXA
 
Nota de venta
Nota de ventaNota de venta
Nota de venta
Chris Vera
 

Destacado (20)

Manual de instalacion de postgres sql
Manual de instalacion de postgres sqlManual de instalacion de postgres sql
Manual de instalacion de postgres sql
 
Diapositivas mysql y postgresql
Diapositivas mysql y postgresqlDiapositivas mysql y postgresql
Diapositivas mysql y postgresql
 
Documentacion postgresql
Documentacion postgresqlDocumentacion postgresql
Documentacion postgresql
 
Postgres tutorial
Postgres tutorial Postgres tutorial
Postgres tutorial
 
Diapositivas mysql y postgresql
Diapositivas mysql y postgresqlDiapositivas mysql y postgresql
Diapositivas mysql y postgresql
 
Disparadores Trigger En Sql Y My Sql
Disparadores Trigger En Sql Y My SqlDisparadores Trigger En Sql Y My Sql
Disparadores Trigger En Sql Y My Sql
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Yocied (5)
Yocied (5)Yocied (5)
Yocied (5)
 
Logotips i Imagotips Francesc Reda
Logotips i Imagotips Francesc RedaLogotips i Imagotips Francesc Reda
Logotips i Imagotips Francesc Reda
 
Verkosta tukea kieltenopiskeluun_salminen_2013
Verkosta tukea kieltenopiskeluun_salminen_2013Verkosta tukea kieltenopiskeluun_salminen_2013
Verkosta tukea kieltenopiskeluun_salminen_2013
 
herramientas digitales para la educación
herramientas digitales para la educación herramientas digitales para la educación
herramientas digitales para la educación
 
HCAA TPA University 2014 - Consumer Engagement Session - Novu
HCAA TPA University 2014 - Consumer Engagement Session - NovuHCAA TPA University 2014 - Consumer Engagement Session - Novu
HCAA TPA University 2014 - Consumer Engagement Session - Novu
 
Are you hungry?
Are you hungry?Are you hungry?
Are you hungry?
 
Права, свободи та відповідальність
Права, свободи та відповідальність Права, свободи та відповідальність
Права, свободи та відповідальність
 
09
0909
09
 
Mulher artesã
Mulher artesãMulher artesã
Mulher artesã
 
Programa cã ncer de_mama_perspectiva_feminista
Programa cã ncer de_mama_perspectiva_feministaPrograma cã ncer de_mama_perspectiva_feminista
Programa cã ncer de_mama_perspectiva_feminista
 
Nota de venta
Nota de ventaNota de venta
Nota de venta
 

Similar a Guía de laboratorio n° 4 bases de datos

Integridad referencial en my sql
Integridad referencial en my sqlIntegridad referencial en my sql
Integridad referencial en my sql
Yusef Yamel
 
Lenguaje de-programacion-iii-visual-fox-pro
Lenguaje de-programacion-iii-visual-fox-proLenguaje de-programacion-iii-visual-fox-pro
Lenguaje de-programacion-iii-visual-fox-pro
Alejandro Alzate Walteros
 
Lenguaje de-programacion-iii-visual-fox-pro
Lenguaje de-programacion-iii-visual-fox-proLenguaje de-programacion-iii-visual-fox-pro
Lenguaje de-programacion-iii-visual-fox-pro
Alejandro Alzate Walteros
 
Proyecto De Aplicacion A La Bases Datos
Proyecto De Aplicacion A La Bases DatosProyecto De Aplicacion A La Bases Datos
Proyecto De Aplicacion A La Bases Datos
Andreitap de Granda
 
Proyecto replicacion con sql server
Proyecto replicacion con sql serverProyecto replicacion con sql server
Proyecto replicacion con sql server
edelveis
 
Lenguaje de-programacion-iii-visual-fox-pro
Lenguaje de-programacion-iii-visual-fox-proLenguaje de-programacion-iii-visual-fox-pro
Lenguaje de-programacion-iii-visual-fox-pro
Madeleine Eneida Barrera Condori
 
tablas en acces
tablas en accestablas en acces
tablas en acces
ebelinlema
 
Conexion mysql
Conexion mysqlConexion mysql
Conexion mysql
Pepe PiiÑaa
 
Presentación de DBMS ACCESS y su uso.ppsx
Presentación de DBMS ACCESS y su uso.ppsxPresentación de DBMS ACCESS y su uso.ppsx
Presentación de DBMS ACCESS y su uso.ppsx
NicoleSilvera1
 
Diseño sistema
Diseño sistemaDiseño sistema
Diseño sistema
UNEFA
 
scribd.vpdfs.com_sql-server-tutorial.pdf
scribd.vpdfs.com_sql-server-tutorial.pdfscribd.vpdfs.com_sql-server-tutorial.pdf
scribd.vpdfs.com_sql-server-tutorial.pdf
elidaquionez2
 
Sql server 2012
Sql  server 2012Sql  server 2012
Sql server 2012
Citlalli Vaskz
 
MANUAL DE CREACION DE UNA BASE DE DATOS EN POSTGRESQL
MANUAL DE CREACION DE UNA BASE DE DATOS EN POSTGRESQLMANUAL DE CREACION DE UNA BASE DE DATOS EN POSTGRESQL
MANUAL DE CREACION DE UNA BASE DE DATOS EN POSTGRESQL
Jesus Alberto Casco Agudelo
 
MySQL - SQL.pdf
MySQL - SQL.pdfMySQL - SQL.pdf
MySQL - SQL.pdf
kabern
 
MySQL.pdf
MySQL.pdfMySQL.pdf
MySQL.pdf
kabern
 
Manual completo-sql5
Manual completo-sql5Manual completo-sql5
Manual completo-sql5
Roberto Rojas
 
Informe programacion leomar salas
Informe programacion leomar salasInforme programacion leomar salas
Informe programacion leomar salas
LeomarSalas2
 
Tutorial de MySQL Workbench
Tutorial de MySQL WorkbenchTutorial de MySQL Workbench
Tutorial de MySQL Workbench
MdzPaola19
 
Creación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbenchCreación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbench
Jair Ospino Ardila
 
Tutorial MIneria de datos en sql server
Tutorial  MIneria de datos en sql serverTutorial  MIneria de datos en sql server
Tutorial MIneria de datos en sql server
Ris Fernandez
 

Similar a Guía de laboratorio n° 4 bases de datos (20)

Integridad referencial en my sql
Integridad referencial en my sqlIntegridad referencial en my sql
Integridad referencial en my sql
 
Lenguaje de-programacion-iii-visual-fox-pro
Lenguaje de-programacion-iii-visual-fox-proLenguaje de-programacion-iii-visual-fox-pro
Lenguaje de-programacion-iii-visual-fox-pro
 
Lenguaje de-programacion-iii-visual-fox-pro
Lenguaje de-programacion-iii-visual-fox-proLenguaje de-programacion-iii-visual-fox-pro
Lenguaje de-programacion-iii-visual-fox-pro
 
Proyecto De Aplicacion A La Bases Datos
Proyecto De Aplicacion A La Bases DatosProyecto De Aplicacion A La Bases Datos
Proyecto De Aplicacion A La Bases Datos
 
Proyecto replicacion con sql server
Proyecto replicacion con sql serverProyecto replicacion con sql server
Proyecto replicacion con sql server
 
Lenguaje de-programacion-iii-visual-fox-pro
Lenguaje de-programacion-iii-visual-fox-proLenguaje de-programacion-iii-visual-fox-pro
Lenguaje de-programacion-iii-visual-fox-pro
 
tablas en acces
tablas en accestablas en acces
tablas en acces
 
Conexion mysql
Conexion mysqlConexion mysql
Conexion mysql
 
Presentación de DBMS ACCESS y su uso.ppsx
Presentación de DBMS ACCESS y su uso.ppsxPresentación de DBMS ACCESS y su uso.ppsx
Presentación de DBMS ACCESS y su uso.ppsx
 
Diseño sistema
Diseño sistemaDiseño sistema
Diseño sistema
 
scribd.vpdfs.com_sql-server-tutorial.pdf
scribd.vpdfs.com_sql-server-tutorial.pdfscribd.vpdfs.com_sql-server-tutorial.pdf
scribd.vpdfs.com_sql-server-tutorial.pdf
 
Sql server 2012
Sql  server 2012Sql  server 2012
Sql server 2012
 
MANUAL DE CREACION DE UNA BASE DE DATOS EN POSTGRESQL
MANUAL DE CREACION DE UNA BASE DE DATOS EN POSTGRESQLMANUAL DE CREACION DE UNA BASE DE DATOS EN POSTGRESQL
MANUAL DE CREACION DE UNA BASE DE DATOS EN POSTGRESQL
 
MySQL - SQL.pdf
MySQL - SQL.pdfMySQL - SQL.pdf
MySQL - SQL.pdf
 
MySQL.pdf
MySQL.pdfMySQL.pdf
MySQL.pdf
 
Manual completo-sql5
Manual completo-sql5Manual completo-sql5
Manual completo-sql5
 
Informe programacion leomar salas
Informe programacion leomar salasInforme programacion leomar salas
Informe programacion leomar salas
 
Tutorial de MySQL Workbench
Tutorial de MySQL WorkbenchTutorial de MySQL Workbench
Tutorial de MySQL Workbench
 
Creación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbenchCreación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbench
 
Tutorial MIneria de datos en sql server
Tutorial  MIneria de datos en sql serverTutorial  MIneria de datos en sql server
Tutorial MIneria de datos en sql server
 

Guía de laboratorio n° 4 bases de datos

  • 1. UNIVERSIDAD DE EL SALVADOR ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS HERRAMIENTAS DE PRODUCTIVIDAD BASES DE DATOS CONECTANDO A UNA BASE DE DATOS
  • 2. INSTALANDO EL SISTEMA GESTOR DE BASE DE DATOS Este apartado de la guía 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 continuación 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=15279834- 6f7e-4c95-a772-921f771a9549&displaylang=es INSTALANDO SQL Server 2008 Express Para SQL Server debe realizar una Nueva instalación independiente. Si se desea instalar el SGDB debe elegir la opción Servicios de Motor de base de datos. Por defecto, el nombre de la instancia es SQLExpress. Puede cambiar el nombre o elegir la opción Instancia predeterminada. Cambie el nombre predeterminado de la instancia si tiene otra instalación de SQL Server Express, que ya tenga asignado este nombre.
  • 3. Las cuentas de servicio son las cuentas de usuario del Sistema operativo que podrán ejecutar los servicios de SQL Server. Elija un nombre de usuario válido y su contraseña. En un entorno de desarrollo, usualmente se usa el usuario que está realizando la instalación.
  • 4. En el modo de autenticación, se recomienda el Modo mixto. Esto permitirá crear una cuenta de administrador del Servidor de la base de datos (sa) y asignar una contraseña.
  • 5. Además, 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 instalación. 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 dirección: 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 sesión)  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 instalación del Management Studio debe realizar antes de instalar el Servidor de la base de datos para evitar un conflicto de incompatibilidad.
  • 6. INSTALANDO PostgreSQL Para una instalación 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 distribución 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 además del paquete, se instalarán las dependencias necesarias para que funcione correctamente. Otra alternativa es descargar en el centro de descarga de Postgres el instalador gráfico, que es un paquete de instalación que incluye el GUI de administración para servidores de base de datos PostgreSQL (PgAdmin III). El GUI de administración 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 características:  Super usuario administrador del SGBD: postgres  Puerto de conexión: 5432 Esta configuración puede ser modificada en los archivos pg_hba.conf y postgresql.conf, que se encuentran en la carpeta data especificada durante la instalación.
  • 7. CREANDO UNA BASE DE DATOS Crearemos una pequeña base de datos de ejemplo que tendrá contendrá un conjunto de clientes y su tipo. Modelo lógico de la base de datos Modelo físico de la base de datos IMPLEMENTACION DE LA BASE DE DATOS SQL Server Express 2008 Iniciar la aplicación SQL Server Management Studio, especificar el servidor que se le indique. Escriba su carnet como inicio de sesión y contraseña. Si fuera necesario crear una base de datos, haga clic derecho en el nodo Bases de datos y elija la opción Nueva base de datos. Como nombre de la base de datos escriba su número de carnet.
  • 8. 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 implementación. Para crear una tabla nueva, hacer clic derecho en el nodo Tablas y elegir la opción Nueva Tabla.
  • 9. SQL Server mostrará una pantalla para la edición de los campos de la tabla y sus características. Escriba los nombres de las columnas de acuerdo al diseño propuesto y el tipo de dato que corresponde. En SQL Server, los tipos de datos que se asignarán son los siguientes: Tabla:tipo_cliente NOMBRE DEL CAMPO TIPO TAMAÑO LLAVE id_tipo_cliente bigint N/A Si nombre varchar 50 Tabla:cliente NOMBRE DEL CAMPO TIPO TAMAÑO LLAVE id_cliente bigint N/A Si nombre varchar 50 id_tipo_cliente bigint N/A
  • 10. 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 opción Establecer clave principal o hacer clic en el campo y hacer clic en el botón cuyo icono es una llave, situado en la barra de herramientas de diseño ubicada en la superior al árbol de objetos de la conexión. En el diseño 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 configuración de una tabla, presionar el botón guardar en la barra de herramientas principal y escribir
  • 11. 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 diseño de la tabla dependiente de la relación, es decir, la tabla que tendrá la llave foránea. 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 relación, haga clic en el botón Agregar. Esto creará una nueva relación, a la que deberemos especificar las tablas y columnas involucradas.
  • 12. Para especificar la relación, haga clic en el nodo Especificación de tablas y columnas y luego en el botón 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 encontrábamos trabajando al entrar a la opción, en este caso cliente y el campo que será la llave foránea en dicha tabla.
  • 13.
  • 14. Si se desea verificar el modelo de forma gráfica, podemos crear un diagrama de las tablas haciendo clic derecho en el nodo Diagramas de base de datos y eligiendo la opción Nuevo diagrama de base de datos.
  • 15. PostgreSQL Para conectarse a una base de datos PostgreSQL desde PgAdmin III, iniciar la aplicación PgAdmin III. Para agregar una nueva conexión haga clic en el icono Add a connection to a server (Añadir conexión 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 conexión (p. ej.: HDP115), en el campo Host, asigne la dirección que se le indique. Use su número de carnet como nombre de usuario y clave y haga clic en Aceptar. Una vez registrado el servidor, podrá
  • 16. Si deseáramos crear una base de datos, podemos crearla haciendo clic derecho en el nodo Databases y seleccionando la opción 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 número de carnet como nombre. Para ello, haga clic derecho en el nodo Schemas y eliga la opción New Schema. Una vez creado el esquema, puede crear las tablas de acuerdo al diseño especificado.
  • 17. Tabla: tipo_cliente NOMBRE DEL CAMPO TIPO TAMAÑO LLAVE id_tipo_cliente serial N/A Si nombre character varying 50 Tabla: cliente NOMBRE DEL CAMPO TIPO TAMAÑO LLAVE id_cliente serial N/A Si nombre character varying 50 id_tipo_cliente integer N/A Para crear una tabla hacemos clic derecho sobre el nodo Tables del esquema en el que estamos trabajando y elegimos la opción New table. En la ventana que aparece, deberemos de indicar los campos (Columnas) de cada tabla. Una vez creados los campos (pestaña Columns), es posible indicar las llaves primarias y las relaciones entre las tablas, siempre que las tablas dependientes ya hayan sido creadas.
  • 18. Para crear una llave primaria, ir a la pestaña Costraints y hacer clic en el botón Add (Añadir) cuando el tipo de restricción (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 restricción y únicamente elegir el campo que queremos declarar como llave primaria. En este caso, únicamente agregaremos el campo id_cliente.
  • 19. Una vez agregada la llave primaria, podemos definir las llaves foráneas para la tabla en la que estamos trabajando. En el caso de la tabla cliente, hacemos clic en Add cuando el tipo de restricción es Foreign Key y Podemos dejar que Postgres asigne automáticamente el nombre a la restricción. En la pestaña Properties debemos elegir la tabla a la que se hará referencia. En este caso, la tabla tipo_cliente. En la pestaña Columns seleccionar el campo que servirá como llave foránea 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 pestaña propiedades.
  • 20. Una vez indicados los campos, haga clic en el botón Add (Añadir( y luego en el botón Ok. Una vez definidas las restricciones, presionar el botón Ok.
  • 21. Nótese 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.
  • 22. CONECTANDO A LA BD DESDE NUESTRA APLICACION Lógicamente, 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 aplicación de ejemplo: Clientes para conectarnos a la base de datos que creamos anteriormente. En toda aplicación Java que se conecte a una base de datos debe incluirse la librería de controladores (drivers) de conexión para el SGBD al que se desea conectarse. La aplicación de ejemplo que veremos está desarrollada para conectarse a una base de datos PostgreSQL, por lo que el driver incluido en las librerías 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 conexión. La URL de conexión típicamente tiene la siguiente forma: jdbc:<sgbd>://<nombre o dirección del servidor>:<puerto>/<nombre de la base de datos>?<parametros de conexión> Donde: jdbc indica que se trata de una conexión a través de un manejador de conexión a bases de datos Java (Java Data Base Connectivity).
  • 23. SGBD indicar el Sistema Gestor de Base de Datos al que está destinado el driver. El nombre a utilizar es el especificado en la documentación de cada driver. Nombre o dirección del servidor. El nombre de dominio del servidor de base de datos o su dirección 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 método guardar para la entidad TipoCliente, que se corresponde con la entidad tipo_cliente de la base de datos. Los métodos de acceso a datos se han programa de en la clase TipoClienteDB. Debe modificar la cadena de conexión según el controlador de conexión que se esté usando y la dirección 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.
  • 24. 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 instrucción 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 librería por defecto o crear una librería nueva. El controlador de SQL Server no está incorporado por defecto.
  • 25. 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