domingo, 27 de marzo de 2011

Instalar Apache Tomcat7

A continuación detallare los pasos a seguir para instalar Apache Tomcat 7 (servidor de aplicaciones Web). Esta instalación especificamnete sera hecha en Windows XP (tambien es valida para Windows Vista, 7).
Segundo: Procedemos a realizar la instalación. habilitamos la opción Service Startup asi nuestro servidor se iniciara junto con nuestro sistema operativo.
en esta parte podemos configurar el puerto de conexión así como el nombre de usuario y su respectiva contraseña (Datos de acceso al servidor), para fines del caso dejaremos tal y cual aparece en la siguiente imagen.
Tercero: Indicaremos la ruta donde se encuentra instalado el JRE (Java Runtime Environment)  el cual previamente habremos instalado.
Después de realizar estos pasos finalizamos la instalación del servidor y procedemos a realizar una pruebas para ello abriremos nuestro navegador de Internet, ingresamos http://localhost:8080/
después de esto estaremos listos para realizar algún proyecto web, y para el cual debemos tener en cuenta lo siguiente la ruta de instalación de nuestro servidor esta localizada en 
C:\Archivos de programa\Apache Software Foundation\Tomcat 7.0
existe varios carpetas que acontinuación habremos un descripción resumida de cada una de ellas
/bin – arranque, cierre, y otros scripts y ejecutables
/temp – archivos temporales
/conf – archivos XML y los correspondientes DTD para la configuración de apache-tomcat el mas importante es server.xml.
/logs – archivos de registro (log) de apache-tomcat.
/webapps – directorio que contiene las aplicaciones web, sera aquí donde podremos colocar nuestros proyectos para que pueda ser desplegado por nuestro servidor.
/work – almacenamiento temporal de ficheros y directorios
vamos a realizar nuestro clásico "Hola Mundo" para ello nos ubciamos en C:\Archivos de programa\Apache Software Foundation\Tomcat 7.0\webapps, dentro de ella crearemos una carpeta en este caso se llamara "appHolaMundo" dentro del cual crearemos un archivo HolaMundo.html  dentro del archivo escribiremos lo siguiente:
<html>
<head>
</head>
<body>
Hola Mundo
</body>
</html>

Guardamos y por ultimo accedemos desde nuestro navegador a la siguiente dirección:  
esto es todo con respecto a la instalación de nuestro servidor. 



jueves, 24 de marzo de 2011

Mini Tutorial SQLite by "zEGAz."

Descargamos “Precompiled Binaries For Windows” la versión sqlite-3_6_17_1.zip
O posteriores.

Básicamente hay para todos los sistemas operativos en este caso utilizare Windows.

Para crear mi base de datos es muy simple ejecutamos símbolo de sistema y desde la consola de comandos no ubicamos en el directorio donde descargamos y descomprimimos nuestro archivo de SQLite. 

CREANDO MI BASE DE DATOS

Para crear es simple desde el símbolo de sistema escribimos

C:\>sqlite3.exe nombrebasededatos.db

Y nos aparecerá lo siguiente:


Código SQL:
Ver originalCopiar
  1. SQLite version 3.6.17
  2. Enter ".help" FOR instructions
  3. Enter SQL statements terminated WITH a ";"
  4. sqlite>

Con esto creamos nuestra base de datos.

En nuestro ejemplo utilizaremos 5 tablas con los nombres: tb1, tb2, tb3, tb4 e intermedia.

La relación que tienen es:

Tb1 con tb2 es de 1-n
Tb2 con tb3 es de 1-n
Tb2 con tb4 es de n-n

La tabla intermedia es creada por la relación muchos a muchos que hay entre tb2 y tb4

CREANDO TABLAS 
Desde la línea de comandos hacemos esto para crear nuestras tablas: 


Código SQL:
Ver originalCopiar
  1. CREATE TABLE tb1
  2. (
  3. id_tb1 integer PRIMARY KEY NOT NULL,
  4. texto text
  5. );
  6. CREATE TABLE tb2
  7. (
  8. id_tb2 integer PRIMARY KEY NOT NULL,
  9. texto varchar (50),
  10. id_tb1FK integer NOT NULL CONSTRAINT fk_id_tb1FK REFERENCES a(id_tb1) ON UPDATE CASCADE
  11. );
  12. CREATE TABLE tb3
  13. (
  14. id_tb3 integer PRIMARY KEY NOT NULL,
  15. informacion text,
  16. id_tb2_FK integer NOT NULL CONSTRAINT fk_id_tb2FK REFERENCES a(id_tb2) ON DELETE CASCADE
  17. );
  18. CREATE TABLE tb4
  19. (
  20. id_tb4 integer PRIMARY KEY NOT NULL,
  21. otrodato varchar (25)
  22. );
  23. CREATE TABLE intermedia
  24. (
  25. id_intermedia integer PRIMARY KEY NOT NULL,
  26. id_tb2FK integer NOT NULL CONSTRAINT fk_id_tb2FK REFERENCES a(id_tb2) ON DELETE CASCADE,
  27. id_tb4FK integer NOT NULL CONSTRAINT fk_id_tb4FK REFERENCES a(id_tb4) ON DELETE CASCADE
  28. );

Como ven es muy sencillo crear nuestras tablas, un dato súper importante esto no quiere decir que si borramos o hacemos un update en un registro se va a propagar a las demás tablas con que tienen referencia ya que es bien sabido que Sqlite ignora todavía las integridades referencial pero para esto tenemos los TRIGGES.

NOTA: Donde tenemos “CONSTRAINT fk_id_tb4FK REFERENCES a(id_tb4) ON DELETE CASCADE” o de cualquier otra tabla, esto se podría decir que es como hacemos la integridad referencial, en otras páginas o información baja del internet no es necesario esto ya que con los TRIGGES hacen la integridad en mi caso lo puse para referencias de cómo hace la integridad referencial sqlite aunque no lo toma encuenta.

CREANDO LOS TRIGGES 

Lo primero que hay que hacer es no permitir INSERT si el valor de la llave foránea no existe.


Código SQL:
Ver originalCopiar
  1. CREATE TRIGGER insert_tb1_a_tb2
  2. BEFORE INSERT ON tb2
  3. FOR EACH ROW
  4. BEGIN
  5. SELECT RAISE (ROLLBACK, ’No se puede inserta el registro’)
  6. WHERE (SELECT id_tb1 FROM tb1 WHERE id_tb1= NEW.id_tb1FK) IS NULL;
  7. END;

Esto impedirá la falta de integridad referencial ósea que si no existe un valor en la tb1 que queramos insertar en la tb2 nos genera una un error SQLITE “No se puede insertar el registro”,

Esto se hace en todas las tablas nada mas cambiando donde dice tb2= “a la tabla que vamos a insertar un dato”, donde dice SELECT Id_tb1= “donde viene el origen del dato” y FROM tb1= la tabla de donde viene “, donde dice NEW.id_tb1FK =”es la referencia tb2 que hace con la tb1”, así consecutivamente para estableces nuestra integridad referencial.

Esto se hace en la:
tb1 a la tb2 
tb2 a la tb3
tb2 a la intermedia
tb4 a la intermedia



Ahora si queremos realizar un UPDATE 
Supongamos que modifico el id_tb1 y esta le pasa la referencia a la tb2 sería algo asi:


Código SQL:
Ver originalCopiar
  1. CREATE TRIGGER update_tb1_tb2
  2. BEFORE UPDATE ON tb2
  3. FOR EACH ROW
  4. BEGIN
  5. SELECT RAISE (ROLLBACK, ’No se puede insertar el registro’)
  6. WHERE (SELECT id_tb1 FROM tb1 WHERE id_tb1= NEW.id_tb1FK) IS NULL;
  7. END;

Y esto hace que cuando actualizamos tb1 se actualice la tb2

Para un DELETE es algo parecido pero más especifico:


Código SQL:
Ver originalCopiar
  1. CREATE TRIGGER delete_tb1_tb2
  2.  BEFORE DELETE ON tb1
  3.  FOR EACH ROW BEGIN
  4.     DELETE FROM tb2 WHERE id_tb2FK = OLD.id_tb1;
  5.  END;

Aquí si eliminamos un registro de la tb1 también se elimina en la tb2.

NOTA: OLD. esto es como un valor que es definido por SQLite.

CREANDO VISTAS

Ahora que ya tenemos nuestras RESTRICCIONES, UPDATES y DELETE veamos cómo hacer una VISTA. 


Código SQL:
Ver originalCopiar
  1. CREATE VIEW info AS SELECT * FROM tb2 JOIN
  2. (SELECT * FROM tb3 )ON id_tb2_FK= id_tb2;

Esta vista nos une las dos tablas prácticamente dando como resultado:

id_tb2, texto, id_tb1FK , id_tb3, informacion, id_tb2_FK

Ahora una vista sobre otra vista (dirán una vista sobre otra. pues si se pudo).
Esto quedaría así más o menos:


Código SQL:
Ver originalCopiar
  1. CREATE VIEW detalles AS SELECT * FROM tb4
  2. JOIN (SELECT *FROM intermedia JOIN (SELECT * FROM info) ON id_tb2=id_tb2FK)
  3. ON id_tb4FK =id_tb4;

Dando como resultado todos los datos campos de la tb2, tb3, intermedia y tb4

Para restringir una vista que solo quieres que te mande a llamar un solo registro es fácil pones:


Código SQL:
Ver originalCopiar
  1. SELECT * FROM info WHERE id_tb2=1;

Y solo te muestra los registros de la tb2 con el valor 1y los correspondientes de la tb3.

A hora solo falta que lo implementen en su base de datos e empezar a probar.

Con esto termina mi MINI-TUTO y espero que les sirva de algo no es mucho pero de algo servirá.
Un saludo a todos.


Código SQL:
Ver originalCopiar
  1. BY zEGAz.

PD: si lo van a utilizar en otro foro auque sea compartan creditos cul.......s.


Fuente: http://www.forosdelweb.com/f21/mini-tutorial-sqlite-zegaz-800653/
Se agradece por el excelente trabajo a zEGAz.