Práctica Consultas SQL DML

Documentos relacionados
Departamento de Lenguajes y Sistemas Informáticos

Access SQL: DDL y DML. Una empresa de Ingeniería precisa una base de datos para la gestión de sus proyectos.

Bases de Datos Relacionales y SQL: Una Introducción

Introducción a SQL (DDL)

Guía de ejercicios de SQL Prof. Mauricio E. Fernández N. Semestre Agosto-Diciembre de 2012

Introducción SQL. Ges2ón y Modelación de Datos María Constanza Pabón

Base de Datos SQL Server

Bases de Datos: Structured Query Language (SQL)

Bases de Datos 2. Teórico

A.1. Definiciones de datos en SQL

ÍNDICE PRIMERA PARTE... 17

SERVICIO NACIONAL DE APRENDIZAJE SENA

Bases de Datos SQL - Ejemplos

SQL: Lenguaje de Interrogación Estructurado

ÍNDICE. Introducción... Capítulo 1. Características, instalación, inicio y entorno de trabajo... 1

Tema 1. Introducción a MySQL. José Muñoz Jimeno Octubre 2015

APÉNDICE SQL (Structures Query Language)

Bases de Datos Curso Grado en Ingeniería del Software Examen Junio. Nombre:

LEA ATENTAMENTE LAS PREGUNTAS Y RESUELVA CADA EJERCICIO COMO SE INDIQUE (EN CASO CONTRARIO EL EJERCICIO NO PUNTUARÁ) CADA EJERCICIO VALE UN PUNTO

Un proyecto de IBM llamado Sistem/R construye un prototipo simple llamado SQUARE que después se transformó en SQL.

Gestión de nóminas diciembre 2011

El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos

Temario. Índices simples Árboles B Hashing

Ejemplo de gestión de datos con SQL

Maestría en Bioinformática. Bases de Datos y Sistemas de Información SQL: DML. Ing. Alfonso Vicente, PMP

Diseño de bases de datos Práctica-1 Definición de datos

Structured Query Language (SQL) Fundamentos de Bases de Datos InCo

Video Club. Materia: Base de Datos. Curso: 3 A Turno Noche. Docente: Nicolás Bocalandro. Alumnos: Nicotra, Antonela

1 2 3 ( /! 3 ) +, 1& 3 0))) % &! ( ) +,. / & 0)))

LENGUAJE DE CONSULTA ESTRUCTURADO (SQL)

Bases de Datos Curso Grado en Ingeniería del Software Examen Junio. Nombre:

Oracle Database y Oracle SQL Developer

Triggers 27/11/2014. Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers en Oracle

Unidad. Lenguaje SQL. (Structured Query Language)

Bases de Datos 1. Teórico: Structured Query Language

Sistema Gestor de Bases de Datos Relacionales (SGBDR), que maneja distintos tipos de datos:

SQL. Orígenes y Evolución

Crear BD en. Isis Bonet Cruz, PhD

Unidad6. Diseño físico de datos

INTRODUCCIÓN A LAS BASES DE DATOS. L.I Gerardo Benavides Pérez

A. Crear el script de la BD Hotel, utilizando el PostgreSQL (pgadmin). Y guardarlo como.sql y.txt, y realizar el Backup de la BD.

T07 Opciones de integridad referencial

Ejemplo completo: Empleados.

Grupo Kybele, Pág. 1

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

Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers

Lenguaje SQL (2ª Parte) Definición de datos

Prácticas EDAT Curso 12/13

SQL - DDL y consultas de actualización. José Muñoz Jimeno Febrero 2015

Bases de Datos Relacionales

EXAMEN: BASES DE DATOS 4º Ingeniería Informática (31 de enero de 2008)

SQL (Structured Query Language)- DML

Base de datos Lenguaje SQL

ejemplos de consultas SQL para obtener claves, DF y DMV en la BD de prendas de ropa

SQL (Structured Query Language)

EL LENGUAJE DE BASES DE DATOS SQL (DDL, DML, TRIGGERS Y STORE PROCEDURES)

[CASI v.0110] Pág. 1

GBD Diseño físico de DDBB

RICHARD ALEXANDER BETANCUR SIERRA

(LDD) VARCHAR2 (n) : alfanumérico (hasta 240) NUMBER (n,p) : números con signo y punto decimal

Concepto de vista. (con ciertas limitaciones). nivel físico) Una vista es una tabla virtual (no tiene una correspondencia a

Clase 4: SQL DDL DML Consultas Simples y Multitablas. BASE DE DATOS FAC.DE INGENIERIA - UNJu

Primera Escuela de la Red Temática SVO. Madrid, Noviembre, 27 28, SQL básico. Carlos Rodrigo Blanco LAEFF INTA

Lenguaje de manipulación de datos

8 SQL SERVER 2008 RA-MA

Bases de Datos. Práctica 7 WinRDBI. Consultas en cálculo relacional y SQL

EXAMEN DE BASES DE DATOS 11/06/04 Esquema de trabajo

MANUAL BÁSICO DEL LENGUAJE SQL

Introducción 1 Recuperación de Datos mediante la Sentencia SQL SELECT

Introducción a las bases de datos.

ÍNDICE. Introducción... Capítulo 1. Novedades de Access

Base de Datos. Docente: Ing. Francisco Rodríguez BASE DATOS. Resultados. Internet. Requerimientos

Diseño de bases de datos

Tema 4. SQL. Juan Ignacio Rodríguez de León

Características del lenguaje SQL

1. Lenguaje de Definición de Datos. 2. Lenguaje de Manipulación de. Datos. M. C. Gustavo Alfonso Gutiérrez Carreón

Iniciación al trabajo con bases de datos

1. Dadas las tablas ALUM y NUEVOS, insertar en la tabla ALUM los nuevos alumnos.

Práctica 3: El lenguaje SQL (2ª parte). (6ª sesión).

Tema II: El modelo relacional de datos Objetivos:

Carlos A. Olarte Ligaduras de Integridad y Restricciones sobre la BD

Tarea 2 - Consultas en SQL Solución propuesta por los docentes

Procedimientos almacenados en PL/SQL. Jonathan Medina Gómez Facultad de Ingeniería Universidad de Antioquia

RESUMEN DEL LENGUAJE SQL

Tablas -SQL Curso Bases de Datos. Por Elizabeth León Guzmán, Ph.D. Profesora Ingeniería de Sistemas Grupo de Investigación MIDAS

Examen de Bases de datos Grado de Ingeniería en Informática 3 de septiembre, 2015

Proyecto 1 BASE DE DATOS SQL Server y MySQL

BASES DE DATOS TEMA 4. SQL. UN LENGUAJE DE CONSULTA COMERCIAL PARA BASES DE DATOS RELACIONALES Contenidos generales

Tutorial MySql - 1 -

SQL. Amparo López Gaona. México, D.F. Noviembre 2003

Oracle Fundamentos. Programa de Estudio.

Transcripción:

Práctica Consultas SQL DML Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla noviembre 2012 Objetivos Objetivos de la práctica Crear un modelo relacional utilizando SQL Insertar tuplas en dicho modelo Utilizar SQL DML para realizar consultar sobre el modelo relacional. noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 1 IISSI 1

Requisitos La BD de una agencia inmobiliaria que gestiona alquileres de inmuebles requiere lo siguiente: Inmuebles. Identificador de inmueble, dirección y tipo de inmueble. Tipo de inmuebles.estará tipificado, se almacenará el identificador de tipo de inmueble y tipo de inmueble. Ofertas de inmuebles. Un inmueble puede tener distintas ofertas a lo largo del tiempo. Se recogerá el identificador de la oferta, el precio mensual de alquiler y la fecha de la oferta. Demandas. Se almacenará el Nif del cliente, el precio máximo mensual que quiere pagar, tipo de inmueble que busca y fecha de la demanda. Alquileres.Cuando un inmueble ofertado sea alquilado por un demandante, se firmará un contrato de alquiler en el que figura el precio mensual acordado, la cantidad que se abonará como fianza y fecha inicial y final del alquiler. noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 2 Diagrama de clases Modelo conceptual Inmueble -domicilio -tipo : TipoInmueble 1tiene «enumeration» TipoInmueble +piso +local +casa * Oferta_Alquiler -preciooferta -fechaoferta * * contratoalquiler -inicioalquiler -finalquiler -preciocon -fianza Demanda_Alquiler -nifcliente -preciomax -fechademanda -tipo: TipoInmueble noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 3 IISSI 2

Diagrama relacional Modelo relacional Inmueble PK idi domicilio tipo PK Oferta_Alquiler ido preciooferta fechaoferta FK1 idi Contrato_Alquiler PK,FK1 ido PK,FK2 IdD inicioalquiler finalquiler preciocontrato fianza Demanda_Alquiler PK IdD NifCliente preciomax fechademanda tipo noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 4 Tabla Inmuebles Inmuebles Inmuebles: noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 5 IISSI 3

Ofertas Ofertas : Tabla Ofertas noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 6 Tabla Demandas Demandas Demandas: noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 7 IISSI 4

Contratos Contratos: Tabla Contratos noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 8 Ejercicio de Consultas 1. Nif de demandantes en la BD 2. Contratos de alquiler de la base de datos. 3. Contratos de alquiler actualmente vigentes. 4. De los contratos de alquiler actualmente vigentes, obtener la fecha inicial y final, domicilio y tipo del inmueble alquilado y Nif del inquilino. 5. Inmuebles que no se hayan alquilado nunca. 6. Inmuebles actualmente disponibles para poder alquilarse. 7. Número de inmuebles de cada tipo en la BD. 8. Tipo de inmueble del que hay mas inmuebles en la BD 9. Inmuebles con domicilio en la "Palmera. 10. Nif de los demandantes y precio máximo. 11. Nif de los demandantes, precio máximo y cuando haya contrato de alquiler mostrar el precio de contrato. 12. Nif de los demandantes, precio máximo y cuando haya contrato de alquiler mostrar el precio de contrato y diferencia entre ambos precio. noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 9 IISSI 5

Script de creación de tablas -- Borrado de tablas DROP TABLE CONTRATOS; DROP TABLE DEMANDAS; DROP TABLE OFERTAS; DROP TABLE INMUEBLES; -- Creación de tablas CREATE TABLE INMUEBLES ( "IDI" CHAR(5 BYTE) PRIMARY KEY, "DOMICILIO" VARCHAR2(50 BYTE), "TIPO" CHAR(5 BYTE), CONSTRAINT "INMUEBLES_CHK1" CHECK (TIPO IN ('Piso', 'Local', 'Casa'))); CREATE TABLE OFERTAS ( "IDO" CHAR(5 BYTE) PRIMARY KEY, "PRECIOOFERTA" NUMBER(*,0), "FECHAOFERTA" DATE, "IDI" CHAR(5 BYTE) REFERENCES INMUEBLES); noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 10 Script de creación de tablas CREATE TABLE DEMANDAS ( "IDD" CHAR(5 BYTE) PRIMARY KEY, "NIF" VARCHAR2(9 BYTE), "PRECIOMAX" NUMBER(*,0), "FECHADEM" DATE, "TIPO" CHAR(5 BYTE), CONSTRAINT "DEMANDAS_CHK1" CHECK (TIPO IN ('Piso', 'Local', 'Casa'))); CREATE TABLE CONTRATOS ( "IDO" CHAR(5 BYTE) REFERENCES OFERTAS, "IDD" CHAR(5 BYTE) REFERENCES DEMANDAS, "INICIO" DATE, "FIN" DATE, "PRECIOCON" NUMBER(*,0), "FIANZA" NUMBER(*,0), PRIMARY KEY (IDO,IDD) ); noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 11 IISSI 6

Script de inserción de tuplas -- Insert de tablas Insert into INMUEBLES (IDI,DOMICILIO,TIPO) values ('I1 ','Cuna 25','Piso'); Insert into INMUEBLES (IDI,DOMICILIO,TIPO) values ('I2 ','Laraña 3','Piso'); Insert into INMUEBLES (IDI,DOMICILIO,TIPO) values ('I3 ','Store 5','Local'); Insert into INMUEBLES (IDI,DOMICILIO,TIPO) values ('I4 ','Palmera 18','Casa'); Insert into INMUEBLES (IDI,DOMICILIO,TIPO) values ('I5 ','Palmera 40','Casa'); values ('O1 ','600',to_date('01/05/10','DD/MM/RR'),'I1 '); values ('O2 ','550',to_date('01/01/12','DD/MM/RR'),'I1 '); values ('O3 ','500',to_date('10/01/12','DD/MM/RR'),'I2 '); values ('O4 ','1000',to_date('01/01/12','DD/MM/RR'),'I3 '); values ('O5 ','800',to_date('01/01/09','DD/MM/RR'),'I5 '); values ('O6 ','600',to_date('01/01/12','DD/MM/RR'),'I5 '); values ('O7 ','700',to_date('01/02/09','DD/MM/RR'),'I4 '); noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 12 Script de inserción de tuplas Insert into DEMANDAS (IDD,NIF,PRECIOMAX,FECHADEM,TIPO) values ('D1 ','11111111A','400',to_date('01/03/12','DD/MM/RR'),'Piso'); Insert into DEMANDAS (IDD,NIF,PRECIOMAX,FECHADEM,TIPO) values ('D2 ','11111111A','800',to_date('01/03/12','DD/MM/RR'),'Local'); Insert into DEMANDAS (IDD,NIF,PRECIOMAX,FECHADEM,TIPO) values ('D3 ','2222222B','700',to_date('05/05/12','DD/MM/RR'),'Casa'); Insert into DEMANDAS (IDD,NIF,PRECIOMAX,FECHADEM,TIPO) values ('D4 ','3333333C','500',to_date('02/02/10','DD/MM/RR'),'Casa'); Insert into CONTRATOS (IDO,IDD,INICIO,FIN,PRECIOCON,FIANZA) values ('O2 ','D1 ',to_date('15/08/12','dd/mm/rr'), to_date('15/08/13','dd/mm/rr'),'500','500'); Insert into CONTRATOS (IDO,IDD,INICIO,FIN,PRECIOCON,FIANZA) values ('O6 ','D3 ',to_date('01/06/12','dd/mm/rr'), to_date('31/12/12','dd/mm/rr'),'600','300'); Insert into CONTRATOS (IDO,IDD,INICIO,FIN,PRECIOCON,FIANZA) values ('O7 ','D4 ',to_date('05/05/10','dd/mm/rr'), to_date('01/09/11','dd/mm/rr'),'600','300'); noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 13 IISSI 7

Script de consultas --Nif de demandantes en la BD select distinct nif from demandas order by nif desc; --Contratos de alquileres select * from contratos; --Contratos de alquileres actualmente vigentes select * from contratos where (select sysdate from dual) between inicio and fin; --De los contratos de alquiler actualmente vigentes, obtener la fecha inicial y final, --domicilio y tipo del inmueble alquilado y Nif del inquilino select ido,idd, idi, domicilio, tipo, nif from contratos natural join ofertas natural join demandas natural join inmuebles where (select sysdate from dual) between inicio and fin; --Inmuebles que no se hayan alquilado nunca select idi from inmuebles where idi NOT IN (select idi from contratos natural join ofertas natural join inmuebles); --Inmuebles actualmente disponibles para poder alquilarse. select idi from inmuebles where idi NOT IN (select idi from contratos natural join ofertas natural join inmuebles where (select sysdate from dual) between inicio and fin); noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 14 Script de consultas --Número de inmuebles de cada tipo en la BD select tipo, count(*) from inmuebles group by tipo; --Tipo de inmueble del que hay mas inmuebles en la BD select tipo, count(*) from inmuebles groupby tipo having count(*) = (select max(mas) from (select tipo, count(*) as mas from inmuebles group by tipo)); select tipo, count(*) from inmuebles groupby tipo having count(*) >= All (select count(*) from inmuebles group by tipo); --Inmuebles con domicilio en en la "Palmera" select * from inmuebles where domicilio LIKE 'Palmera%'; --Nif de los demandantes y precio máximo select nif, preciomax from demandas; --Nif de los demandantes, precio máximo y cuando haya contrato de alquiler --mostrar el precio de contrato select nif, preciomax, preciocon from demandas D left join contratos C on D.idd=c.idd; --Nif de los demandantes, precio máximo y cuando haya contrato de alquiler mostrar el --precio de contrato y diferencia entre ambos precio select nif, preciomax, preciocon, preciomax-preciocondiferencia from demandas D left join contratos C on D.idd=c.idd; noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 15 IISSI 8