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

Documentos relacionados
BASE DE DATOS - CURSO 02/03 PRÁCTICA 2: SQL: Lenguaje de definición de datos (DDL)

EXAMEN TEMAS 3, 4 y 5. CREACIÓN Y EXPLOTACIÓN DE UNA BASE DE DATOS

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

Ejemplo de gestión de datos con SQL

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

TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008

Bases de Datos: Structured Query Language (SQL)

Solución Ejercicio Prac. 3b (Esquema).

RICHARD ALEXANDER BETANCUR SIERRA

Insertar Datos en Tablas

Creación de Servicios web y modificaciones al webhosting gratuito para consumir posteriormente desde el movil

Base de Datos Conjunto de información organizada especialmente para búsqueda y entrada de datos. Base de Datos: Ejemplo Usuarios

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

GBD Diseño físico de DDBB

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

DISPARADORES EN SQL DISPARADORES EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999

Checks, Triggers y Excepciones en InterBase: validando desde la base de datos

Bases de Datos SQL - Ejemplos

Oracle Básico PL/SQL

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

Formato para prácticas de laboratorio

PRÁCTICA III. DISPARADORES EN SQL (II)

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

EJEMPLOS PRÁCTICOS SQL

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

Grupo Kybele, Pág. 1

Integridad Referencial. Restricciones (constraints)

Temario. Índices simples Árboles B Hashing

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

APÉNDICE SQL (Structures Query Language)

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

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO

Práctica Consultas SQL DML

SQLModificaciones a la BD

Acceso a bases de datos MySQL con PHP

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

Lenguaje para descripción de datos

EJERCICIO TRABAJADORES.

`ALTER TABLE' cambia la estructura de una tabla ya existente.

Diseño de bases de datos

Bases de Datos 2. Teórico

SQL (Structured Query Language)

Base de Datos.

Sistemas de Bases de Datos II ITS / ITSB EMT CETP

Práctica 3. Consultas SQL

Sql Basico. Seminar Introduction

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ]

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

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

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

PostgreSQL: Aplicaciones Avanzadas

Diseñar la base de datos biblioteca Soluciones:

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

RESTRICCIONES DE DOMINIOS

Unidad. Lenguaje SQL. (Structured Query Language)

Restricciones de Integridad

ÍNDICE PRIMERA PARTE... 17

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

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

mysql Departamento de Lenguajes y Computación Universidad de Almería mysql Contenidos

SERVICIO NACIONAL DE APRENDIZAJE SENA

GESTORES GESTORES DE BASES DE DATOS

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

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

Solució Exercici Prac. 3b (Esquema).

GUIA DE LABORATORIO N 9 B. (000Webhost Php- Para desarrollar en casa)

A.1. Definiciones de datos en SQL

Formato para prácticas de laboratorio

Crear BD en. Isis Bonet Cruz, PhD

SQL Los fundamentos del lenguaje

UNIVERSIDAD DEL ISTMO CAMPUS IXTEPEC LIC. INFORMATICA GRUPO 508 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000

CURSO DE SQL SERVER 2005

LENGUAJE ESTRUCTURADO DE CONSULTAS SQL (2)

Formato para prácticas de laboratorio

APUNTES: APLICACIONES WEB BASADAS EN PHP Y MYSQL Página 1 de 5

Tema 33. El lenguaje SQL

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

SQL básico. SQL básico 1. Contenido

Microsoft Virtual Academy

PROGRAMANDO BASES DE DATOS PostgreSQL INTRODUCCIÓN INTRODUCCIÓN A LAS BASES DE DATOS (L1)

APUNTES DE SQL. Version 1. Abril Luis Vinuesa Martínez vinuesa

T12 Vistas y tablas temporales

[ EDICION ESPECIAL] En el siguiente ejemplo se agrega un archivo de datos de 5 MB a la base de datos BD_Ejemplo01.

4- Uso de sentencias para el envió y extracción de datos

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación B.D. y Constraints

Lenguaje SQL para Novatos

Grandes volúmenes de datos Particionamiento. bases de datos

Oracle Express y Toad for Oracle

* Size es el tamaño inicial y Filegrowth es el incremento * El size del Primary debe ser 3 veces mayor que el Log necesariamente

Práctica 4: Estudio del SGBD Oracle 10 Gestión de Transacciones

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

Si queremos modificar la contraseña de sys, una vez que accedamos al sistema como sys, escribiremos la sentencia:

GUIA DE EJERCICIOS PARA RESOLVER: SQL

BASES DE DATOS AVANZADAS Transacciones en MYSQL

8 SQL SERVER 2008 RA-MA

Tema II: El modelo relacional de datos Objetivos:

SQL. (...la guía básica de supervivencia de dmi) Universidad de los Andes Demián Gutierrez Enero

Tema 4. Manipulación de datos con SQL

BASES DE DATOS 2º CURSO E.U.I. / F.I. Práctica 4: Estudio del SGBD ORACLE8 1 Gestión de transacciones 22 DE MAYO DE 2000

SENTENCIAS Y CONSULTAS EN SQL SERVER

Transcripción:

EXAMEN FINAL DE PRÁCTICAS DE BASES DE DATOS 18 de junio de 2003 Nombre: LEA ATENTAMENTE LAS PREGUNTAS Y RESUELVA CADA EJERCICIO COMO SE INDIQUE (EN CASO CONTRARIO EL EJERCICIO NO PUNTUARÁ) CADA EJERCICIO VALE UN PUNTO Dadas las siguientes tablas: Libro (signatura, autor, titulo, editor, clase, prestado) Usuario (carnet, nombre, dirección, fecha_ingreso) Clase (clave, tiempo_de_prestamo) Prestamo (signatura, carnet, fecha_inicio) Con las siguientes claves ajenas: Libro.clase Clase Prestamo.signatura Libro Prestamo.carnet Usuario Y las siguientes restricciones: Prestado debe tomar por defecto el valor 1 fecha_ingreso es un campo obligatorio Realizar en SQL los siguientes ejercicios: 1. Crear las tablas tal y como se haría en SQL y, una vez creadas: Agregar a la tabla Usuario el campo sexo de un solo carácter Agregar a la tabla Libro el campo índice de tipo entero CREATE TABLE clase( Clave char PRIMARY KEY, Tiempo_de_prestamo NUMBER);

CREATE TABLE libro( signatura varchar2(10) PRIMARY KEY, autor varchar2(50), titulo varchar2(50), editor varchar2(30), prestado NUMBER DEFAULT 1, clase char references clase); CREATE TABLE Usuario( Carnet varchar(10) PRIMARY KEY, Nombre varchar2(50), Dirección varchar2(50), fecha_ingreso DATE NOT NULL ); CREATE TABLE Prestamo ( Signatura varchar2(10), Carnet varchar(10), fecha_inicio date, PRIMARY KEY(signatura, carnet), FOREIGN KEY (signatura) REFERENCES libro, FOREIGN KEY (carnet) REFERENCES usuario); alter table usuario add sexo CHAR; alter table Libro add indice INTEGER; 2. Dar un ejemplo de inserción en cada una de las tablas. Modificar la clase de los préstamos de tipo 3 de forma que la duración total sea de 180 días en vez de 365. Borrar aquellos usuarios cuyo número de carnet sea mayor de 3 Tabla Libro INSERT INTO libro VALUES ( INF01, Pepe, Los problemas, MG, 1,1); INSERT INTO libro VALUES( INF02, Paco, Psicología, LL, 1,1);

INSERT INTO libro VALUES ( FIS01, Pepe, Fundamentos físicos, RO-MO, 2,1); INSERT INTO libro VALUES( MAT02, Lola, Cálculo, MM, 3,1); INSERT INTO libro VALUES ( MAT05, Susi, Matemáticas discretas, MM, 2,1); Tabla Usuario INSERT INTO usuario VALUES(1, Loli, Alarcos, 1/1/1989, m ); INSERT INTO usuario VALUES(2, Carmen, Alarcos, 7/8/1999, m ); INSERT INTO usuario VALUES(3, Alejandro, Postas, 16/2/2001, v ); INSERT INTO usuario VALUES(4, Elena, Calatrava, 30/4/2001, m ); INSERT INTO usuario VALUES(5, Miguel, Encinas, 23/5/1986, v ); Tabla Clase INSERT INTO clase VALUES(1, 15); INSERT INTO clase VALUES(2, 30); INSERT INTO clase VALUES(3, 365); Tabla prestamo INSERT INTO prestamo VALUES( INF01, 1, 1/6/2002 ); INSERT INTO prestamo VALUES( INF02, 1, 15/6/2002 ); INSERT INTO prestamo VALUES( FIS01, 2, 7/5/2002 ); INSERT INTO prestamo VALUES( MAT02, 3, 21/8/2001 ); INSERT INTO prestamo VALUES( MAT05, 3, 21/6/2002 ); UPDATE clase SET tiempo_de_prestamo=180 Where clave=3; DELETE FROM usuario WHERE carnet>3; 3. Seleccionar, alfabéticamente, el título de todos los libros del área de informática (signatura INFXX) dónde XX actúan como comodines, es decir, podrán tomar dos valores cualesquiera (por ejemplo, INF00, INF01, INF99,...) SELECT titulo

FROM libro WHERE signatura LIKE INF% ORDER BY titulo; Salida: Los problemas Psicología 4. Seleccionar la fecha de inicio de los préstamos que tienen los usuarios que viven en la calle Alarcos SELECT fecha_inicio FROM prestamo, usuario WHERE prestamo.carnet=usuario.carnet AND usuario.dirección= Alarcos ; 5. Seleccionar la fecha de inicio de los préstamos de los libros de la editorial MM que tienen los usuarios que ingresaron después del año 2000 SELECT fecha_inicio FROM prestamo, libro, usuario WHERE prestamo.carnet=usuario.carnet AND prestamo.signatura=libro.signatura AND editor= MM AND fecha_ingreso> 31/12/2000 ; Salida: 21/08/01 21/06/02 6. Devolver, para cada editor, la cantidad de libros prestados que tiene SELECT count(libro.signatura), editor FROM libro, prestamo WHERE prestamo.signatura=libro.signatura GROUP BY editor; Salida:

COUNT(LIBRO.SIGNATURA) EDITOR ---------------------- ------------------------------ 1 LL 1 MG 2 MM 7. Seleccionar el nombre de aquellos usuarios cuyo número de carnet es menor que diez veces la clase de cualquier libro que tenga prestado Select nombre From usuario Where carnet < ANY (select clase*10 from libro, prestamo where prestamo.signatura=libro.signatura and prestamo.carnet=usuario.carnet); 8. Seleccionar la fecha de ingreso de aquellos usuarios tales que todos los libros que tienen prestados tienen una signatura menor que su número de carnet Select fecha_ingreso From usuario where carnet > ALL (select signatura from prestamo where prestamo.carnet=usuario.carnet); 9. Crear una vista (libro_persona) que contenga los datos de los libros (signatura y autor) y de las personas (carnet, nombre y sexo) que tienen prestados los libros Insertar, si es posible, una fila de valores en la vista CREATE VIEW libro_persona AS SELECT libro.signatura, libro.autor, usuario.carnet, usuario.nombre, sexo FROM libro, usuario, prestamo WHERE libro.signatura=prestamo.signatura AND usuario.carnet=prestamo.carnet; No se puede insertar porque no está incluido el campo fecha_ingreso de usuario que está forzado a ser NOT NULL. 10. Realizar un programa PL/SQL que, mediante un bucle, muestre los libros que son de informática y tienen un valor par en el campo indice.