manual de python con db2

Upload: ruth-de-la-cruz

Post on 09-Jul-2015

157 views

Category:

Documents


3 download

TRANSCRIPT

UNIVERSIDAD NACIONAL DE TRUJILLO Programacin Python y base de datos DB2

1Curso: Cliente ServidorDe La Cruz, Chavarry y Prez

UNIVERSIDAD NACIONAL DE TRUJILLO Programacin Python y base de datos DB2

Una Nueva Experiencia ...Este presente trabajo pretende poder despejar dudas e incentivar a todas aquellas personas que tienen la oportunidad de desarrollar sistemas de informacin web, utilizando lenguaje de programacin Python, e interrelacionarlo con el sistema de base de datos DB2 perteneciente a la muy conocida empresa IBM. Julio 2011, Edicin N 1 Estaremos dando una pequea Contacto y/o sugerencias: descripcin de cada uno de los componentes a utilizar, as tambin algunas caractersticas o novedades de cada uno de ellos; despus de esto, se presentara mostrar con algunas ms imgenes eficiencia el debidamente seleccionadas para poder [email protected] [email protected] [email protected]

contenido, y finalmente presentaremos un trabajo de investigacin, permitiendo poder visualizar cdigo de programacin a utilizar correctamente desarrollado y ejecutado.

2Curso: Cliente ServidorDe La Cruz, Chavarry y Prez

UNIVERSIDAD NACIONAL DE TRUJILLO Programacin Python y base de datos DB2

ndice de ContenidosHablemos de DB2 (IBM) 4 Python: Lenguaje Simple?? 10

Usando Script

10

Caractersticas

5

Python, Lenguaje Multiplataforma

10

Creando Base de Datos y Tablas

6

Algo Nuevo: Programacin Web en Python 11

Instalando Python e Instalando el Servidor 12

Una mirada a Python Revisando Paradigmas

9 9

3Curso: Cliente ServidorDe La Cruz, Chavarry y Prez

UNIVERSIDAD NACIONAL DE TRUJILLO Programacin Python y base de datos DB2

Hablemos de DB2 (IBM)DB2 es una marca comercial, propiedad de IBM, bajo la cual se comercializa un sistema de gestin de base de datos. DB2 es un motor de base de datos relacional que integra XML de manera nativa, lo que IBM ha llamado pureXML, que permite almacenar documentos completos dentro del tipo de datos xml para realizar operaciones y bsquedas de manera jerrquica dentro de ste, e integrarlo con bsquedas relacionales.La compatibilidad implementada en la ltima versin, hace posible la importacin de los datos a DB2 en una media de 1 o 2 semanas, ejecutando PL/SQL de forma nativa en el gestor IBM DB2. automticamente el sistema y gestin de los valores. DB2 Express-C es la versin gratuita soportada por la comunidad de DB2 que permite desarrollar, implementar y distribuir aplicaciones que no usen las caractersticas avanzadas de las versiones comerciales de DB2. Esta versin de DB2 puede ser concebida como el ncleo de DB2, las diferentes ediciones incluyen las caractersticas de Express-C ms funcionalidades especficas.

La automatizacin es una de sus caractersticas ms importantes, ya que permite eliminar tareas . rutinarias y permitiendo que el almacenamiento de datos sea ms ligero, utilizando menos hardware y reduciendo las necesidades de consumo de alimentacin y servidores La memoria se ajusta y se optimiza el rendimiento del sistema, con un interesante sistema que permite resolver problemas de forma automtica e incluso adelantarse a su aparicin, configurando

DB2 para Linux, UNIX y Windows permite la automatizacin de tareas, reduccin de las necesidades de consumo de alimentacin, un alto rendimiento que reduce los servidores necesarios para ejecutar la base de datos, escalabilidad sencilla y alta disponibilidad en su arquitectura de discos de datos y otras soluciones que facilitan la colaboracin entre profesionales. Con aplicaciones que se despliegan y desarrollan de forma sencilla incluso si han sido creadas para utilizarse con otros software de bases de datos.

4Curso: Cliente ServidorDe La Cruz, Chavarry y Prez

UNIVERSIDAD NACIONAL DE TRUJILLO Programacin Python y base de datos DB2

CaractersticasPara utilizar DB2 se debe de tener en cuenta algunos conceptos, caractersticas; como se muestra en adelante: Permite el manejo de objetos grandes (hasta 2 GB), la definicin de datos y funciones por parte del usuario, el chequeo de integridad referencial, SQL recursivo, soporte multimedia: texto, imgenes, video, audio; queries paralelos, commit de dos fases, backup/recuperacin offline.Adems cuenta online con y un Esta capacidad se utiliza en sistemas de bsqueda de personas por huellas digitales, en sistemas informacin geogrfica, etc.Internet es siempre la gran estrella, con DB2 es posible acceder a los datos usando JDBC (tan potente como escribir directamente C contra la base de datos), Java y SQL (tanto el SQL esttico, como complementa el SQL dinmico).

monitor grfico de performance el cual posibilita observar el tiempo de ejecucin de una sentencia SQL y corregir detalles para aumentar el rendimiento. Mediante los extensores se realiza el manejo de los datos no tradicionales, por ejemplo si tengo un donde tengo almacenados los curriculums de Plataformas host: OS/390(MVS), VM & VSE, OS/400 Plataformas de servidor: OS/2 Warp Server, Sinix, SCO Openserver, Windows NT, Aix, HP Ux, Solaris. Plataformas Cliente: OS/2,DOS, Sinix, SCO OpenServer, Windows 3.1/95/NT, Macintosh System 7, Aix, HP Ux, Solaris. varias personas, mediante este puedo realizar bsquedas documentos con los datos que me interesen sin tener que ver los CV uno por uno.

5Curso: Cliente ServidorDe La Cruz, Chavarry y Prez

UNIVERSIDAD NACIONAL DE TRUJILLO Programacin Python y base de datos DB2

Creando Base de Datos y Tablas

Archivo de Instalacin, se puede descargar de https://www.ibm.com/

1) Habiendo Instalado la Base de Datos, continuamos a la Creacin de Base de datos, para esto debemos hacer clip derecho en base de datos, en la parte lateral y hacemos clip en crear > estndar. 2) A continuacin, veremos una ventana as, donde nos pide el nombre de la base de datos, en este caso estamos en Nombre, en Almacenamiento y Regin le datos siguiente.

6Curso: Cliente ServidorDe La Cruz, Chavarry y Prez

UNIVERSIDAD NACIONAL DE TRUJILLO Programacin Python y base de datos DB2 3) Veremos que en la parte 4 nos da un Resumen de la creacin de la base de datos, damos clip en Finalizar

4) Seguido crearemos una tabla, damos clip derecho en tabla y clip en crear, nos saldr una ventana as, donde pondremos el nombre y siguiente.

7Curso: Cliente ServidorDe La Cruz, Chavarry y Prez

UNIVERSIDAD NACIONAL DE TRUJILLO Programacin Python y base de datos DB2 5) Ahora agregaremos las columnas a la tabla, aqu tendremos que ingresar el nombre de la columna, el tipo de datos, clip en bien.

6) Finalmente Ponemos ingresar datos a la tabla, dndole clip derecho y abrir, en este ventana podemos ingresar datos y para poder guardarlos tendremos siempre que confirmar, dado esto cerramos, y listo todo lo concerniente a DB2.

8Curso: Cliente ServidorDe La Cruz, Chavarry y Prez

UNIVERSIDAD NACIONAL DE TRUJILLO Programacin Python y base de datos DB2

Una mirada a Python

Python es un lenguaje de creacin de scripts general y de primer nivel muy adecuado para el rpido desarrollo de las aplicaciones. Python hace hincapi en la legibilidad del cdigo y admite una variedad de paradigmas de programacin, programacin aspectos, que de incluye la procedimientos, y la

Se

trata

de

un

lenguaje

de a

programacin multiparadigma ya que soporta orientacin objetos, programacin en menor funcional. es fuertemente tipado ymultiplataforma.Es administrado por la Python Software Foundation. de cdigo denominada Python Foundation License, que Posee una licencia abierto, Software es Es imperativa y, un lenguaje

medida, programacin

interpretado, usa tipado dinmico,

orientada a objetos, orientada a funcional metaprogramacin. Python es

un lenguaje de programacin de alto nivel cuya filosofa hace hincapi en una sintaxis muy limpia y que favorezca un cdigo legible.

compatible con la Licencia pblica general de GNU a partir de la versin 2.1.1, e incompatible en ciertas versiones anteriores.

Revisando ParadigmasPython es un lenguaje de del programa (tambin llamado ligadura

programacin multiparadigma. Esto significa que ms que forzar a los programadores a adoptar un estilo particular de programacin, permite orientada varios a estilos: programacin objetos, programacin

dinmica de mtodos).

imperativa y programacin funcional. Otros paradigmas estn soportados mediante el uso de extensiones. Python usa tipado dinmico y conteo de referencias para Python es la la administracin dinmica de de memoria.Una caracterstica importante de resolucin nombres; es decir, lo que enlaza un mtodo y un nombre de variable durante la ejecucin

Otro objetivo del diseo del lenguaje es la facilidad de extensin. Se pueden escribir nuevos mdulos fcilmente en C o C++. Python puede incluirse en aplicaciones que necesitan una interfaz programable. Aunque la programacin en Python podra considerarse en algunas situaciones hostiles a la programacin funcional tradicional del Lisp, existen bastantes analogas entre Python y los lenguajes minimalistas de la familia Lisp como puede ser Scheme. De La Cruz, Chavarry y Prez

9Curso: Cliente Servidor

UNIVERSIDAD NACIONAL DE TRUJILLO Programacin Python y base de datos DB2

Python: Lenguaje Simple??Muy legible y elegante. Imposible escribir cdigo ofuscado. Simple y poderoso. Minimalista: todo aquello innecesario no hay que escribirlo (;,{,}, '\n'). Muy denso: poco cdigo hace mucho. Soporta objetos y estructuras de datos de alto nivel: strings, listas, diccionarios, etc. Mltiples niveles de organizar cdigo: funciones, clases, mdulos, y paquetes. Python standard library (http://www.python.org/doc/current/li b/lib.html) contiene un sinfn de clases de utilidad. Si hay reas que son lentas se pueden reemplazar por plugins en C o C++, siguiendo la API para extender o empotrar Python en una aplicacin, o a travs de herramientas como SWIG, sip o Pyrex.

Usando Script!!Un lenguaje interpretado o de script es aquel que se ejecuta utilizando un programa intermedio llamado intrprete, en lugar de compilar el cdigo a lenguaje mquina que pueda comprender y ejecutar directamente una computadora (lenguajes compilados). La ventaja de los lenguajes compilados es que su ejecucin es ms rpida. Sin embargo los lenguajes interpretados son ms flexibles y ms portables. Python tiene, no obstante, muchas de las caractersticas de los lenguajes compilados, por lo que se podra decir que es semi interpretado.

En Python, como en Java y muchos otros lenguajes, el cdigo fuente se traduce a un pseudocdigo mquina intermedio llamado bytecode la primera vez que se ejecuta, generando archivos .pyc o .pyo (bytecode optimizado), que son los que se ejecutarn en sucesivas ocasiones.

Python, Lenguaje MultiplataformaEl intrprete de Python est disponible en multitud de plataformas (UNIX, Solaris, Linux, DOS, Windows, OS/2, Mac OS, etc.) por lo que si no utilizamos libreras especficas de cada plataforma nuestro programa podr correr en todos estos sistemas sin grandes cambios.

10Curso: Cliente ServidorDe La Cruz, Chavarry y Prez

UNIVERSIDAD NACIONAL DE TRUJILLO Programacin Python y base de datos DB2

Algo nuevo: Programacin Web en PythonAl tratarse Python de un lenguaje de cdigo tarea abiertoexisten programtica que multitud de mdulos/libreras para realizarcualquier imaginemos. Enocasiones, como es el caso de la programacin web,existen varios mdulos diferentes que de una manerams bsica o sofisticada nos permiten llevar a cabola misma tarea. Para comprobarlo no tenemos msque visitar el portal de Python, en su seccin deTemas/web. Allpodemos encontrar un largo listado de estos mdulos,detallando sus diferentes funciones. A continuacin enumeramos los ms destacados, clasificados segn la categora de plataforma de desarrollo de aplicacin web a la que pertenecen: Programacin CGI Bsica: o Mdulo CGI de la librera Standard de Python. CGI (Common Gateway Inteface) es un mecanismo estndar para la ejecucin de cdigo ejecutable por un servidor web y la obtencin de los resultados de tal ejecucin. o Mdulo Cookie para la creacin y procesamientode aplicaciones web. cookies en Una cookie es un mecanismo para mantener estadoentre las peticiones HTTP de una sesinweb. Una cookie es una cabecera HTTP quepermite la identificacin unvoca en el servidorweb del peticionario de la informacin. Programacin CGI Avanzada o En CGI, un nuevoproceso es creado por cada peticin HTTP recibiday eliminado cuando la peticin es resuelta. Laeficiencia es pobre. Esta es la razn por la que hanaparecido numerosas tecnologas que permitenuna integracin superior con el servidorweb subyacente, y lo ms importante,una mayor eficiencia. Ejemplos claros deestas tecnologas son PHP, Java Servlets yJSPs, y ASPs. En el caso particular dePython, la contribucin ms interesante aeste respecto es mod_python: Mod_python es un mdulo Apache queintegra el intrprete Python dentro delservidor, de modo que las aplicaciones pueden ejecutarse rpidaque persistentes HTTP de de manera ms CGI, retiene datos entrelas una peticiones sesin y

permiteacceder a la parte interna de Apache. (Este ser el mduloutilizado en el proyecto, se ver ms adelante)

Importante!!!

En este artculo nos concentraremos en elmdulo mod_python, que a juicio delos autoresrepresenta la manera ms sencilla y eficiente deimplementar aplicaciones web en Python, siendo esto muy conveniente para la realizacin presente proyecto. del Servidores de aplicaciones

o Van ms allde la simple

11Curso: Cliente Servidor

generacin dinmicasy programador

de en

pginas al otras

De La Cruz, Chavarry y Prez

asisten

UNIVERSIDAD NACIONAL DE TRUJILLO Programacin Python y base de datos DB2

Instalando Python e Instalando el ServidorLos programas que necesitaremos son: Python versin 2.5 Servidor: wamp server 2.0

Mod_Python

1) Primero Instalaremos el servidor donde alojaremos el programa python, en este caso utilizaremos wamp server, siendo su instalacin sencilla la omitiremos. Debera quedarnos as, creamos una carpeta con nombre: python dentro del directorio del wamp: X:\\wamp\www\python

12Curso: Cliente ServidorDe La Cruz, Chavarry y Prez

UNIVERSIDAD NACIONAL DE TRUJILLO Programacin Python y base de datos DB2

Nota!!! recuerda que necesitas detener los servicios de IIS y otro programa que utilice elpuerto 8080.

2) Instalaremos python, dando la direccin de almacenamiento de archivos dentro del servidor wamp.

3) Ahora instalaremos mod_python, siendo esta instalacin sencilla omitiremos imgenes, pero existe un detalle que tenemos que recordar, que durante el proceso nos pedir la ubicacin del servidor apache, as que tendremos que direccionarlo, dado esto finalizamos.

13Curso: Cliente ServidorDe La Cruz, Chavarry y Prez

UNIVERSIDAD NACIONAL DE TRUJILLO Programacin Python y base de datos DB2 4) Con esto tendremos todo lo necesario para poder ejecutar python, solo faltara configurar el servidor, editaremos http.config que se encuentra en X:\wamp\bin\Apache2.2.11\conf o de la forma siguiente.

Aqu agregamos la librera, agregaremos las siguientes lneas (lo que se encuentra sombreado de azul).

14Curso: Cliente ServidorDe La Cruz, Chavarry y Prez

UNIVERSIDAD NACIONAL DE TRUJILLO Programacin Python y base de datos DB2

Aqu agregamos el directorio que hemos creado, con todo esto finalizamos la configuracin e instalacin, dado esto nos debera funcionar python en el servidor wamp server.

1) Ahora crearemos dos archivos dentro del directorio con extensin .py con los nombres: index.py (con este se iniciar) y tabla.py.

2) Insertaremos el siguiente cdigo en cada archivo el cual importar librera para la conexin y se ejecutara programacin python y HTML mostrando una web que contiene informacin de la base de datos db2.

15Curso: Cliente ServidorDe La Cruz, Chavarry y Prez

UNIVERSIDAD NACIONAL DE TRUJILLO Programacin Python y base de datos DB2

Index.py

Tabla.py

16Curso: Cliente ServidorDe La Cruz, Chavarry y Prez

UNIVERSIDAD NACIONAL DE TRUJILLO Programacin Python y base de datos DB2

3)

Habiendo ingresado todo correctamente, tendremos esta pgina, que muestra datos de db2 utilizando programacin python, y listo concluimos este tutorial

17Curso: Cliente ServidorDe La Cruz, Chavarry y Prez