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



Documentos relacionados
Trabajos de Ampliación. Bases de datos NoSQL.

Práctica 3. Consultas SQL

Formatos para prácticas de laboratorio

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

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

Bases de Datos: Structured Query Language (SQL)

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

MANUAL BÁSICO DE MySQL

T12 Vistas y tablas temporales

Bases de Datos SQL - Ejemplos

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

6- Combinación de tablas

BASES DE DATOS AVANZADAS Transacciones en MYSQL

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

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO

APÉNDICE SQL (Structures Query Language)

Restricciones (constraints) FOREIGN KEY

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

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

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

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

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

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

Formato para prácticas de laboratorio

BASE DE DATOS QUÉ ES UNA BASE DE DATOS?

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA Programación de sitios web Act 11: Reconocimiento de la unidad 3

Base de datos I Facultad de Ingeniería. Escuela de computación.

Lenguaje para descripción de datos

CONSULTAS BASICAS EN SQL SERVER

Restricciones de Integridad

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

Motores MySQL. José Manuel Gómez. Departamento de Lenguajes y Sistemas Informáticos

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

Crear BD en. Isis Bonet Cruz, PhD

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

INSTITUCIÓN EDUCATIVA GABRIEL GARCIA MÁRQUEZ BASE DE DATOS. DESARROLLO DE SOFTWARE Página 1 de 28 SQL SQL

Bases de Datos 2. Teórico

2- Intente crear una tabla llamada "clientes" UTILIZANDO el modo de Consulta, en el modo SQL :

Formato para prácticas de laboratorio

Temario. Índices simples Árboles B Hashing

LENGUAJE SQL. Bárbula, Febrero de Historia y Definición

LENGUAJE ESTRUCTURADO DE CONSULTAS SQL (2)

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

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

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES LENGUAJE SQL. SQL es un estándar un lenguaje estructurado para consultas

Base de Datos SQL Server

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

Repaso de Conceptos Básicos de Bases de Datos

Tema 4. Manipulación de datos con SQL

5- Uso de sentencias avanzadas

T07 Opciones de integridad referencial

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

SQL. Orígenes y Evolución

Base de Datos Práctica 1.

Acceso a bases de datos MySQL con PHP

Guía Taller I Conexión con la Base de Datos Introducción a PostgreSQL

A.1. Definiciones de datos en SQL

Grupo Kybele, Pág. 1

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

- Bases de Datos - - Diseño Físico - Luis D. García

RESTRICCIONES DE DOMINIOS

Tema: Uso de sentencias SQL

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

SQL (Structured Query Language)

Ejercicios para Access Create Tabla, Insert, Update y Delete

LENGUAJE SQL. En Mysql se utiliza un subconjunto de SQL (update, insert into, delete, select, truncate,etc).

Una vez creada la BD podemos pedirle a MySQL que nos muestre todas las BD existentes. Para eso utilizamos la siguiente instrucción:

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

Tema: PROCEDIMIENTOS ALMACENADOS.

Introducción a phpmyadmin

Oracle Básico PL/SQL

Diseño de bases de datos

Tema 33. El lenguaje SQL

Curso de MySQL y Java

GUÍA DE TRABAJO N 11 LENGUAJE C# Programación de Software Articulación SENA Grado 10 Ing. Néstor Raúl Suarez Perpiñan Página 2 de 11

10 - Desencadenadores.

6 - Recuperar algunos registros (where)

CURSO DE SQL SERVER 2005

1. Introducción: Qué es un Modelo de Datos? 2. Estática del modelo de datos relacional

Ejemplo completo: Empleados.

BASES DE DATOS EN VISUAL BASIC ACCESS + SQL

SQL SQL. Índice. Componentes. Objetivos

BASES DE DATOS. TEMA 7. SQL. EL LENGUAJE DE CONSULTA.

MANUALITO MS-SQL SERVER

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

Formato para prácticas de laboratorio

Base de Datos LSI y PI Lic. Paola Daniela Budán Lic. Federico Rosenzvaig

Paso 1: Iniciar en todos los programas Microsoft SQL Server SQL Server Management Studio.

ÍNDICE PRIMERA PARTE... 17

PHP Perfect SQL v1.0 (SQL perfectas en PHP)

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

Tablas y Campos Nuevos

Constraints (Restricciones) Copyright Oracle Corporation, All rights reserved.

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

Select table data Insert table data Update table data Delete table data Create table

Lenguaje SQL Página 1 -PARTE III-...3 TEMA 8. CREACIÓN DE VISTAS:...3. Vistas: qué son y para qué sirven?...3. Creación de vistas...

Sub consultas avanzadas

EJERCICIO SOBRE EMPRESA DE MATERIALES DE CONSTRUCCIÓN

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

Transcripción:

Nombre y apellidos: EXAMEN TEMAS 3, 4 y 5. CREACIÓN Y EXPLOTACIÓN DE UNA BASE DE DATOS 1. Crear la base de datos tiendas y, en ella, crear las tablas que se indican a continuación. Utilizar para todas las tablas el motor de base de datos InnoDB. (3 puntos) create database tiendas; use tiendas; EMPLEADO: dni (texto, máximo 15 caracteres, no nulo) nombre (texto, máximo 60 caracteres, no nulo) teléfono (texto, máximo 15 caracteres) La clave primaria de esta tabla es el campo dni. Crear un índice único para el campo nombre. CREATE TABLE empleado (dni VARCHAR (15) NOT NULL, nombre VARCHAR(60) NOT NULL, telefono VARCHAR (15), PRIMARY KEY (dni), UNIQUE (nombre)) ENGINE=InnoDB; TRABAJO: dni (texto, máximo 15 caracteres, no nulo) codtienda (numérico, no nulo) horas (numérico, valor por defecto 40) sueldo (decimal (2 decimales)) La clave primaria de esta tabla son los campos dni y codtienda. El campo dni es clave ajena de la tabla empleado. En la definición de la clave ajena indica que el campo dni tome el valor cascade para borrado y actualización.

El campo codtienda es clave ajena de la tabla tienda. En la definición de la clave ajena indica que el campo codtienda tome el valor cascade para borrado y actualización. CREATE TABLE trabajo (dni VARCHAR (15) NOT NULL, codtienda INT NOT NULL, horas INT DEFAULT 40, sueldo FLOAT (10,2), PRIMARY KEY (dni, codtienda), FOREIGN KEY (dni) REFERENCES empleado (dni) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (codtienda) REFERENCES tienda (codtienda) ON DELETE CASCADE ON UPDATE CASCADE) ENGINE=InnoDB; TIENDA: codtienda (numérico, no nulo) nombre (texto, máximo 60 caracteres) calle (texto, máximo 60 caracteres) numero (numérico) ciudad (texto, máximo 60 caracteres) La clave primaria de esta tabla es el campo codtienda. CREATE TABLE tienda (codtienda INT NOT NULL, nombre VARCHAR (60), calle VARCHAR (60), numero INT, ciudad VARCHAR (60), PRIMARY KEY (codtienda)) ENGINE=InnoDB; 2. Insertar los siguientes datos en las tablas creadas en el ejercicio anterior (1 punto): EMPLEADO: 35.876.234-M María Dolores García Trasmonte 632 45 67 85 40.112.432-L José Manuel Marín López 611 20 15 90 12.874.754-R Pedro Rodríguez Cárdenas 654 43 53 87 INSERT INTO empleado VALUES ( 35.876.234-M, María Dolores García Trasmonte, 632 45 67 85 ), ( 40.112.432-L, José Manuel Marín López, 611 20 15 90 ), ( 12.874.754-R, Pedro Rodríguez Cárdenas, 654 43 53 87 ); TRABAJO: 35.876.234-M 1 20 812,34 35.876.234-M 2 20 315,08 40.112.432-L 3 40 1208,25 12.874.754-R 4 20 620,87 12.874.754-R 5 20 601,43

INSERT INTO trabajo VALUES ( 35.876.234-M, 1, 20, 812.34), ( 35.876.234- M, 2, 20, 315.08), ( 40.112.432-L, 3, 40, 1208.25), ( 12.874.754-R, 4, 20, 620.87), ( 12.874.754-R, 5, 20, 601.43); TIENDA: 1 Madrid C/Montera 12 - Madrid 2 Alcorcón Plaza de España 25 - Alcorcón 3 Sevilla C/Sierpes 115 - Sevilla 4 Badajoz C/Menacho 37 - Badajoz 5 Zafra C/Sevilla 23 - Zafra INSERT INTO tienda VALUES (1, Madrid, C/Montera, 12, Madrid ), (2, Alcorcón, Plaza de España, 25, Alcorcón ), (3, Sevilla, C/Sierpes, 115, Sevilla ), (4, Badajoz, C/Menacho, 37, Badajoz ), (5, Zafra, C/Sevilla, 23, Zafra ); 3. Realizar las siguientes consultas sobre la base de datos (4 puntos): a) Contar cuántos empleados trabajan en la tienda de Zafra. select count(empleado.dni) from empleado, trabajo, tienda where empleado.dni=trabajo.dni and trabajo.codtienda = tienda.codtienda and ciudad= Zafra ; b) Listar el código y el nombre de las tiendas en las que algún empleado trabaje media jornada (20 horas). select tienda.codtienda, tienda.nombre from tienda, trabajo where trabajo.codtienda = tienda.codtienda and horas = 20; c) Listar los nombres de los empleados que trabajan en la tienda de Badajoz. Listar también al lado las horas que trabajan en dicha tienda. select empleado.nombre, horas from empleado, trabajo, tienda where empleado.dni = trabajo.dni and trabajo.codtienda = tienda.codtienda and ciudad= Badajoz ; d) Muestra un listado de los empleados y, al lado, el sueldo total recibido (tener en cuenta que hay empleados que trabajan en varias tiendas, no en una sola). select empleado.nombre, sum(sueldo) from empleado, trabajo where empleado.dni = trabajo.dni group by empleado.nombre; e) Muestra un listado de los empleados, la tienda en la que trabajan y el sueldo recibido en dicha tienda. El listado debe estar ordenado ascendentemente

primero por nombre del empleado, luego por nombre de la tienda y luego por sueldo recibido. select empleado.nombre, tienda.nombre, sueldo from empleado, trabajo, tienda where empleado.dni=trabajo.dni and trabajo.codtienda=tienda.codtienda order by empleado.nombre, tienda.nombre, sueldo; f) Mostrar el nombre y el sueldo del empleado que gane más, teniendo en cuenta sólo a los empleados que trabajan media jornada (20 horas). select max(sueldo), empleado.nombre from empleado, trabajo where empleado.dni = trabajo.dni and horas=20; g) Mostrar el sueldo medio de los empleados que trabajan media jornada (20 horas). select avg(sueldo) from empleado, trabajo where empleado.dni=trabajo.dni and horas=20; h) Listar los empleados que ganen más de 1200 euros. En el listado mostrar el nombre del alumno y el sueldo. Tener en cuenta que algunos empleados reciben sueldo por trabajar en más de una tienda. select empleado.nombre, sum(sueldo) as sueldototal from empleado, trabajo where empleado.dni = trabajo.dni group by empleado.nombre having sueldototal>=1200; 4. Realizar las siguientes modificaciones sobre la base de datos (1 punto): a) La tienda de Madrid se ha trasladado de la C/ La Montera 12 a la C/La Montera 20. Actualizarlo en la base de datos. update tienda set numero=20 where numero=12; b) El 2014 ha sido un buen año desde el punto de vista económico y el dueño de la cadena de tiendas ha decidido subirle a sus empleados un 5% el sueldo. Realizar esta actualización en la base de datos. update trabajo set sueldo=sueldo*1.05; 5. Para poder sacar un listado de los empleados en una aplicación web necesitamos crear una vista que muestre los siguientes campos de las tablas de la base de datos: nombre del empleado, tienda en la que trabaja, horas que trabaja y sueldo. Diseñar la vista para esta aplicación. (1 punto)

create view listadoempleados as select empleado.nombre as nombreempleado, tienda.nombre as nombretienda, horas, sueldo from empleado, tienda, trabajo where empleado.dni = trabajo.dni and trabajo.codtienda = tienda.codtienda;