jueves, 1 de mayo de 2014

ALGUNOS CONSEJOS SOBRE COMO POBLAR UNA TABLA CON DATOS EN POSTGRES 9.2


Cuando estamos por primera vez familiarizándonos con este sistema manejador de bases de datos e intentamos crear el modelo físico de nuestra BD, nos encontramos con pequeños tropiezos que para quienes ya lo conocen resultan evidentes pero para los novatos como yo puede representar  mucho tiempo para lograr superarlos.

A continuación presento algunos puntos básicos con sus respectivas capturas de pantalla de la forma en la cual logré solucionarlo. 


El primero es lograr recuperar la conexión con el servidos que previamente ya hemos creado,  porque cuando volvemos a ingresar a pgAdmin III encontramos que aunque nos muestra los servidores estos se muestran con una X roja, para lograr conectarnos nuevamente al servidor  local (en mi caso) debemos dar doble click sobre él y a continuación el sistema nos va a pedir un password este corresponde a la contraseña del usuario de la base de datos, la ingresamos y damos Enter.





Para ingresar a la ventana donde podemos ejecutar el script debemos dar click sobre la base de datos que estamos trabajando y en el menú que se despliega seleccionamos CREATE Script o podemos utilizar el ícono   



Por facilidad podemos limpiar la pantalla con el ícono Clear Edit Window, para no confundirnos con la información que aparece inicialmente pero se debe revisar esta porque tiene datos fundamentales que deben ser tenidos en cuenta para el desarrollo del trabajo.


Otro inconveniente se presenta cuando queremos crear y poblar una tabla a partir de un archivo,  donde algunos campos van a almacenar números decimales. Se debe tener en cuenta una previa  revisión del archivo a utilizar detectando y eliminando posibles inconsistencias como texto en columnas donde deben existir números, nombres muy largos, el sistema presenta conflicto cuando  utilizamos la coma ( , ) como separador decimal por tanto si nuestro archivo tiene comas debemos reemplazarlos por puntos en el archivo origina y no debemos  incluir separador de miles para no generar errores, este archivo debe además quedar guardado en una ruta corta de lo contrario no lo reconoce.

A continuación presento un ejemplo de la creación de una tabla denominada Integrantes con los campos Id_integrante, Nombre, Edad y Peso, este último tiene decimales.  El punto central aquí es la correcta  definición del  tipo de datos para Peso, existen varias formas para mi caso se trata de un campo numérico con dos enteros y dos decimales, éstos se puede declarar así:
Peso NUMERIC(10,2)

Ó

Peso REAL

Todo dependerá de la cantidad de enteros y decimales del dato a almacenar, por facilidad puedes ir creando las sentencias en un Word aparte que permita guardar y reemplazar por si en algún momento cerramos sin guardar.  Copiamos en la ventana de SQL, seleccionamos la parte a ejecutar y oprimes Execute Query


Para observar la tabla que has creado debes picar en Tables de la ventana pgAdmin III y das clik y del menú que se despliega seleccionas Refresh o puedes dar F5 se obtiene el mismo resultado, a continuación podrás verificar que ya aparece la tabla,  si previamente se han superado posibles errores en el script de lo contrario debes devolverte a la ventana script corregir las sentencias hasta que el sistema te indique que “Query returned successfully …”


A continuación para poder la estructura de la tabla creada puedes hacerlo entre otros por dos formas, la primera picas sobre la tabla que deseas abrir das click y en el menú que se despliega  seleccionas View Data – View All Rows pues aunque esté vacía siempre, cuando ya tenga datos querrás verificar si te subió toda la información o utilizamos el ícono View the data in the selected object  






Una vez creada la tabla procedemos a poblarla con los datos de nuestro archivo previamente depurado, en mi ejemplo los datos iniciales fueron creados en excel, estando en excel los salvé como un archivo CSV (delimitado por comas), luego lo abrí en block de notas y lo guardo nuevamente,  por defecto quedará con la extensión .txt pero aquí puedo indicarle la codificación UTF-8 que es otro punto a tener en cuenta y puede impedir la lectura del archivo, el tipo de  codificación la puedes encontrar cuando abres por primera vez la ventana donde se ejecutan los script en mi caso aparece
ENCODING = 'UTF8'

Por último ejecutas las sentencias y tu tabla queda con los datos.