Está en la página 1de 8

Instituto Tecnolgico de Zacatepec

Prctica 4: Definicin y Creacin de Vistas

Ingeniera en Tecnologas de la Informacin y Comunicaciones Taller de Bases de Datos

Profesora: Ofelia Espinosa Baca Alumno: Juan Carlos Alvarado Rivera No. Control: 11090409

Objetivo: Disear vistas en SQL relacionadas con los requerimientos de informacin dados. Utilizando la base de Datos: SeguimientoProyectos_Juan_Carlos create schema SeguimientoProyectos_Juan_Carlos; use SeguimientoProyectos_Juan_Carlos; create table Departamentos(NumDepto int primary key, NomDepto varchar(30) not null, Presupuesto int not null, NumTel varchar(10) not null, Gerente varchar(40) not null unique); create table Empleados(NumEmp varchar(6) primary key, Nombre varchar(40) not null, Profesion varchar(20) not null, Ciudad varchar(20)not null, Sueldo int not null, NumDepto int not null, constraint FK_NumDepto foreign key (NumDepto) references Departamentos(NumDepto)); create table Proyectos(NumProy varchar(7) primary key, NumDepto int not null, NomProy varchar(20) not null , PresupProy int, CiudadProy varchar(20) not null, constraint FK_NumDepartamento foreign key(NumDepto) references Departamentos(NumDepto)); create table Emp_Proy(NumProy varchar(7) not null, NumEmp varchar(6) not null, Duracion int not null, constraint FK_NumProy2 foreign key(NumProy) references Proyectos(NumProy), constraint FK_NumEmp2 foreign key(NumEmp) references Empleados(NumEmp), constraint PK_Planeacion primary key(NumProy, NumEmp)); /****************insercion de datos*****************************/ use SeguimientoProyectos_Juan_Carlos; /************en la tabla departamentos****************************/ insert into departamentos values(1,'Sistemas',200000,'3431277','Lic. Sandra Martinez'); insert into departamentos values(2,'Administracion',180000,'3431248','Lic. Julie Villegas');

insert into departamentos values(3,'Metal Mecanica',130000,'3431299','Ing. Omar Benitez'); insert into departamentos values(4,'Quimica y Bioquimica',100000,'3431246','Ing. Blanca Ortiz'); /********************en la tabla empleados*************************/ insert into empleados values('E1','Salazar','Ing. Mecanico','Monterrey',10000,3); insert into empleados values('E2','Torres','Ing. Sistemas','Cuernavaca',12000,1); insert into empleados values('E3','Bernal','Ing. Electrico','Veracruz',8000,3); insert into empleados values('E4','Corona','Ing. Electromecanico','DF',8500,3); insert into empleados values('E5','Lopez','Lic. Informatica','Cuernavaca',13000,1); insert into empleados values('E6','Sanchez','Ing. Sistemas','Monterrey',10000,1); insert into empleados values('E7','Rodriguez','Lic. Admon','Cuernavaca',9000,2); insert into empleados values('E8','Aldana','Ing. Bioquimico','DF',8000,4); insert into empleados values('E9','Jaimes','Lic. Economia','Cuernavaca',14000,2); insert into empleados values('E10','Hernandez','Lic. Informatica','Cuernavaca',9000,1); insert into empleados values('E11','Alvarado','Ing. Sistemas','Cuernavaca',5000,1); insert into empleados values('E12','Rivera','Lic. Informatica','Monterrey',4800,1); insert into empleados values('E13','Zamora','Ing. Mecanico','DF',4900,3); insert into empleados values('E14','Solorio','Lic. Admon','Cuernavaca',5000,2); insert into empleados values('E15','Novoa','Ing. Electrico','DF',5000,3); /*********************************en la tabla proyectos************************/ insert into proyectos values('J1',1,'Base de Datos',200000,'Veracruz'); insert into proyectos values('J2',1,'Redes',180000,'Cuernavaca'); insert into proyectos values('J3',2,'Formulacion de Proy',130000,'Veracruz'); insert into proyectos values('J4',3,'Diseo Mecanico',100000,'San Luis Potosi'); insert into proyectos values('J5',4,'Destilado de Caa',90000,'Jojutla'); /*******************************en la tabla emp_proy**************************/ insert into emp_proy values('J4','E1',4); insert into emp_proy values('J1','E2',6); insert into emp_proy values('J3','E1',8); insert into emp_proy values('J4','E3',4); insert into emp_proy values('J4','E4',4); insert into emp_proy values('J1','E5',7); insert into emp_proy values('J2','E6',5); insert into emp_proy values('J2','E2',5); insert into emp_proy values('J5','E8',7); insert into emp_proy values('J3','E7',8); insert into emp_proy values('J1','E6',6); insert into emp_proy values('J3','E4',8); insert into emp_proy values('J3','E9',8); insert into emp_proy values('J1','E10',6); insert into emp_proy values('J2','E10',5);

Select * from departamentos;

Select * from empleados;

Select * from proyectos;

Select * from emp_proy;

a) Obtener una relacin de empleados por departamento, muestre el nombre del departamento y el nombre de los empleados que pertenecen al mismo. create view empleadosDeptos as select nombre, nomdepto from empleados e, departamentos d where e.numdepto=d.numdepto order by nomdepto; select * from empleadosDeptos;

b) Obtener informacin de los proyectos con presupuesto > 10000. create view Presupuesto_por_Proyecto as select numproy, presupProy from proyectos; select * from Presupuesto_por_Proyecto;

c) Obtener informacin de los empleados con salario mayor o igual a 5000, muestre el nombre, profesin, ciudad y sueldo. create view EmpleadosQueGananMas as select nombre, profesion, ciudad, sueldo from empleados where sueldo >= 5000; select * from EmpleadosQueGananMas;

d) Incremente en 4% el sueldo de los empleados con salario igual a 5000 y muestre el nombre del empleado y su salario actual create view AumentoSalario as select nombre, sueldo*0.04 + sueldo as SueldoActual from empleados where sueldo=5000; select * from AumentoSalario;

e) Obtenga informacin de los empleados de Cuernavaca que participan en proyectos de Veracruz, muestre el nombre del empleado y el numero del proyecto. create view NomEmp_NumProy as select nombre, numproy from empleados, emp_proy where ciudad='Cuernavaca' and empleados.numemp=emp_proy.numemp and emp_proy.numproy in( select numproy from proyectos where ciudadproy='Veracruz'); select * from NomEmp_NumProy;