NORMAS PARA LA ENTREGA DE LOS LABORATORIOS



Documentos relacionados
Acceso a BD desde Java. JDBC

Practica 11: Conexión de Java con Bases de datos Access

Programación Orientada a Objetos II. La Plataforma JDBC

Base de Datos JDBC. Unidad: 1 Laboratorio de Programación. Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos

JDBC. Una mini-introducci. introducción

Acceso a BDs en Java: JDBC

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS

Manual de NetBeans y XAMPP

Universidad Don Bosco. Materia: Programación Orientada a Objetos Contenido: Modificadores de Acceso y JDBC

Java y MySQL. Ciclo de ejecución

Práctica sobre compartición de instancias remotas.

Manual del Protocolo XML-RPC de Mensajería Negocios

Desarrollo de Software con

Ejercicios - Persistencia en Android: ficheros y SQLite

%& %)& '$!%*+ $, %%%&$ %%

Patrones para persistencia (I) Ingeniería del Software II

Programación Orientada a Objetos Analista Programador Universitario Plan 2008 Año 2010

JDBC: Java DataBase Conectivity

Bases de Datos Introducción a la Conectividad de

Introducción a JDBC - Base de datos con Java

PHPMYADMIN Y MYSQL. Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin.

USANDO SERVLETS EN UN SERVIDOR WEB RESIN

Base de datos relacional

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

Iniciando con Oracle. Índice de contenido. Ingresando a Oracle. Cambiando Su Contraseña. Ingresando un Comando SQL en SQL*Plus

Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Algoritmia y Programación

1. Manejo de memoria estática 2. Manejo de memoria dinámica

Dossier de prácticas

BrowserSQL 4 versión 2 - TUTORIAL

Bases de datos y JDBC

Manual Instalación y Operación Cliente Comunicaciones. Manual de Instalación, Configuración y Uso del Cliente de comunicaciones

MANUAL DE USUARIO DE CUENTAS DE CORREO

SOLUCION PARCIAL TASK SCHEDULER. Task Scheduler

Toda base de datos relacional se basa en dos objetos

Manual de agente de comunicaciones

MANUAL PARA GESTIÓN DE INCIDENCIAS INFORMÁTICAS

Número de Práctica: 1 Nombre de la Práctica: Comunicación Cliente Servidor Vía Sockets Java con Sistema Manejador de Bases de Datos

Aviso Legal El presente libro electrónico se distribuye bajo Attribution-NonCommercial- NoDerivs 3.0 Unported

MANUALITO MS-SQL SERVER

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS

BASE DE DATOS QUÉ ES UNA BASE DE DATOS?

Guía de Laboratorio Base de Datos I.

El lenguaje de manipulación de datos (DML) es una parte fundamental de SQL.

Bases de Datos 3º Informática de Sistemas

Introducción al lenguaje Java

DEPARTAMENTO: Computación y diseño NOMBRE DEL CURSO: Base de datos I CLAVE: ACADEMIA A LA QUE PERTENECE: Base de datos I

10. JDBC. 10. JDBC Introducción. java.sql

MANUAL DE USUARIO. Webservice simple para la exportación rápida de información proveniente de una base de datos. Versión 0,1,1

JDBC: EL PUENTE ENTRE JAVA Y LAS BASES DE DATOS. En este articulo se expone la API JDBC (Java DataBase Connetivity), la cual permite el

GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C)

Ingeniería del Software II. Curso 2003/2004. Enunciado de la práctica del Segundo parcial.

Curso de PHP con MySQL Gratis

DOCENTES FORMADORES UGEL 03 PRIMARIA

QUÉ ES UNA BASE DE DATOS Y CUÁLES SON LOS PRINCIPALES TIPOS? EJEMPLOS: MYSQL, SQLSERVER, ORACLE, POSTGRESQL, INFORMIX (DV00204A)

Oracle 12c DISEÑO Y PROGRAMACIÓN

ADMINISTRACIÓN DE BASE DE DATOS

Microsoft SQL Server 2005

O C T U B R E SOPORTE CLIENTE. Manual de Usuario Versión 1. VERSIÓN 1 P á g i n a 1

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

Modelos y Bases de Datos

1

Como detectar conexión del Servidor y SQL?

Modelo de Objetos Distribuidos

Accede a su DISCO Virtual del mismo modo como lo Hace a su disco duro, a través de:

myappgen Usted Construye la aplicación mientras la ejecuta

Práctica 2: Java Remote Method Invocation (RMI)

Apéndice 5 Manual de usuario de ColeXión. ColeXión 1.0. Manual de usuario

ACCESO AL SERVIDOR EXCHANGE MEDIANTE OWA

1.1.- Objetivos de los sistemas de bases de datos Administración de los datos y administración de bases de datos Niveles de Arquitectura

INTRODUCCION. entidades. Modelo lógico de la base de datos. Matricula. carne. codigo_curso. año semestre nota. propiedades

Manual de Usuario Proveedor Módulo Cotizaciones

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD

Arquitectura J2EE para aplicaciones web. Aplicaciones web con JSP. Arquitectura J2EE: Capa de Acceso Web. Arquitectura J2EE: Capa Cliente

MySQL 5 (versiones 5.1 a 5.6) Guía de referencia del desarrollador

BROWSERSQL VERSIÓN 3.1 TUTORIAL

Acceso a bases de datos en Perl

Login y Password. Elección de directorios confidenciales

BASE DE DATOS RELACIONALES

- A continuación, se nos abrirá la siguiente ventana pidiendo contraseña, que el cliente haya especificado al instalar Wingest 7

Guía de instalación del servidor

Curso Online de Microsoft

SUPERINTENDENCIA DE INDUSTRIA Y COMERCIO DELEGATURA DE PROPIEDAD INDUSTRIAL DIVISIÓN DE SIGNOS DISTINTIVOS

ALGUNAS AYUDAS PARA EL ACCESO AL AULA DIGITAL Contenido

Formularios. Formularios Diapositiva 1

MANUAL MS OUTLOOK EXPRESS

Universidad Nacional de Luján Departamento de Ciencias Básicas Programación III

MANUAL DE USO PARA ESTUDIANTES PLATAFORMA VIRTUAL UNIVERSIDAD TECNOLOGICA INDOAMERICA

Ministerio de Educación Base de datos en la Enseñanza. Glosario

Guía práctica de introducción básica a JDBC

Bases de datos relacionales y el modelo entidad-relación

MANUAL DE USUARIO - SECURE CLIENT - INTERNACIONAL

Creación de Funciones de Conducción

Podemos descargar la distribucion de gnu/linux de los repositorios de Ubuntu

Banco de la República Bogotá D. C., Colombia

Manual AGENDA DE RESPALDO

CREAR UN SERVICIO WEB BASICO CON JAVA AXIS2. Víctor J. Sosa

Formato para prácticas de laboratorio

Manual: Gestor de contenidos e-gim cms. 6 abril 2010

myappgen Usted Construye la aplicación mientras la ejecuta

SQL (Structured Query Language)

Transcripción:

Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Bases de Datos I - Laboratorio # 5 - SQL 3: Conexión de Programas Java con DBMS Entrega: Sábado, 29 de Noviembre de 2014 NORMAS PARA LA ENTREGA DE LOS LABORATORIOS Coloque su nombre de los integrantes del grupo, dirección de correo electrónico preferida en la carátula de su informe, así como el nombre del profesor a quien le entrega el informe y número de laboratorio presentado. Los informes deben estar firmados por todos los integrantes del grupo, debajo del siguiente código de ética: << Al firmar el presente informe, aseguramos que nuestro grupo NO ha copiado de nadie, ni dado copia a nadie, la solución que a continuación presentamos>> Organice su trabajo en un archivo comprimido, para ello puede utilizar carpetas. Imprima una copia del código fuente de todos sus programas y entréguelo en el informe. Recuerde que es responsabilidad total y absoluta de los integrantes del grupo el verificar la existencia de la información correspondiente en el documento que envía. No se aceptan reclamos por un mal funcionamiento por un error en la grabación de los datos del laboratorio. Evidencia de la ejecución. Esto se puede realizar copiando y pegando, en el informe, las ventanas donde se suministra información o donde se entrega información por el programa. Durante el curso no se recibirán informes de laboratorio enviados por correo electrónico, los informes deben entregar el informe en el Campus Virtual de Univalle, dentro de los plazos fijados. Objetivos: 1. Identificar los aspectos generales para realizar una aplicación de Bases de Datos usando JDBC 2. Conectarse a una base de datos utilizando una conexión JDBC 3. Implementar una pequeña aplicación en Java con un enlace al manejador de bases de datos. Metodología: Se debe elaborar un informe del trabajo realizado, deberá describir cada una de las actividades y responder a las preguntas. El laboratorio puede ser desarrollado en grupos de máximo 3 personas. Ustedes podrán necesitar leer los documentos de ayuda sobre Postgres, para realizar esta parte del proyecto. Realice las búsquedas por internet. 1. Aspectos Básicos I JDBC - Generalidades JDBC es el acrónimo de Java Database Connectivity basado en la interfaz de nivel de comandos de SQL, que ofrece a los programadores de aplicaciones una interfaz de programación de aplicaciones, independientes de la base de datos (API). Es decir, una aplicación JAVA que usa JDBC para acceder a un DBMS accederá a otro DBMS sin modificaciones, siempre que el nuevo sistema de bases de datos soporte JDBC. Cada fabricante de bases de datos es responsable de implementar un controlador JDBC que permita interactuar con su sistema específico. Así, además de la independencia de la base de datos, otro fuerte de JDBC es la

facilidad para conseguir los controladores de gran variedad de DBMS como lo son: MySQL, PostgreSQL, Oracle, DB2, Informix, entre otros. Que es JDBC? Son las siglas de Java DataBase Connectivity, un API que a partir de un conjunto de clases, permite utilizar una serie de métodos para operar sobre una base de datos. Los métodos utilizados dirigen todas las peticiones hacia un software intermediario conocido como Driver JDBC, el cual se encarga de traducir los llamados de los métodos a órdenes nativas del gestor de Base de datos utilizado. Para el ejemplo una imagen, de cómo funciona JDBC. Clase / Interfaz DriverManager Connection Statement PreparedStatement ResultSet ResultSetMetadata Función Establece conexión con la base de datos a través del Driver Representa una conexión con la base de datos Ejecución de consultas SQL Ejecución de consultas SQL preparadas y procedimientos almacenados Manipulación de registros en consultas de tipo Select Proporciona información sobre la estructura de los dato Qué es un driver? (También conocido como controlador), un Driver es un software que permite al sistema operativo o aplicación, interactuar con un periférico (base de datos). Para ajustar esta definición más a nuestro caso, un Driver JDBC es una clase Java que implementa toda la funcionalidad del API JDBC, proporcionando la comunicación entre la aplicación y la base de datos. Normalmente son los fabricantes de bases de datos quienes distribuyen los diferentes Driver JDBC. Un Driver JDBC se compone de dos capas o interfaces: Capa de aplicación: Es la parte del driver que interactúa con la aplicación. Todos los driver JDBC, independientemente del gestor de bases de datos para el que se haya diseñado, nos proporcionan la misma interfaz de aplicación. Capa de base de datos: Es la que interactúa con la base de datos, por lo que es específica para cada base de datos.

Usando JDBC es fácil ejecutar sentencias SQL a cualquier base de datos relacional. Por esta razón, no es necesario escribir un programa para acceder a una base de datos. Se puede escribir un solo programa usando la API JDBC y el programa será capaz de enviar sentencias SQL a la base de datos apropiada. Además, una aplicación escrita en Java, se puede ejecutar en diferentes plataformas. Qué se necesita para establecer una conexión con JDBC? Solo es cuestión de aplicar los siguientes cuatro pasos: 1. Conexión con la base de datos Carga del Driver Creación de la conexión 2. Ejecución de consultas Statement PreparedStatement 3. Manipulación de registros ResultSet ResuletMetadata 4. Desconexión de la base de datos Ejecutar el método close a los diferentes objetos: ResultSet, Statement, Connection /*** * Clase que permita realizar una conexión a una BD utilizando JDBC. * Driver postgresql: http://jdbc.postgresql.org/download.html * Lista de drivers API JDBC : http://developers.sun.com/product/jdbc/drivers import java.sql.*; public class MiClaseBD1 { // Datos de conexion private final String driver = "org.postgresql.driver"; private final String name_dir = "jdbc:postgresql://localhost:5433/postgres"; private final String user_db = "userpostgres"; private final String pass_db = MiPasswordPostgres ; private Connection con; private PreparedStatement pst; /* * Constructor que realiza la conexion cuando se instancia un objeto Conexion MiClaseBD1(){ try { // Driver de conexion, en este caso estoy utilizando el de postgresql Class.forName(driver); // Creo conexion con la base de datos a partir de los datos de conexion

con = DriverManager.getConnection(name_dir, user_db, pass_db); catch (Exception e) { //Si ocurre un error lo capturo System.out.println("Error en la Conexión "); e.printstacktrace(); /** * A partir de una consulta SQL realizada por el usuario obtiene un resultado * @param sql * @return public void consulta(string sql) { System.out.println("Consulta : " + sql + "\n"); // Declaracion en null del resultset try { int registros = 0; //Variable para contar los registros pst = con.preparestatement(sql); //Preparo la sentencia sql a ejecutar ResultSet rs = pst.executequery(); //Obtengo los datos de la consulta en un resultset //Guardo los datos del ResultSet en un ResultSetMetadata para jugar un poco mas ResultSetMetaData rsm = rs.getmetadata(); //Obtengo los nombres de las columnas: D for (int i = 1; i <= rsm.getcolumncount(); i++) { System.out.print("" + rsm.getcolumnname(i) + " "); System.out.println(""); while (rs.next()){ for (int i = 1; i <= rsm.getcolumncount(); i++) { System.out.print(rs.getString(i) + " "); registros++; System.out.println(""); System.out.println("\nCantidad de registros : " + registros); System.out.println("------------------------------------------------- \n"); pst.close(); //Libero datos del PreparedStatement, tambien se libera el ResultSet catch (SQLException e) { e.printstacktrace(); // Capturo la excepcion en caso de error /** * Se encarga de ejecutar sentencias DML del tipo: UPDATE, DELETE, INSERT... * @param sql public void sentencia(string sql) { System.out.println("Sentencia : " + sql + "\n"); // Declaracion en null del resultset try{ pst = con.preparestatement(sql); //Preparo la sentencia sql a ejecutar int registros = pst.executeupdate(); //Obtengo datos de consulta - Cuento los regs System.out.println("\nCantidad de registros afectados : " + registros); System.out.println("------------------------------------------------- \n"); pst.close(); //Libero datos del PreparedStatement, tambien se libera ResultSet catch (SQLException e) { e.printstacktrace(); // Capturo la excepcion en caso de error /** * Metodo que permite cerrar la conexion realizada a la BD

public void desconectar() { try { //Cierro todas las conexiones con la base de datos //Libero memoria y cierro las conexiones abiertas en objeto Connection con.close(); catch (Exception e) { // Controlo cualquier excepcion generada durante el cierre de la conexion e.printstacktrace(); /** * Ejemplo de la utilizacion de la clase Conexion * @param args public static void main(string args[]){ //Creacion de objeto conexion para crear una conexion a la Base de datos MiClaseBD1 c = new MiClaseBD1(); //Ejecucion de consulta : Retorna los datos en pantalla c.consulta("select * FROM Cliente"); c.consulta("select count(1) FROM Cliente"); c.consulta("select nombrecli, didcli, direccion FROM Cliente WHERE nombrecli LIKE 'Mar%'"); //Ejecucion de INSERT, UPDATE y DELETE c.sentencia("insert INTO EMPLEADO (nombre,didempl,telefono,sucursal) VALUES ( 'Marcos', 20, 16704, 'San Antonio')"); c.consulta("select * FROM EMPLEADO"); c.sentencia("update EMPLEADO SET sucursal = 'Aguablanca' WHERE nombre = 'Marcos'"); c.consulta("select * FROM EMPLEADO"); c.sentencia("insert INTO EMPLEADO (nombre,didempl,telefono,sucursal) VALUES ( 'Borrar', 21, 16711034, 'San Antonio')"); c.consulta("select * FROM EMPLEADO"); c.sentencia("delete FROM EMPLEADO WHERE didempl = '21'"); c.consulta("select * FROM EMPLEADO"); c.desconectar(); //Desconexion a la Base de datos //Fin del método main //Fin de la clase MiClaseBD1 Conexión: La conexión con Postgres por medio de JDBC requiere de cuatro parámetros en el momento de realizar la conexión, dichos parámetros son: Driver (driver) Url (name_dir) Login (user_db) Password (pass_db) Driver: El parámetro driver es utilizado a la hora de utilizar la instrucción class.forname(driver). Con este método lo que hacemos es cargar dinámicamente el driver para que sea reconocido por java a la hora de enviar las instrucciones al SMBD. Url: El parámetro Url especifica la ubicación física del archivo.jar que contiene el código del driver, este archivo.jar contiene varias clases que implementan las diferentes estructuras de información que posea el SMBD. Login: El parámetro login especifica el login del usuario que se desea conectar con el SMBD, por ejemplo el login puede ser "perezj". Password: El parámetro password, como su nombre lo especifica es el password que utiliza el usuario para conectarse con el SMBD, el password puede ser "1234" (password para usuario perezj). Los tres últimos parámetros Url, Login y Password son usados en el método

DriverManager.getConnection(name_dir, user_db, pass_db); Operaciones: Después de realizar la conexión podemos realizar las tres operaciones típicas que se realizan con un SMBD: consultar información, insertar información y borrar información. Para realizar la consulta de información contenida en diferentes tablas de la BD, es decir hacer un SELECT, se deben ejecutar una serie de métodos pertenecientes a las clases Statement o ResultSet SELECT: El orden en que se ejecuta una consulta SELECT SQL con el JDBC es el siguiente: a) Se ejecuta el método executequery perteneciente a la clase Statement, el cual recibe un parámetro de tipo String el cual es la consulta SQL que buscamos ejecutar b) La ejecución del método anterior devuelve un objeto ResulSet c) Dentro de un ciclo se ejecuta una llamada al método next()del objeto ResultSet el cual devuelve una a una las tuplas que concordaron con el SELECT que ejecutamos, teniendo cuidado de pasar el nombre correcto de los atributos a obtener. Ejemplo de un SELECT: Se quiere obtener un listado de todos los trabajadores de la empresa: Sentencia SQL: SELECT nombre, apellido FROM persona; Sentencia JDBC: ResultSet result = stmt.executequery("select * FROM usuario;"); de este modo se obtiene el resultado de la consulta dentro de la variable result y solo quedaría examinar lo que se encuentra en ella: 1. Ir a la primera fila de datos: result.next(); 2. Obtener los datos de la columna de cada fila: String nombre = result.getstring("nombre"); String apellido = result.getstring("apellido"); // También pueden usarse getint(), getdate(), entre otros Luego se puede imprimir la información fácilmente de esta forma: System.out.println("Empleado: "+nombre+" "+apellido); //También puede usar JOptionPane Nota: No debe olvidar que de esta forma imprimirá solo la primera fila del resultado, en caso de que retorne más de un registro deberá iniciar el bloque declarando el result.next dentro de un ciclo que puede ser: While(result.next()) { // Instrucciones... INSERT: El orden en que se ejecuta una instrucción INSERT SQL, con el JDBC, es el siguiente: a) Se realiza una llamada al método executeupdate de la clase Statement, dicho método recibe un String el cual contiene el cuerpo de la instrucción INSERT que queremos realizar b) La ejecución del método anterior devuelve un entero que nos indica si hubo o no un error en la instrucción INSERT c) La ejecución del método executeupdate puede generar excepciones las cuales deben ser atrapadas en un bloque try catch Ejemplo de un INSERT: Statement insercion = con.createstatement(); Try { insercion.executeupdate( insert into persona values 100500, 020 ) ); // fin del try catch (SQLException e){

System.err.println("fallo al tratar de insertar "); // fin del catch DELETE: El orden en que se ejecuta una consulta DELETE SQL con el JDBC es el siguiente: a) Se realiza una llamada al método executeupdate de la clase Statement, dicho método recibe un String el cual contiene el cuerpo de la instrucción DELETE que queremos realizar b) La ejecución del método anterior devuelve un entero que indica si hubo o no, error en la instrucción DELETE. c) La ejecución del método executeupdate puede generar excepciones las cuales deben ser atrapadas en un bloque try - catch Ejemplo de un DELETE Statement borrado = con.createstatement(); Try { borrado.executeupdate( DELETE FROM persona WHERE id = '001' ); // Fin del try catch (SQLException e) { System.err.println("Error al tratar de Borrar una tupla de Persona"); // Fin del catch Entidad Financiera BancaUV Para los puntos siguientes, use la base de datos Entidad Financiera BancaUV, del laboratorio No.3. Empleado (dniemp, nomemp, sexemp, fecnac, fecalt, salemp, codsuc, diremp) Sucursal (codsuc, dirsuc, telsuc) Cuenta (nrocta, fecabre, codsuc, saldocta) Cliente (ndicli, nomcli, dircli, telcli) Titular (nrocta, ndicli, numordtit) Cajero (codcaj, tipcaj, codsuc) Operacion (codcaj, fechaope, horaope, tipope, DescripcOpe, vlrope, nrocta) Se debe construir un programa de aplicación para la entidad financiera BancaUV, así como la prueba y correcciones necesarias a la aplicación. Trabajo Qué hacer? Construya un programa de aplicación en Java que contiene un GUI y usa JDBC para conectarse al servidor PosgresSQL; pruebe y corrija su aplicación en lo que se refiere a corrección y eficiencia. Más específicamente, su tarea incluye lo siguiente: 1. Opción de consulta: defina tres diferentes consultas (que incluyan subconsultas y operaciones join) de su base de datos BancaUV y muéstrelas utilizando el JDBC. [6] 2. Opción de inserción: Muestre como se realiza la inserción de 10 registros diferentes en las tablas de la base de datos usando JDBC, ciclos y una instrucción INSERT, muestre las tuplas insertadas en un JTextArea. Adjunte el método java que hace esta tarea. [6] 3. Opción de modificación: Modifique a[6]l menos cuatro de los registros de alguna(s) de las tablas de su base de datos BancaUV usando JDBC y una instrucción UPDATE; muestre las tuplas modificadas en el JTextArea. Adjunte el método java que hace esta tarea. de su base de datos BancaUV. [6]

4. Opción de borrado: Borre algunos de los registros de las tabla tablas de su base de datos BancaUV usando JDBC y una instrucción DELETE, muestre las tuplas borradas en el JTextArea. Adjunte el método java que hace esta tarea. [6] 5. Opción de listado: Muestre el estado actual (en el JTextArea) de las tuplas en las tablas trabajadas, usando funciones JDBC. Adjunte el método java que hace esta tarea. [6] 6. Opción de carga de datos: Cree un programa, usando el lenguaje java, que genere datos aleatorios en un archivo plano con más de 100.000 (cien mil) registros. Utilizando este archivo, cargue estos datos en la tabla Operación usando una función (tal como lo hace el ORACLE BULK LOADER) y el JDBC en una aplicación Java. Indique los tiempos de carga. Tenga en cuenta que parte de los registros generados pueden no cumplir con las restricciones de la tabla, por ejemplo, dos tuplas pueden tener el mismo valor en un atributo que es llave primaria; por esto, puede que sea necesario generar más de 100.000 registros diferentes para que se produzcan al menos 100.000 inserciones en una tabla. [20] 7. Cree un pequeño menú (usando la clase JMenu) que permita trabajar las opciones arriba indicadas en los puntos 1 a 6. [20] 8. [40] Construya una GUI que permita a un usuario: a) Seleccionar una alternativa a través de menú o eligiendo una pestaña con la información correspondiente. b) Preguntar al usuario por los valores apropiados de los datos. c) Acceder a la base de datos para realizar las consultas y/o modificaciones apropiadas. d) Permitir Ingresar, actualizar y borrar toda la información de las tablas Empleado, Sucursal, Cuenta, Cliente, Titular, Cajero, Operacion. e) Se debe poblar la base de datos para poder dar respuesta a las consultas especificadas en Trabajo #9, Trabajo #10 y Trabajo #11, del laboratorio 3. NOTA: Recuerde que debe crear los datos que permitan dar una respuesta a las consultas. Consulta sin respuesta no se tendrá en cuenta. Qué entregar? Presente una copia impresa de: (1) los pantallazos de muestra de su IGU (2) el código completo para su aplicación, con los comentarios para algo no obvio, y (3) el informe sobre su comprobación. Información on-líne y manuales de PostgreSQL disponibles en: http://www.postgresql.org/docs/ Fecha de Entrega: Noviembre 29 de 2014