10/12/21 16:38 Campus | iFP Innovación en Formación Profesional
Alberto García Poncet 31
Inicio Mi Ciclo Calendario Equipo académico - Contactos Información FCT Centros IFP Agenda de Actividades
210975206_MP02_2A_A 2109_DAW_MP02_Bases de datos II_A
Unidad Formativa 4
Actividades UF4 ˃
Revisar entrega de examen: Actividad BDOR
Revisar entrega de examen: Actividad BDOR
Usuario Alberto García Poncet
Curso 2109_DAW_MP02_Bases de datos II_A
Examen Actividad BDOR
Iniciado 30/11/21 19:25
Enviado 10/12/21 16:31
Estado Necesita calificación
Puntuación del La calificación no está disponible.
intento
Tiempo transcurrido 237 horas, 5 minutos
Instrucciones Sea concreto en las respuestas y escriba exclusivamente el código de la solución.
No pulse el botón “Guardar y enviar” hasta que haya terminado completamente. Una vez enviado no se puede
modificar.
Resultados mostrados Todas las respuestas, Respuestas enviadas, Respuestas correctas, Comentarios, Preguntas respondidas incorrectamente
Pregunta 1 Necesita calificación
En una Universidad se desea almacenar la información del personal docente y el personal auxiliar. Para ello se desea utilizar un
modelo “objeto-relacional” con el siguiente esquema:
Cree un objeto padre “Persona” con atributos DNI y Nombre.
Respuesta seleccionada: CREATE OR REPLACE TYPE persona AS OBJECT(
dni VARCHAR2(9),
nombre VARCHAR2(20)
)
NOT FINAL;
Respuesta correcta: CREATE OR REPLACE TYPE persona AS OBJECT (
dni VARCHAR2(9),
nombre VARCHAR2(20)
) NOT FINAL ;
Comentarios para respuesta: [No se ha dado ninguna]
Pregunta 2 Necesita calificación
En la misma bbdd de la Universidad (vea pregunta 1), cree un objeto hijo “Auxiliar” con atributos: Teléfono, Sección, Turno y
Sueldo.
Respuesta seleccionada: CREATE OR REPLACE TYPE auxiliar UNDER persona(
Teléfono VARCHAR2(10),
Seccion VARCHAR2(20),
Turno VARCHAR2(10),
Sueldo NUMBER(10)
);
Respuesta correcta:
[Link] 1/5
10/12/21 16:38 Campus | iFP Innovación en Formación Profesional
CREATE OR REPLACE TYPE auxiliar UNDER persona (
telefono NUMBER(10),
seccion VARCHAR2(20),
turno VARCHAR2(10),
sueldo NUMBER(4)
);
Comentarios para respuesta: [No se ha dado ninguna]
Pregunta 3 Necesita calificación
En la misma bbdd de la Universidad (vea pregunta 1), cree 2 instancias de “Auxiliar” y asignele valores.
Respuesta seleccionada: CREATE TABLE tablaAuxiliar OF auxiliar;
INSERT INTO tablaAuxiliar VALUES (
auxiliar('667865262', '4planta', 'Mañana', '500' )
);
INSERT INTO tablaAuxiliar VALUES (
auxiliar('667895203', '1planta', 'Mediodia', '800' )
);
Respuesta correcta: /* Activar salida de mensajes */
SET SERVEROUTPUT ON;
/* Instancias y consultas */
declare
aux1 auxiliar;
aux2 auxiliar;
begin
aux1 := auxiliar('15802589T', 'Jorge Ariza', '666777888', 'presencial', 'mañana', '1800');
aux2 := new auxiliar('25800465N', 'Alma Asensio', '999888777', 'online', 'tarde', '1700');
dbms_output.put_line('Creado auxiliar1: ' || [Link] );
dbms_output.put_line('Creado auxiliar2: ' || [Link] );
end;
Comentarios para respuesta: [No se ha dado ninguna]
Pregunta 4 Necesita calificación
Siguiendo con la bbdd de Universidad, cree un objeto hijo “Docente” con los siguientes atributos:
“Titulación”, que puede ser “Licenciado” o “Doctor”
“Antigüedad”, expresada en años
“Categoría”, que puede ser A, B o C
Respuesta seleccionada: CREATE OR REPLACE TYPE docente UNDER persona(
Titulacion VARCHAR2(20),
Antiguedad NUMBER(10),
Categoria CHAR(1)
);
Respuesta correcta: CREATE OR REPLACE TYPE docente UNDER persona (
titulacion VARCHAR2(11),
antiguedad NUMBER(2),
categoria VARCHAR2(1)
);
Comentarios para respuesta: [No se ha dado ninguna]
Pregunta 5 Necesita calificación
Siguiendo con la bbdd de Universidad, en el objeto “Docente” cree un método constructor que asigne la categoria A a las
instancias que tienen titulación “Doctor” y la categoria B al resto.
Respuesta seleccionada:
[Link] 2/5
10/12/21 16:38 Campus | iFP Innovación en Formación Profesional
CREATE OR REPLACE TYPE docente UNDER persona(
Titulacion VARCHAR2(20),
Antiguedad NUMBER(10),
Categoria CHAR(1),
CONSTRUCTOR FUNCTION docente (
Dni VARCHAR2,
Nombre VARCHAR2,
Titulacion VARCHAR2,
Antiguedad VARCHAR2
) RETURN SELF AS RESULT
);
CREATE OR REPLACE TYPE BODY docente AS
CONSTRUCTOR FUNCTION docente (
Dni VARCHAR2,
Nombre VARCHAR2,
Titulacion VARCHAR2,
Antiguedad VARCHAR2)
RETURN SELF AS RESULT
IS
BEGIN
[Link] := Dni ;
[Link] := Nombre ;
[Link] := Titulacion ;
[Link] := Antiguedad ;
IF (Titulacion = 'Doctor') THEN
[Link] := 'A';
ELSE
[Link] := 'B';
END IF;
RETURN;
END;
END;
Respuesta correcta: CREATE OR REPLACE TYPE docente UNDER persona(
titulacion VARCHAR2(11),
antiguedad NUMBER(2),
categoria VARCHAR2(1),
CONSTRUCTOR FUNCTION docente(
dni VARCHAR2,
nombre VARCHAR2,
titulacion VARCHAR2,
antiguedad NUMBER
) RETURN SELF AS RESULT
);
CREATE OR REPLACE TYPE BODY docente AS
CONSTRUCTOR FUNCTION docente(
dni VARCHAR2,
nombre VARCHAR2,
titulacion VARCHAR2,
antiguedad NUMBER
) RETURN SELF AS RESULT
IS
BEGIN
[Link] := dni;
[Link] := nombre;
[Link] := titulacion;
[Link] := antiguedad;
IF (titulacion = 'doctor') THEN
[Link] := 'A';
ELSE
[Link] := 'B';
END IF;
RETURN;
end;
end;
Comentarios para respuesta: [No se ha dado ninguna]
Pregunta 6 Necesita calificación
Siguiendo con la bbdd de Universidad, en el objeto “Docente” cree un método que calcule una bonificación de 20€ por año
para los docentes de categoria A y de 15€ por año para los de otras categorias
Respuesta seleccionada:
[Link] 3/5
10/12/21 16:38 Campus | iFP Innovación en Formación Profesional
CREATE OR REPLACE TYPE docente UNDER persona(
Titulacion VARCHAR2(20),
Antiguedad NUMBER(10),
Categoria CHAR(1),
CONSTRUCTOR FUNCTION docente (
Dni VARCHAR2,
Nombre VARCHAR2,
Titulacion VARCHAR2,
Antiguedad VARCHAR2
) RETURN SELF AS RESULT ,
MEMBER FUNCTION calcularBonificacion RETURN NUMBER
);
CREATE OR REPLACE TYPE BODY docente AS
CONSTRUCTOR FUNCTION docente (
Dni VARCHAR2,
Nombre VARCHAR2,
Titulacion VARCHAR2,
Antiguedad VARCHAR2)
RETURN SELF AS RESULT
IS
bonificacion NUMBER(10);
BEGIN
[Link] := Dni ;
[Link] := Nombre ;
[Link] := Titulacion ;
[Link] := Antiguedad ;
IF (Titulacion = 'Doctor') THEN
[Link] := 'A';
ELSE
[Link] := 'B';
END IF;
RETURN;
END;
MEMBER FUNCTION calcularBonificacion RETURN NUMBER
IS
bonificacion NUMBER(10);
BEGIN
IF (Categoria = 'A') THEN
bonificacion := ([Link]) * '20';
ELSE
bonificacion := ([Link]) * '15';
END IF;
RETURN bonificacion;
END calcularBonificacion;
END;
Respuesta correcta: CREATE OR REPLACE TYPE docente UNDER persona(
titulacion VARCHAR2(11),
antiguedad NUMBER(2),
categoria VARCHAR2(1),
CONSTRUCTOR FUNCTION docente(
dni VARCHAR2,
nombre VARCHAR2,
titulacion VARCHAR2,
antiguedad NUMBER
) RETURN SELF AS RESULT,
MEMBER FUNCTION bonificacion RETURN NUMBER
);
CREATE OR REPLACE TYPE BODY docente AS
CONSTRUCTOR FUNCTION docente(
dni VARCHAR2,
nombre VARCHAR2,
titulacion VARCHAR2,
antiguedad NUMBER
) RETURN SELF AS RESULT
IS
BEGIN
[Link] := dni;
[Link] := nombre;
[Link] := titulacion;
[Link] := antiguedad;
IF (titulacion = 'doctor') THEN
[Link] := 'A';
ELSE
[Link] := 'B';
END IF;
RETURN;
END;
MEMBER FUNCTION bonificacion RETURN NUMBER
IS
cantidad NUMBER(4);
BEGIN
IF (categoria = 'A') THEN
cantidad := ([Link])*20 ;
ELSE
cantidad := (([Link])*15);
END IF;
RETURN cantidad;
END bonificacion;
END;
Comentarios para respuesta: [No se ha dado ninguna]
[Link] 4/5
10/12/21 16:38 Campus | iFP Innovación en Formación Profesional
Pregunta 7 Necesita calificación
Siguiendo con la bbdd de Universidad, cree una tabla “profesores” para almacenar instancias de “Docente”.
Respuesta seleccionada: CREATE TABLE profesores OF docente;
Respuesta correcta:
CREATE TABLE profesores of docente;
Comentarios para respuesta: [No se ha dado ninguna]
Pregunta 8 Necesita calificación
Siguiendo con la bbdd de Universidad, en la tabla "profesores":
- Inserte 2 profesores utilizando el constructor por defecto.
- Inserte 2 profesores utilizando el 2º constructor.
Respuesta seleccionada: INSERT INTO profesores VALUES (
docente('47887310E','Betto','Doctor', '1994','B')
);
INSERT INTO profesores VALUES (
docente('47887310E','Betto','Doctor', '1994')
);
Respuesta correcta:
/* Inserte 2 profesores utilizando el constructor por defecto.*/
INSERT INTO profesores VALUES (docente('9564789y', 'Safri Duo', 'doctor', '8', 'A'));
INSERT INTO profesores VALUES (docente('81256ygrk', 'Maria De Molina', 'licenciada', '15', 'C'));
/* Inserte otros 2 profesores utilizando el 2º constructor (el que asigna la categoria
automaticamente).*/
INSERT INTO profesores VALUES (docente('12345678x', 'Jon Mircha', 'doctor', '12'));
INSERT INTO profesores VALUES (docente('8125688lm', 'Juana la Loca', 'licenciada', '15'));
Comentarios para [No se ha dado ninguna]
respuesta:
Pregunta 9 Necesita calificación
Siguiendo con la bbdd de Universidad, haga una consulta que muestre los profesores ordenados por categorias.
Respuesta seleccionada: SELECT [Link],[Link] FROM profesores t ORDER BY Categoria
Respuesta correcta: SELECT *
FROM profesores
ORDER BY categoria;
Comentarios para respuesta: [No se ha dado ninguna]
Pregunta 10 Necesita calificación
Siguiendo con la bbdd de Universidad, haga una consulta que muestre los profesores con sus bonificaciones
Respuesta seleccionada: SELECT [Link],[Link]() AS Bonificacion FROM profesores t;
Respuesta correcta:
SELECT nombre, titulacion, categoria, antiguedad, [Link]() AS Bono FROM profesores p;
Comentarios para [No se ha dado ninguna]
respuesta:
viernes 10 de diciembre de 2021 16H32' CET
←
Aceptar
[Link] 5/5