0% encontró este documento útil (0 votos)
413 vistas5 páginas

Evaluación de Bases de Datos II

El documento describe un examen sobre bases de datos relacionales y objetos-relacionales. Contiene 5 preguntas sobre la creación de objetos, atributos e instancias para modelar la información de personal docente y auxiliar de una universidad. El estudiante respondió a las preguntas y el examen necesita ser calificado.

Cargado por

Betto Garcia
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
413 vistas5 páginas

Evaluación de Bases de Datos II

El documento describe un examen sobre bases de datos relacionales y objetos-relacionales. Contiene 5 preguntas sobre la creación de objetos, atributos e instancias para modelar la información de personal docente y auxiliar de una universidad. El estudiante respondió a las preguntas y el examen necesita ser calificado.

Cargado por

Betto Garcia
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

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

También podría gustarte