Download pdf - Querys basicos posgresql

Transcript
  • I 2015 LaboratorioPostgres 1 Fundamentos y Diseo de Base de Datos

    Ing.Harvey Michael Gamboa Pea Universidad de Pamplona - Ext. Villa Rosario

    CREACION DE BASE DE DATOS EN POSTGRESQL 1. Primero abrimos el aplicativo pgAdmin con el cual manejaremos la base de datos de Postgres.

    Pasos: inicio Todos los programas PostgreSQL 8.2 o la versin 9 (o una versin superior)

    Luego de haberlo ejecutado maximizamos el programa para una mayor comodidad en su manejo. 2. Luego en la parte izquierda, nos aparecer el servidor PostgreSQL 8.2 (o ms servers), con una xal

    comienzo de este, que indica que no se ha realizado la conexin con el servidor.

    Debemos dar doble clic en el servidor deseado ( ) y una vez hecho esto nos aparecer una ventana, con una alerta, la cual nos pide la contrasea de seguridad para poder conectarnos con el servidor. Digitamos la contrasea que por defecto es 123456 admin. Y luego le damos en OK.

    Una vez hecho esto nos aparecern las Bases de Datos ya creadas y si es la primera vez, nos aparecer la BD de postgres por default.

  • I 2015 LaboratorioPostgres 1 Fundamentos y Diseo de Base de Datos

    Ing.Harvey Michael Gamboa Pea Universidad de Pamplona - Ext. Villa Rosario

    3. Ahora vamos a crear nuestra propia BD. Para esto debemos tener el Modelo Relacional previamente hecho. Vamos a tomar como ejemplo la BD de un horario, para esto se debe tener una materia, un estudiante y un docente. La relacin es la sgteESTUDIANTE MATERIA PROFESOR, un estudiante ve una o ms materias y una materia puede ser vista por uno o ms estudiantes, por otro lado un profesor dicta una materia pero una materia solo puede ser dada por un profesor. Nota: la relacin ESTUDIANTE MATERIA, es de muchos a muchos, lo que puede generar problemas en la

    BD, para lo cual se debe realizar un proceso de normalizacin, dando como resultado una tabla intermedia ESTUDIANTE - ESTMAT MATERIA. Esto lo veremos ms adelante.

    Procedemos a crear nuestra BD Horario. Para ello vamos a pgAdmin y damos clic derecho sobre Databases y seleccionamos New Database.

    Luego nos aparecer una pequea ventana, y en la parte que dice Name, escribimos el nombre de la BD que queremos crear, en este caso Horario y luego le damos OK.

  • I 2015 LaboratorioPostgres 1 Fundamentos y Diseo de Base de Datos

    Ing.Harvey Michael Gamboa Pea Universidad de Pamplona - Ext. Villa Rosario

    Esperamos pocos segundos mientras se crea. Despus nos aparecer en la parte izquierda, dentro de las Databases creadas (junto con la de postgres) sin conexin, entonces lo que hacemos es, dar doble clic y nos aparecer la BD conectada.

    4. Ya creada la BD, desplegamos el + de Horario, luego el + de Schemas, y el + de public.

    5. Una vez tengamos el cursor en la BD Horario, de damos clic izquierdo y lo seleccionamos. Luego dirigimos el cursor a la parte superior, donde se encuentran los iconos de funcionalidades y damos clic en el icono con el crculo rojo, que corresponde a lenguaje SQL.

    6. Ahora crearemos las tablas de la BD Horario. Empezaremos por la tabla estudiante.

    Primero digitaremos el cdigo mostrado en la imagen y luego haremos clic en el triangulo verde u oprimimos la tecla F5, para correr las instrucciones SQL y crear la tabla ESTUDIANTE.

  • I 2015 LaboratorioPostgres 1 Fundamentos y Diseo de Base de Datos

    Ing.Harvey Michael Gamboa Pea Universidad de Pamplona - Ext. Villa Rosario

    Nos aparecer el siguiente mensaje, que nos indica que la consulta se realizo con xito.

    7. Ahora insertaremos registros en la tabla ESTUDIANTE. Primero abriremos una nueva ventana para trabajar SQL, o eliminamos las instrucciones anteriores y dejamos en blanco. Ahora realizamos las instrucciones SQL dadas en la siguiente figura, que nos permitir insertar los registros de los estudiantes. Corremos la consulta con F5, o hacemos clic en el triangulo verde

    Si no hay errores en cdigo SQL, nos arrojara el siguiente mensaje indicando xito.

    Verificamos los datos insertados en pgAdmin. Primero, posicionamos el cursor del mouse sobre la tabla ESTUDIANTE y le damos clic derecho y Refresh para actualizar la tabla.

    Segundo debemos seleccionar la tabla ESTUDIANTE, y despus damos clic en el icono con el crculo rojo, en la funcionalidad ubicada en la parte superior, llamada vista de datos.

    Nos aparecer una nueva ventana de la tabla ESTUDIANTE, con los datos insertados.

    8. Hacemos lo mismo para la tabla PROFESOR. Primero creamos la tabla PROFESOR.

    Ejecutamos el SQL, con F5, con Ctrl+E o con en el triangulo verde

  • I 2015 LaboratorioPostgres 1 Fundamentos y Diseo de Base de Datos

    Ing.Harvey Michael Gamboa Pea Universidad de Pamplona - Ext. Villa Rosario

    El mensaje anterior nos indica que la tabla PROFESOR se cre con xito. Seguidamente procederemos a insertar los datos del profesor.

    Corremos el SQL, con F5, con Ctrl+E o con en el triangulo verde

    Despus vamos al pgAdmin. Seleccionamos Tables y le damos clic derecho Refresh. Luego seleccionamos la tabla PROFESOR y damos clic en el icono vista de datos. Y de esta forma verificamos los datos insertados.

    9. Ahora creamos la tabla MATERIA, que est relacionada con la tabla ESTUDIANTE y con la tabla PROFESOR mediante una llave fornea (FK), que referencia el campo cod_est en la tabla MATERIA con el campo cod_est de la tabla ESTUDIANTE, y el campo cod_prof de la tabla MATERIA con el campo cod_prof de la tabla PROFESOR.

    Creamos la tabla ejecutando el siguiente SQL.

    Si la consulta corri con xito saldr este mensaje

    Ahora insertamos en la tabla MATERIA

    Si se ejecuta con xito, saldr el siguiente mensaje

  • I 2015 LaboratorioPostgres 1 Fundamentos y Diseo de Base de Datos

    Ing.Harvey Michael Gamboa Pea Universidad de Pamplona - Ext. Villa Rosario

    Refrescamos las tablas y verificamos los datos insertados en la tabla MATERIA

    Nota: Ir guardando el SQL en un bloc de notas. Incluir comentarios o documentacin. A esto le llamaremos posteriormente Script

    Ya hemos definido la BD de horario, ahora realizaremos modificaciones sobre la misma y aplicaremos unas sencillas restricciones para los campos de acuerdo a las necesidades requeridas. 10.

    -- Seleccionar los datos de la tabla estudiante SELECT * FROM ESTUDIANTE ; -- Aadir columna o campo ALTER TABLE ESTUDIANTE ADD COLUMN edad INTEGER ; -- Renombrar columna ALTER TABLE ESTUDIANTE RENAME COLUMN edad TOedad_est; -- Cambiar el tipo de dato de un campo ALTER TABLE ESTUDIANTE ALTERedad_estTYPE NUMERIC ; -- Eliminar un campo o columna de una tabla con registros asociados ALTER TABLE ESTUDIANTE DROP COLUMNcod_est ; -- no se puede eliminar una campo si este tieneregistros asociados -- Eliminar un campo o columna de una tabla ALTER TABLE ESTUDIANTE DROP COLUMNedad_est ; -- Aadir una llave primaria en una tabla ALTER TABLE MATERIA ADD PRIMARY KEY (cod_mat); -- Eliminar la llave primaria de una tabla ALTER TABLE MATERIA DROP CONSTRAINTmateria_pkey -- Creamos una nueva tabla llamada PROGRAMA para trabajar sobre ella CREATE TABLE PROGRAMA ( cod_progNUMERIC NOT NULL, nom_progVARCHAR(30), facultadVARCHAR(30), PRIMARY KEY(cod_prog) ); -- Cambiar o renombrar la tabla ALTER TABLE PROGRAMA RENAME TODEPARTAMENTO ; -- Eliminar tabla DROP TABLEDEPARTAMENTO ;

  • I 2015 LaboratorioPostgres 1 Fundamentos y Diseo de Base de Datos

    Ing.Harvey Michael Gamboa Pea Universidad de Pamplona - Ext. Villa Rosario

    -- Eliminar tabla con registros asociados DROP TABLEESTUDIANTE ; -- no se puede eliminar una tabla que tenga registros asociados -- Eliminar tabla en cascada (para tablas que tengan registros asociados) DROP TABLE NOMBRE_TABLA CASCADE ; -- Eliminar registro o fila DELETE FROM NOMBRE_TABLA WHEREid_tabla =x ; -- x hace referencia al identificador del objeto que se desea eliminar -- Eliminar registro o fila DELETE FROM MATERIA WHERE cod_mat = 86 -- 86 es el cdigo de la materia calculo ANDcod_est = 883311 -- El cdigo del estudiante Brad Pitt ANDcod_prof = 1002 ; -- El cdigo del profesor Alex Villa