EJERCICIOS PROPUESTOS ALGEBRA RELACIONAL:
Utilizando el programa RAT (ver: http://www.slinfo.una.ac.cr/rat/rat.html y Relax
(https://n9.cl/jpfkh), se sugiere descargar RAT en la siguiente URL: https://bit.ly/2J32SLI) ,
elabore las expresiones de algebra relacional que le permitan mostrar las tuplas que se le
pidan. Tenga en cuenta que debe crear bases de datos con sus respetivas tablas y el
registro de mínimo 5 tuplas por cada una de ellas con datos de ejemplo tomados del
mundo real utilizando el SGBD MySQL.
EJERCICIO 01:
EMPLEADOS: rut, nombre, cargo, rut_jefe, sueldo, comision, numdep
DEPTOS: numdep, nombre, ciudad
GRADOS: grado, sueldo_inf, sueldo_sup
CLIENTES: rut, nombre, comuna
PRODUCTOS: codigo, nombre, precio
VENTAS: num_venta, monto, fecha, rut_vende, rut_cliente
VENTAS_DETALLE: num_venta, cod_producto, cantidad
Ciudad en la que está el departamento de venta (SALES)
Rut y nombre de los clientes de Providencia
Precios del televisor y del proyector
Nombre de los productos vendidos en la venta 6
Numero de cada una de las ventas hechas por WARD
Nombre de los clientes atendidos por TURNER
Nombre y precio de los productos vendidos por MARTIN
Grado de sueldo en que esta CLARK
Nombre de los productos comprados por los habitantes de Las Condes
Nombre de los clientes que han comprado productos que valen $30000
Numero de productos que valen más de $25000
Monto total recaudado por las ventas hechas
Cantidad total de mesas vendidas
Total, pagado por Pepe por todas las compras que ha hecho
Monto total de comisiones ganadas por ALLEN
Nombre del jefe de SCOTT
Nombre y precio del producto más caro
Nombre y sueldo del empleado de NEW YORK que tiene el peor sueldo
Nombre del vendedor que ha vendido el producto más caro
Rut de los clientes y monto total comprado por cada uno de ellos
Nombre de los clientes y monto total comprado por cada uno de ellos
Nombre de los vendedores y monto total vendido por cada uno de ellos
Nombre del producto más vendido
Nombre del cliente que ha comprado más veces en la tienda
Nombre del producto que nunca se ha vendido
Comuna en la que vive el cliente que ha comprado más televisores
Nombre del vendedor que ha vendido más dvd's
Nombre, sueldo y grado de los gerentes (MANAGER)
Cantidad de productos cuyos precios son inferiores al promedio
Monto total de las ventas hechas al cliente que más veces ha comprado
Total, de sueldos pagados en cada uno de los departamentos
Número de empleados que están en grado 2
Monto total vendido en cada comuna
Cantidad total vendida de cada producto
Número de clientes que han comprado mesas
Nombre del departamento que tiene más empleados
Número de empleados que tiene cada gerente (MANAGER)
Nombre del vendedor que ha hecho el mayor número de ventas
Monto del mayor sueldo que paga la tienda y quien lo recibe
Nombre y precio del producto que ha sido vendido menos veces
Nombre del mejor vendedor (quien tiene el mayor monto de ventas)
Precio promedio de los productos vendidos a clientes de Providencia
Rut, nombre y comuna de los clientes atendidos por el mejor vendedor
EJERCICIO 02:
TABLA HOSPITAL
COLUMNA
--------- ------ -----------
HOSPITAL_COD NOT NULL NUMBER(2)
NOMBRE VARCHAR2(10)
DIRECCION VARCHAR2(20)
TELEFONO VARCHAR2(8)
NUM_CAMA NUMBER(3)
TABLA SALA
COLUMNA
-------- ------- ----
HOSPITAL_COD NOT NULL NUMBER(2)
SALA_COD NOT NULL NUMBER(2)
NOMBRE VARCHAR2(20)
NUM_CAMA NUMBER(3)
TABLA PLANTILLA
COLUMNA
------------ ------ ------
HOSPITAL_COD NOT NULL NUMBER(2)
SALA_COD NOT NULL NUMBER(2)
EMPLEADO_NO NOT NULL NUMBER(4)
APELLIDO VARCHAR2(15)
FUNCION VARCHAR2(10)
TURNO VARCHAR2(1)
SALARIO NUMBER(10)
TABLA OCUPACION
COLUMNA
---------- ------ -----
INSCRIPCION NOT NULL NUMBER(5)
HOSPITAL_CO D NOT NULL NUMBER(2)
SALA_COD NOT NULL NUMBER(2)
CAMA NUMBER(4)
TABLA DOCTOR
COLUMNA
---------- -------- ---------
HOSPITAL_COD NOT NULL NUMBER(2)
DOCTOR_NO NOT NULL NUMBER(3)
APELLIDO VARCHAR2(13)
ESPECIALIDAD VARCHAR2(16)
TABLA ENFERMO
COLUMNA
--------- ------- -------
INSCRIPCION NOT NULL NUMBER(5)
APELLIDO VARCHAR2(15)
DIRECCION VARCHAR2(20)
FECHA-NAC DATE
S VARCHAR2(1)
NSS NUMBER(9)
TABLA EMP
COLUMNA
--------- ------- -------
EMP_N0 NOT NULL NUMBER(4)
APELLIDO VARCHAR2(10)
OFICIO VARCHAR2(10)
DIR NUMBER(4)
FECHA_ALTA DATE
SALARIO NUMBER(10)
COMISIÓN NUMBER(10)
DEPT_NO NOT NULL NUMBER(2)
TABLA DEPT2
COLUMNA
--------- ------- -------
DEPT_NO NOT NULL NUMBER(2)
DNOMBRE VARCHAR2(14)
LOC VARCHAR2(14)
Encuentre a todos los miembros del personal cuyo nombre empiece por 'C'.
¿Quiénes son las enfermeras y enfermeros que trabajan en turnos de Tarde o
Mañana?
Haga un listado de las enfermeras que ganan entre $2.000.000 y $2.500.000.
Mostrar, para todos los hospitales, el código de hospital, el nombre completo del
hospital y su nombre abreviado de tres letras (a esto podemos llamarlo ABR)
Ordenar la recuperación por esta abreviatura.
Hacer un listado de los nombres de los pacientes y la posición de la primera letra
'A' que aparezca en su apellido, tomando como referencia la primera letra del
mismo.
Para cada empleado se pide que salga su salario total (salario mas comisión) y
luego su salario fragmentado, es decir, en centenas de mil, decenas de mil...
decenas y unidades. La salida debe estar ordenada por el salario y el apellido
descendentemente. Ejemplo:
APELLIDO SAL TOTAL C D M C D U
--------------- ---------------- -- -- -- -- -- --
REY 650000 6 5 0 0 0 0
FERNANDEZ 390000 3 9 0 0 0 0
GIL 390000 3 9 0 0 0 0
JIMENEZ 386750 3 8 6 7 5 0
NEGRO 370500 3 7 0 5 0 0
MARTIN 344500 3 4 4 5 0 0
Para cada empleado que no tenga comisión o cuya comisión sea mayor que el 15%
de su
salario, se pide el salario total que tiene. Este será: si tiene comisión su salario más
su comisión, y si no tiene, su salario más su nueva comisión (15% del salario). La
salida deberá estar ordenada por el oficio y por el salario que le queda
descendentemente.
Encuentre a todas las enfermeras y enfermeros con indicación del salario mensual
de cada uno.
Se pide el nombre, oficio y el día de la semana en que han sido dados de alta los
empleados de la empresa, pero solo de aquellos cuyo día de alta haya sido entre
martes y jueves. Ordenado por oficio.
Encontrar el salario medio de los Analistas.
Encontrar el salario más alto y el salario más bajo de la tabla de empleados, así
como la diferencia entre ambos.
Calcular el número de personas que realizan cada oficio en cada departamento.
EJERCICIO 03:
Listar los nombres y ciudades donde viven los proveedores que han enviado piezas
color azul.
Cuanto es el peso promedio de las piezas.
Listar los nombres de proveedores, nombres y cantidades de piezas enviadas de
proveedores que viven en Londres.
Listar los promedios de piezas enviadas por proveedor, mostrando nombre de
proveedor y la ciudad donde vive.
Obtener los valores de PNUM para los proveedores que suministren las piezas de
P4 y P5.
Obtener información de SNUM de los proveedores que han enviado todas las
piezas.
EJERCICIO 04:
Obtener, en el departamento 5, los empleados con salarios mayores a $30000.
Obtener los nombres de los departamentos que no tienen empleados.
Obtener el nombre y apellido de cada empleado y el nombre de su jefe.
Obtener el nombre de los empleados que ganen más que su jefe.
Obtener el nombre de los departamentos que tienen exactamente 2 mujeres en su
personal.
Obtener para cada empleado su nombre y apellido, el nombre del departamento
donde trabaja y el nombre de su jefe.
Nota: Esta actividad se de entregar en carpeta comprimida con extensión .ZIP (debe
contener 4, cada una corresponde a los 4 ejercicios que deben estar resueltos), es decir,
una carpeta titulada con el nombre del ejercicio resuelto, por ejemplo: Ejercicio 01,
Ejercicio 02, …, Ejercicio 04. Dentro de cada carpeta deberán estar 3 (tres) archivos: un
documento en Word con el algebra relacional de la consulta que corresponda al enciso y
su respectiva representación en SQL y sus pantallazos (para cada tabla deberá crear 5
tuplas con datos que simulen una práctica del mundo real), un Script SQL que contenga:
Creación de BD, Tablas con sus registros y un Script SQL con la consulta generada para el
algebra relacional de la misma.