Control DiagnosticoBases 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) );
CONSTRAINT chk_numeroArtistas (numeroArtistas >= 0) );
No hay comentarios.:
Publicar un comentario