Mejora de tablas de PostgreSQL con pgadmin III Adrian Gibanel Lopez 5 de febrero de 2010 Índice 1. Introducción 2 2. Instalación de pgadmin 2 3. Conguración inicial de pgadmin 2 4. Mejora tabla 3 5. Conclusiones 5 4.1. Clave primaria . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2. Clave unique . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3. Clave foranea . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 3 4 4 1. Introducción Como hemos visto en el anterior documento ahora ya tenemos los datos en sus respectivas tablas en nuestra base de datos de PostgreSQL. No obstante las relaciones o restricciones que pudieran tener en Access se pierden. En este documento aprenderemos como usar la herramienta PgAdminIII (ideal para novatos) para poder mejorar la base de datos con esas relaciones y restricciones. Como en otros documentos basaremos la explicación en una sola tabla aunque, en la práctica, deberá de realizarse una operación similar (dependiendo de las restricciones necesarias) en cada una de las tablas. 2. Instalación de pgadmin Simplemente lo instalamos. apt-get install pgadmin3 3. Conguración inicial de pgadmin Iniciamos pgadmin III ya sea desde la consola o desde su icono desde el "menú de Inicio de Linux". Cerramos la ventana de TIPs Archivo ->Añadir Servidor Rellenamos el cuadro: • • • • • • • • • • • Nombre: cereal Servidor: localhost Puerto: 5432 BD de Mantenimiento: postgres Nombre de usuario: cereal Contraseña: MUY-SECRETO Almacen Contraseña: Sí (Según gustos) Restaurar env?: Sí restricción DB: (En blanco) Servicio: (En blanco) Conectar ahora: Sí Hacemos click en Aceptar 2 Si hemos guardado el password un diálogo nos explicará que básicamente se guarda en plano en nuestro home. Hacemos click en Aceptar si estamos de acuerdo. Hacemos click en cereal (localhost:5432) que cuelga de Servidores (1) Bases de Datos cereal Esquemas public Tablas Ahora ya podemos ver las tablas que tiene nuestra base de datos PostgreSQL y trabajar con ellas. 4. Mejora tabla Ahora veremos cómo mejorar las tablas. El primer paso común a todas las mejoras es hacer click con el botón derecho en la tabla dónde nos aparecerá un menú. 4.1. Clave primaria La clave primaria nos dene cual es el indice principal de una tabla. Los valores de ese indice no pueden ser repetidos. Una clave primaria puede ser simple (basada en una sola columna) o compuesta (basada en dos o más columnas). Elegimos Nuevo Objeto Nueva Clave Primaria En la pestaña: propiedades escribimos el nombre como, por ejemplo, nombre_de_tabla_id En la pestaña Columnas desplegamos y seleccionamos la columna correspondiente a la clave primaria y hacemos click en el botón Añadir. Si tenemos una clave primaria compuesta repetimos la operación. De forma opcional vericamos que la sentencia SQL se adecue a lo que hemos pedido Hacemos click en Aceptar. 3 4.2. Clave unique La clave unique nos asegura que una columna no puede tener valores repetidos. Elegimos Nuevo Objeto Nueva Restricción Unique En la pestaña: propiedades escribimos el nombre como, por ejemplo, nombre_de_tabla_nombre_unique En la pestaña Columnas desplegamos y seleccionamos la columna correspondiente a la restricción unique y hacemos click en el botón Añadir. Si tenemos una restricción unique compuesta repetimos la operación. De forma opcional vericamos que la sentencia SQL se adecue a lo que hemos pedido Hacemos click en Aceptar. 4.3. Clave foranea La clave foranea nos permite enlazar.una columna de un tabla con otra columna de otra tabla. De tal manera que la primera sólo puede tener los mismos valores que la segunda. Seleccionaremos la tabla que deberá contener la clave foranea. Elegimos Nuevo Objeto Nueva Clave ajena En la pestaña: propiedades escribimos el nombre como, por ejemplo, id_cereal Seleccionamos la otra columna (dónde está la columna referenciada) en el campo Referencia, por ejemplo: cereal. En la pestaña Columnas desplegamos Columna localy seleccionamos la columna correspondiente a la clave foranea Desplegamos el campo Referenciando y su columna referenciada (en nuestro caso id. hacemos click en el botón Añadir. Si tenemos una restricción unique compuesta repetimos la operación. 4 De forma opcional en la pestaña Acción podemos denir qué pasa con los campos relacionados cuando hay una actualización o si se borran. De forma opcional vericamos que la sentencia SQL se adecue a lo que hemos pedido Hacemos click en Aceptar. 5. Conclusiones Gracias a este documento podemos terminar de completar la migración de nuestra base de datos deniendo nuestras relaciones entre tablas para evitar problemas de duplicidad, redundancia y otros. Una vez todas las relaciones estén denidas ya podremos disfrutar de nuestra base de datos de acceso distribuido. Despues, siempre podemos crear un cliente web que ataque a PostgreSQL para escalar aún más el acceso a nuestra base de datos. 5