lunes, 14 de marzo de 2011


Control Diagnostico

Bases de Datos

 

 









Utilizando las tablas detalladas en la base de datos DreamHome descritas en la figura 1, resuelva las siguientes consultas.

Figura 1 – DreamHome

I.    Indique la secuencia en que deben ser pobladas las tablas del sistema DreamHome.
·         Empleado
·         Oficina
·         Propiedad
·         Propietario
·         Cliente
·         Visita
·         Arriendo










II.    Para las consultas SQL indicadas, describir a que corresponde el resultado (indicar si la consulta es válida sintacticamente).

1)     . Select nombre, salario, cargo
From empleado
Where salario >= all (select salario
         From empleado)

R: Consulta Buena .
Selecciona el nombre, salario y cargo del empleado que el salario sea mayor o igual al salario de los empleados.

2)     Select numempleado, nombre, apellido, numOficina
From empleado
Where numempleado not in (select numempleado
                                                                         From propiedad)
  R : Consulta Buena.
Selecciona el numero de empleado , el nombre, apellido y el numero de oficina del empleado donde el numero del empleado no esta en la tabla propiedad.


3)     select numoficina, count(*)
from empleado inner join oficina using (numoficina)
group by numoficina
having count (*) >3

R: Consulta falsa.


4)     Update Empleado
Set salario = salario*1,2
having cargo = 'Asistente'

R: Consulta falsa.



III.    Desarrollar las consultas que se indican a continuación

5)     Listar las mujeres, cuyo apellido comience con B y administren al menos una propiedad, mostrando nombre, apellido y salario.

Select nombre, apellido, salario
from Empleado Inner join propiedad
on empleado.numempleado = propiedad.numempleado
where apellido like ‘B%’ and sexo = ’Femenino’ ;

6)     Listar las mujeres, cuyo salario sea mayor al de algún hombre, mostrando nombre, apellido y salario.

Select nombre, apellido, salario
from empleado where salario > (select min (salario) from empleado where sexo =’masculino’) and sexo = ‘Femenino’;

7)         Listar los empleados que tienen el mismo nombre, indicando nombre y el numEmpleado.

8)     Listar todas las propiedades que han sido visitadas durante el mes de junio de 2007.

Select numpropiedad from propiedad inner join visita on propiedad.numpropiedad = visita.numpropiedad where datepart ( fecha, dp_month ) = 6 and datepart ( fecha, dp_year ) = 2007;

9)     Determinar los registros duplicados de la tabla propietario, es decir que tengan el mismo nombre y el mismo apellido.


10)   Escribir los comandos necesarios para crear la siguiente tabla:

Tabla Categoria

LLave
Nombre columna
Tipo Dato
Largo
Constraints
PK
IdCcategoria
number
5
PK

nombreCategoria
Varchar2
50
NOT NULL Unique

numeroArtistas
number
10
Mayor o igual que 0

Create table categoria (
idCategoria number(5) primary key not null,
nombreCategoria varchar2(50) Unique not null,
numeroArtistas number(10), 
CONSTRAINT chk_numeroArtistas (numeroArtistas  >= 0) );







No hay comentarios.:

Publicar un comentario