Sei sulla pagina 1di 3

Pontificia Universidad Javeriana Fundamentos de Bases de Datos Modelo Relacional Laboratorio SQL.

Esquema

Donde: Emp: Esta relacin contiene las instancias de empleados de una compaa. eid id del empleado ename nombre del empleado age edad salary salario Dept: esta relacin contiene los departamentos de una compaa did id de departamento budget presupuesto del departamento managerid id del jefe del departamento, que es tambin un empleado. Works: esta relacin contiene el detalle de los empleados que trabajan en los departamentos (un empleado puede trabajar en varios departamentos y en un departamento pueden trabajar varios empleados) eid id del empleado did id de departamento pct_time porcentaje de tiempo que trabaja en el departamento un empleado Crear las tablas CREATE TABLE Emp ( eid INTEGER, ename CHAR(10), age INTEGER, salary REAL, PRIMARY KEY (eid) ) CREATE TABLE Dept ( did INTEGER, budget REAL, managerid INTEGER , PRIMARY KEY (did) ) CREATE TABLE Works ( eid INTEGER, did INTEGER, pct_time INTEGER, PRIMARY KEY (eid, did) ) Insertar Tuplas insert into emp (eid, ename, age, salary) values(100, 'julio',30,10000000) ; insert into emp (eid, ename, age, salary) values(200, 'martha',25,1500000) ; insert into emp (eid, ename, age, salary) values(300, 'betulio',35,600000) ;

insert into dept(did,budget,managerid) values(1,500000,200); insert into dept(did,budget,managerid) values(2,100000,100); insert into dept(did,budget,managerid) values(3,50000,100); insert into dept(did,budget) values(4,60000); insert into works (eid, did, pct_time) values(100, 1, 70); insert into works (eid, did, pct_time) values(200, 1, 30); insert into works (eid, did, pct_time) values(100, 2, 30); insert into works (eid, did, pct_time) values(200, 2, 70); Verificacin Liste las relaciones creadas usando cualquiera de las siguientes sentencias: select * from tab; select * from users_tab; Liste la estructura de cada tabla usando: desc nombretabla Consultas Escriba las sentencias SQL y la salida. 1. Liste todos los registros de cada relacin 2. Liste el managerid de los departamentos (sin repetidos) 3. Liste los nombres y las edades de los empleados de ms de 30 aos, ordenados por nombre de la Z a la A. 4. Liste el eid, el nombre y el salario de los empleados que ganan entre 500000 y 1000000 de pesos. 5. Liste el did de los departamentos que no tienen manager. 6. Liste el nombre del empleado en mayscula (use la funcin upper), seguido de un signo - y la longitud del nombre (use la funcin length), asigne un nombre al atributo resultante. Para concatenar utilice el operador ||. Tenga en cuenta slo aquellos nombres de ms de 5 letras y que terminen en lio. Remueva espacios en blanco antes de cualquier funcin usando la funcin rtrim ltrim que permite remover espacios en blanco a la derecha a la izquierda. 7. Encuentre el nombre del empleado, el id del departamento y el porcentaje de dedicacin de los empleados, ordenado por nombre de empleado de mayor a menor y porcentaje de dedicacin de menor a mayor. 8. Encuentre el did del departamento y el nombre del jefe de cada departamento. 9. Encuentre el nombre y el salario aumentado en el IPC (6.5%) de los empleados que ganan ms que el empleado de nombre Julio. 10. Encuentre los eid de los empleados que no trabajan en ningn departamento.

Entregables: 1. Archivo de texto con su NOMBRE, APELLIDO, FECHA 2. El nmero de cada consulta y la consulta en SQL. El nmero debe preceder a la consulta y debe ir en comentarios 3. Las consultas deben terminar con un signo; Ejemplo: -- Julio Carreo. Abril.15.20XX. Lab Bases de Datos --consulta 1. select * from x --consulta 2.

select * from x, y where

4. Las consultas se deben enviar en el orden establecido en el laboratorio. 5. Se debe enviar a travs del buzn de transferencia digital.

Potrebbero piacerti anche