Consulta de cursos por profesor y otras instrucciones SQL

Enviado por Chuletator online y clasificado en Magisterio

Escrito el en español con un tamaño de 5,52 KB

Construya una consulta que resuelva el número de cursos que imparte cada profesor usando la cláusula INNER JOIN.

SELECT P.NOMBRE, P.APELLIDOS, COUNT(1) AS CURSOS
FROM PROFESORES P INNER JOIN CURSOS C
ON P.ID_PROFE = C.ID_PROFE
GROUP BY P.NOMBRE, P.APELLIDOS

Realice una consulta entre las tablas CURSOS, ALUMNOS y ALUMNOS_CURSOS de modo que aparezcan los alumnos matriculados en cada curso pero mostrando todos los cursos aunque no tengan alumnos matriculados.

SELECT C.TITULO AS CURSO, A.NOMBRE, A.APELLIDOS
FROM (ALUMNOS_CURSOS AC INNER JOIN ALUMNOS A
ON AC.ID_ALUMNO = A.ID_ALUMNO) RIGHT JOIN CURSOS C
ON AC.ID_CURSO = C.ID_CURSO

En el capítulo anterior se le pidió que modificase el modelo entidad-relación de la academia para que considerase la siguiente premisa: todo alumno tendrá un profesor que lo tutele. En esta ocasión se le pide que construya las instrucciones DDL que permitan incorporar al modelo definido en la BD ACADEMIA dicha premisa. Recuerde que el nuevo campo es una referencia a la tabla PROFESORES.

ALTER TABLE ALUMNOS ADD (ID_TUTOR INT);
ALTER TABLE ALUMNOS ADD CONSTRAINT ALUMNOS_ID_TUTOR_FK
FOREIGN KEY (ID_TUTOR) REFERENCES PROFESORES (ID_PROFE);

Suponiendo que las restricciones de la BD academia se guardan en la tabla de metadatos TABLE_CONSTRAINTS_ACADEMIA, construya una consulta que devuelva las claves foráneas que presenta la tabla ALUMNOS_CURSOS.

SELECT *
FROM TABLE_CONSTRAINTS_ACADEMIA
WHERE TABLE_NAME = 'ALUMNOS_CURSOS'
AND CONSTRAINT_TYPE = 'FOREIGN KEY'

Construya una instrucción de inserción en la tabla CURSOS para guardar un nuevo curso de pintura y asígnele una clave que no entre en conflicto con las existentes. Posteriormente, construya la instrucción para eliminar de la tabla el registro que acaba de crear.

INSERT INTO CURSOS (ID_CURSO, TITULO)
VALUES (6, 'Pintura');
DELETE FROM CURSOS
WHERE ID_CURSO = 6;

En este capítulo se puso como ejemplo la actualización del salario de la tabla EMPLEA2 donde este se incrementaba un 2% para empleados con un sueldo inferior a 3000 euros. Sin embargo, no parece muy justo que un empleado con un sueldo de 3000 euros no reciba incremento alguno, y otros que rozan los 3000 euros pero no llegan reciban el incremento superando el importe de corte una vez aplicado dicho incremento. Construya una instrucción de actualización, que se debería ejecutar previamente a la actualización de sueldos, de modo que evite que para estos empleados el sueldo tras el incremento sea superior a 3000 euros. Para ello, la instrucción que se le pide debe actualizar el salario de los empleados afectados a 3000 euros, para que cuando se realice el incremento no se les aplique la subida puesto que su sueldo será entonces de 3000 euros justos.

UPDATE EMPLEADOS
SET SALARIO = 3000
WHERE SALARIO < 3000
AND SALARIO * 1.02 > 3000;

Supongamos que tenemos las siguientes entidades en un modelo relacional que gestiona la liga profesional de fútbol: EQUIPOS y JUGADORES. La cardinalidad de esta relación es 1 a N, puesto que un equipo tiene una plantilla de N jugadores mientras que un jugador milita en un solo equipo. ¿Es JUGADORES una entidad débil?

No. JUGADORES es una entidad fuerte porque un jugador no está siempre en el mismo equipo.

Supongamos que tenemos las siguientes entidades en un modelo relacional que gestiona las reparaciones del alumbrado público de una urbanización: FAROLAS y REPARACIONES. Las cardinalidades de esta relación es 1 a N, puesto que a una farola se le realizan N reparaciones mientras que una reparación se practica a una farola. ¿Es REPARACIONES una entidad débil?

REPARACIONES es una entidad débil.

Supongamos que tenemos las siguientes entidades en un modelo relacional que gestiona la actividad de un almacén de distribución de género: ARTICULOS y FAMILIAS. La cardinalidad de esta relación es 1 a N, puesto que una familia agrupa N artículos mientras que un artículo pertenece a una sola familia. ¿Es ARTICULOS una entidad débil?

ARTICULOS es una entidad fuerte.

Entradas relacionadas: