domingo, 13 de abril de 2008

Manejando Vistas con PostgreSQL



Antes que todo, que es una vista??

Una vista o views, es una consulta en sql, que refleja el contenido de una tabla o varias tablas, y se puede manejar desde la misma manera como si fuese una tabla.

Go !!

Para crear una vista, debemos utilizar la sentencia CREATE VIEW.

CREATE VIEW [NOMBRE] 
AS [SENTENCIA]
(
);

Por ejemplo, queremos crear una vista, que nos muestre el nombre y rut de la tabla Persona, y
ademas que nos muestre la cantidad y precio, de la tabla Producto.

la sentencia seria la siguiente:

CREATE VIEW nuestra_vista
AS
select persona.rut, persona.nombre, producto.cantidad, producto.precio
from
persona, producto;


el cual al hacer un

Select * from nuestra_vista;

nos arrojaria el resultado de las 2 tablas, asi es mucho mas comodo y menos engorroso el manejo de
las consultas :)


aqui el ejemplo de la creacion de la Vista, bajo linux :)






viernes, 11 de abril de 2008

Conectando PostgreSQL con NETBEANS JAVA

En este peque~o tutorial ense~are la forma de conectar nuestra base de datos PostgreSQL 8.3 con el IDE Netbeans, es muy sencillo, antes que todo necesitamos bajar nuestro Driver, el cual nos permitira conectarnos y hacer puente entre ambos DESCARGAR
una ves ya descargado estariamos en condiciones para poder conectarnos.


Abrimos NetBeans y vamos al Menu Herramientas(Tools) y luego a Librerias, ahi seleccionamos "Nueva Libreria" nos aparece "Nombre de libreria" digitamos PostgreSQL y dejamos la opcion por default en el campo tipo de libreria y presionamos el boton Ok.




Luego presionamos el Boton Add Jar/Folder, ahi seleccionamos nuestro driver que acabamos de descargar, el cual se deberia llamar postgresql-8.3-603.jdbc4.jar y presionamos OK. y en la siguiente ventana tambien OK.


Con esto estamos en condiciones de hacer nuestro primer programa que se conecte con la base de datos desde java.


Antes que todo tenemos que crear una base de datos, en PostgreSQL, que sera la base de datos con la que trabajaremos en nuestra peque~a aplicacion, por lo que suponiendo que tenemos instalado Postgres, vamos a INICIO, PROGRAMAS, POSTGRESQL, psql to 'postgres' y ponemos:

#> create database ejemplo;
Creamos la base de datos, que se llama Ejemplo.


#> \c ejemplo;
Entramos a la base de datos "ejemplo".

#> create table persona(id serial, nombre varchar(20), edad int);
Creamos la tabla persona, la cual contiene un Serial (autoincremento) que se llama id,
un varchar que se llama Nombre, y un Integer que se llama edad.

#> insert into persona(nombre,edad) values ('migue',22);
Le insertamos valores a nuestra tabla, solamente a nombre y edad, ya que id, se incrementara solo, por el echo de ser Serial. OJO. al momento de ingresarle datos a nuestra tabla, ahi que tener mucho cuidado y manejar el tipo de dato que es, si contiene caracteres, se deben ingresar en comillas simples ' ' , y si es numerico, no es necesario las comillas.

Con esto ya tenemos creada y poblada nuestra base de datos.

Ahora vamos a Netbeans y creamos un nuevo proyecto, el cual tambien se llamara Ejemplo, una ves que ya lo creamos debemos agregar la libreria PostgreSQL, boton derecho sobre Library, y hacemos click en ADD/Library, deberia aparecer algo como esto:















Aqui seleccionamos la libreria PostgreSQL y le damos a Aceptar.







Vamos al codigo en Java ahora :)


package ejemplo;

import java.sql.*; // importamos java.sql para poder trabajar con SQL :P

public class Main {

public Main() {
}

public static void main(String[] args) {

String driver = "org.postgresql.Driver"; // el nombre de nuestro driver Postgres.
String connectString = "jdbc:postgresql://localhost:5432/ejemplo/"; // llamamos nuestra bd
String user = "postgres"; // usuario postgres
String password = " "; // no tiene password nuestra bd.

try {
Class.forName(driver);
//Hacemos la coneccion.
Connection conn = DriverManager.getConnection(connectString, user, password);
//Si la conexion fue realizada con exito, muestra el sgte mensaje.
System.out.println("Conexion a la base de datos Ejemplo realizada con exito! ");
//Cerramos la conexion
conn.close();
}
//Si se produce una Excepcion y no nos podemos conectar, muestra el sgte. mensaje.
catch(SQLException e) {
System.out.println("Se ha producido un error en la conexion a la base de datos Ejemplo! ");
}

}

}


En el sgte articulo, explicare como llamar los atributos de nuestra base de datos que creamos anteriormente, ahi que ir paso a paso no?? saludos :)