MP2. Bases de datos A - Curso completo 2023
![]() |
![]() |
![]() |
Título del Test:![]() MP2. Bases de datos A - Curso completo 2023 Descripción: Todas las PAC y Examen final de curso 1 año de DAM/DAW MP2 ILERNA |




Comentarios |
---|
NO HAY REGISTROS |
CONTENIDO. --------------------------IMPORTANTE--------------------------- UTILIZAR ESTAS RESPUESTAS PARA COPIAR QUEDA PROHIBIDO Y DEBERÍA DARTE VERGÜENZA, ESTE TEST ES SOLO PARA PREPARAR EL EXAMEN FINAL DE FORMA MÁS ÁGIL QUE EN EL CAMPUS. ------------------------------------------------------------------------ • Las preguntas están divididas en PACs, sólo se puede pasar de PAC una vez contestadas todas las preguntas. • Para consultar las respuestas se debe utilizar el botón NO CONTESTAR. • Para repetir las respuestas de una PAC se debe utilizar el botón CONTESTAR. TOTAL DE PREGUNTAS 146 ------------------------------------------------------------------------ UF1: • PAC1 Introducción a las bases de datos • PAC2 Bases de Datos centralizadas y Distribuidas • PAC3 Modelo Entidad-Relación • PAC4 Realización de un modelo entidad-relación • PAC5 Modelo Relacional. Normalización UF2: • PAC1 Lenguaje SQL: Primeras Consultas • PAC2 Consultas con funciones. Consultas Multitabla • PAC3 Subconsultas • PAC4 Inserción, Modificación y Eliminación de Datos • PAC5 Transacciones • PAC6 Lenguaje DDL • PAC7 Índices y Vistas • PAC8 Restricciones • PAC9 EXAMEN FINAL • MODELO EXAMEN FINAL DE CURSO 2023 • PONTE A PRUEBA - LIBRO MP2. Bases de datos A. PAC1(UF1): Introducción a las bases de datos. OBJETIVOS DE LA EVALUACIÓN: • Identificar los diferentes elementos, objetos y estructuras de almacenamiento físico. • Identificar los diferentes sistemas lógicos de almacenamiento y sus características. • Identificar los diferentes tipos de bases de datos en función de la ubicación de la información. • Identificar las características de un sistema gestor de bases de datos. • Identificar la estructura de un diccionario de datos. • Diferenciar entre los diferentes niveles de una base de datos. • Diferenciar entre los diferentes modelos de las bases de datos. Una base de datos es una colección de datos relacionales que son relevantes para una determinada entidad. Señala cual es una ventaja de las bases de datos: Aseguran la integridad de los datos. Mantenimiento fácil para el administrador. Rentabilidad a corto plazo. Un sistema gestor de base de datos es un software que facilita el tratamiento de la información que contiene. Puede realizar operaciones como el diseño, la consulta y la modificación de dichos datos. Define las funciones de los sistemas gestores de datos (SGBD): Especifican los tipos de datos, las estructuras y las restricciones que se van a almacenar asegurando la cohesión e integridad de los mismos. Proceso de almacenamiento de datos en algún medio controlado por el SGBD. Incluye tareas como la manipulación y consulta de los datos almacenados para obtener una información. El desarrollo de una base de datos pasa por diferentes modelos hasta tener la base de datos creada. El primer paso consiste en crear el modelo entidad-relación con los requisitos del usuario. El segundo paso es transformar este modelo entidad-relación en relacional. El último paso es tener la base de datos física. Ordena los tipos de modelado según su realización: Modelo físico. Modelo lógico. Modelo conceptual. Según el modelo de datos podemos tener diferentes tipos de BBDD. ¿En cual de ellos la dependencia entre las tablas es fundamental para mantener la concurrencia de datos?. En red. Racionales. Relacionales. Jerárquicas. El nivel externo de la arquitectura de 3 niveles, corresponde al usuario final que usa la base de datos sin que pueda ver detalles técnicos de la misma ni otra información pertinente según su rol de usuario. Verdadero. Falso. PAC2(UF1): Bases de Datos centralizadas y Distribuidas. OBJETIVOS DE LA EVALUACIÓN: • Identificar las bases de datos distribuidas y conocer sus características. • Identificar el diseño de una base de datos distribuida. • Identificar las bases de datos centralizadas y las bases de datos distribuidas. • Identificar las técnicas de distribución de datos. Las bases de datos se clasifican en bases de datos centralizadas o distribuidas según su localización. ¿Cuáles de las siguientes opciones forman parte de la definición de las bases de datos distribuidas?. Pueden trabajar de forma local. Se encuentran en una única computadora. Se encuentran en diferentes espacios lógicos y geográficos. Identifica las características de las bases de datos distribuidas: No tiene demasiados elementos de procesamiento. Almacena todos los componentes en una única máquina. Se pueden leer y escribir datos ubicados en lugares diferentes de la red. Los componentes, el sistema operativo y la red son independientes. Identifica las ventajas de las bases de datos distribuidas: No hay una estructura organizativa donde las bases de datos se almacenan en los departamentos donde tienen relación. Acceso rápido. Se implementa de forma modular. Alto coste a la hora de crear una red de pequeñas computadoras. Mejora la comunicación entre distintos nodos. Procesamiento más rápido. Identifica los inconvenientes de las bases de datos distribuidas: Presenta una estructura de diseño más compleja. No existe la posibilidad de repartir las tareas al intervenir solamente una máquina. Aumenta el riesgo de violaciones de seguridad. Si un sistema falla perdemos la disponibilidad de la información. Una base de datos centralizada está almacenada en varios máquinas que tiene un servidor central que distribuye los datos de forma equitativa según la capacidad de almacenamiento de cada una. Verdadero. Falso. PAC3(UF1): Modelo Entidad-Relación. OBJETIVOS DE LA EVALUACIÓN: • Identificar, seleccionar y ordenar la información que debe tener una base de datos. • Analizar la información a representar y decidir el diseño para la base de datos. • Definir las entidades y las relaciones. El modelo entidad-relación es un arquetipo conceptual que representa un problema planteado a través de entidades y relaciones. Diferencia los elementos de un diagrama entidad-relación: A. B. C. D. E. Cuando hablamos de participación nos referimos al número máximo de veces que una entidad puede participar en una relación. Indicar las participaciones y cardinalidad del siguiente enunciado En un centro, un profesor imparte siempre una sola asignatura y las asignaturas sólo son impartidas por un único profesor. A. B. C. En un centro, Una asignatura tiene entre 1 y 30 alumnos. Cada alumno, tiene entre 1 y 6 asignaturas: A. B. La cardinalidad es el resultado de sus participaciones. Para calcularla, se toma el máximo de cada una de sus participaciones. Indica las cardinalidades de las siguientes relaciones: N:1. (1,n). (n,1). N:M. Indica las cardinalidades de las siguientes relaciones: 1:1. N:N. N:1. (n,n). N:M. Indica las cardinalidades de las siguientes relaciones: (1,1). 1:1. 1:N. 0:N. 1:0. La generalización es un caso especial de relación entre diferentes tipos de entidad que denominaremos subtipos, y otros de carácter más general que vamos a definir como supertipos. Identifica los tipos de especialización: A. B. C. D. El tipo de relación en la que solo participa una entidad, asumiendo diferentes roles se denomina: Reflexiva. Reiterativa. Iteración. Segundo grado. PAC4(UF1): Realización de un modelo entidad-relación. OBJETIVOS DE LA EVALUACIÓN: • Realizar el diseño lógico de una base de datos utilizando el modelo entidad-relación. • Utilizar herramientas gráficas para representar el diseño lógico. • Identificar los principales elementos del modelo relacional. • Identificar e interpretar las reglas de integridad asociadas a cada una de las claves primarias. ENUNCIADO 1. A partir del siguiente enunciado, contesta una serie de preguntas: Una clínica quiere llevar un control informatizado de la atención de pacientes y la gestión de cada médico. • La información que se desea almacenar de cada paciente es: dni, nombre, apellidos, dirección, población, provincia, código postal, teléfono, fecha de nacimiento y edad. • La información que se desea almacenar de cada médico es; dni, nombre, apellidos, teléfonos de contacto y especialidad. • Se desea llevar el control de cada uno de los ingresos que el paciente hace en el hospital. Cada ingreso que realiza el paciente queda registrado en la base de datos. De cada ingreso se guarda el código de ingreso, el número de habitación y cama en la que el paciente realiza el ingreso además de la fecha de ingreso y hora de ingreso. • Un médico puede atender varios ingresos, pero el ingreso de un paciente solo puede ser atendido por un único médico. • Un paciente puede realizar varios ingresos a la clínica. • Los médicos contratados sólo pueden ser autónomos o asalariados. • En caso asalariados, guardaremos su número de seguridad social y su sueldo bruto • En caso ser autónomos se guarda la tarifa del médico por jornada. Del ENUNCIADO 1 Identifica las entidades que podemos encontrar: Especialidades. Asalariados. Medicos. Habitaciones. Pacientes. Autonomos. Hospitales. Altas. Camas. Ingresos. Del ENUNCIADO 1 Sabes identidicar si hay alguno de estos tipos de relación en el enunciado. Relación jerárquica Tipo INCLUSIVA PARCIAL. Sólo hay relaciones binarias. Relación jerárquica Tipo EXCLUSIVA PARCIAL. Relación jerárquica Tipo EXCLUSIVA TOTAL. Relación jerárquica Tipo SOLAPADA TOTAL. Del ENUNCIADO 1 Marca las afirmaciones que sean verdaderas: La fecha de ingreso es un atributo derivado. El atributo "edad" del paciente es un multivaluado. Las entidades Ingresos y Pacientes están relacionadas. El campo clave de la entidad Médicos es el atributo DNI. La cardinalidad entre Ingresos y Pacientes es de N:1. La entidad Ingresos es una entidad derivada. Hay una relación llamada Atiende entre las entidades Ingresos y Médicos. La cardinalidad entre Ingresos y Pacientes es de 1:1. ENUNCIADO 2. Se desea diseñar la base de datos de un Instituto. • En la base de datos se desea guardar los datos de los profesores del Instituto (DNI, nombre, dirección y teléfono). • Los profesores imparten módulos, y cada módulo tiene un código y un nombre. • Cada alumno está matriculado en uno o varios módulos y en ellos podemos tener entre 1 y 30 alumnos. • De cada alumno se desea guardar el nº de expediente, nombre, apellidos y fecha de nacimiento. • Los profesores pueden impartir varios módulos, pero un módulo sólo puede ser impartido por un profesor. • Cada curso tiene un grupo de alumnos, uno de los cuales es el delegado del grupo. Del ENUNCIADO 2 Marca las afirmaciones que sean verdaderas: MODULO es una entidad fuerte. El atributo Nombre es campo clave de PROFESOR. MODULO es una entidad débil. La cardinalidad entre ALUMNO y MODULO es de N:M. Fecha de Nacimiento es un atributo derivado. ALUMNO y MODULO tienen una relación llamada MATRICULA. PROFESOR Y ALUMNO tienen una relación llamada IMPARTE. El atributo "Numero_Expediente" es el campo clave de ALUMNO. La cardinalidad entre PROFESOR y MODULO es de 1:N. El atributo Teléfono es multivaluado. Del ENUNCIADO 2 Elige la opción correcta en relación a la ultima frase del enunciado "Un curso tiene varios alumnos, uno de los cuales es el delegado de ellos". DELEGADO es un atributo de la entidad ALUMNO. DELEGADO es una entidad débil que se relaciona con ALUMNO con cardinalidad N:M. DELEGADO es el nombre de una relación unaria de ALUMNO. DELEGADO es una entidad fuerte que se relaciona con ALUMNO con cardinalidad 1:1. PAC5(UF1): Modelo Relacional. Normalización. OBJETIVOS DE LA EVALUACIÓN: • Identificar e interpretar las reglas de integridad de las claves foráneas. • Identificar los elementos del diseño lógico. • Traducir las tablas, campos y relaciones de un diseño lógico. • Aplicar las reglas de normalización en el modelo relacional. • Elaborar la guía de usuario y la documentación del diseño físico de la base de datos relacional. - Un ciclista siempre forma parte de un solo equipo y en un equipo forman parte siempre uno o varios ciclistas Dado el siguiente diagrama E-R. Realiza el modelo relacional: CICLISTA (dni_PK, Nombre, Apellido, Teléfono). EQUIPO (Cod_equipoPK, Nombre, Año, DNI_FK, Fecha). FORMA_PARTE (Cod_Equipo_FK, DNI_PK). EQUIPO (cod_equipo_PK, nombre, año). CICLISTA (dni_PK, Nombre, Apellido, Teléfono, Cod_equipo_FK, Fecha). - Un ciclista (capitán), es capitán de otros ciclistas y un ciclista (no capitán) siempre tendrá un único capitán Dado el siguiente diagrama E-R. Realiza el modelo relacional: CICLISTA (DNI_PK, nombre, apellido, telefono, DNI_capitan_FK). ES_CAPITAN (DNI_CapitanFK, DNI_FK). CICLISTA (DNI_PK, Nombre, Apellido, Telefono). - Un ciclista puede participar o no en las etapas, pero en las etapas siempre participan varios ciclistas Dado el siguiente diagrama E-R. Realiza el modelo relacional: a) CICLISTA (DNI_pk , NOMBRE, APELLIDO, TELÉFONO). b) ETAPA (NUMETAPA_pk, FECHA, KM, SALIDA, META). c) PARTICIPAN (DNI_pk_fk, NUMETAPA_pk_fk). d) CICLISTA (DNI_pk, NOMBRE, APELLIDO, TELEFONO, NUMETAPA_fk). e) ETAPA (NUMETAPA_pk, FECHA, KM, SALIDA, META, DNI_fk). El objetivo de la normalización es eliminar la redundancia y la inconsistencia de datos y garantizar la integridad referencial Identifica las siguientes formas normales: 1FN. 2FN. 3FN. - Una empresa tiene siempre varios trabajadores y un trabajador tiene solo en una empresa Dado el siguiente diagrama E-R. Realiza el modelo relacional a primera forma normal: EMPRESA (CIF_pk, nombre). TRABAJADOR ( DNI_pk, Nombre, Num_Seguridad, Telefono). TELEFONO (DNI_pk_fk, num_telefono_pk). TRABAJADOR ( DNI_pk, Nombre, Num_Seguridad_social, CIF_fk). EMPRESA (CIF_pk, Nombre, DNI_fk). TELEFONO ( Num_telefono_pk). TRABAJADOR ( DNI_pk, Nombre, Num_seguridad_social, CIF_fk, Num_Telefono). TIENE ( CIF_fk, DNI_pk). PAC1(UF2): Lenguaje SQL: Primeras Consultas DML. OBJETIVOS DE LA EVALUACIÓN: • Identificar las funciones, sintaxis y las órdenes básicas del lenguaje SQL para consultar y modificar los datos de la base de datos. • Utilizar asistentes, herramientas gráficas para realizar manipulación de datos sobre un SGBD • Realizar consultas simples de selección sobre una tabla para consultar datos de una base de datos. • Identificar los tipos de lenguajes para definir y manipular datos sobre un SGBDR. El lenguaje de programación SQL es el lenguaje fundamental de los SGBD relacionales. Relaciona los siguientes sublenguajes de SQL con su descripción correspondiente: DML. DLL. DCL. TCL. Identifica si las siguientes consultas pertenecen al lenguaje DDL o DM: Añadir un registro en una tabla. Modificar una columna en una tabla. Eliminar un registro en una tabla. Añadir un nuevo atributo a una tabla. Crear una tabla en la base de datos. Identifica si las siguientes consultas en SQL pertenecen al lenguaje DDL o DML. UPDATE. ALTER TABLE. DROP. SELECT. CREATE TABLE. DELETE. TRUNCATE. Dada la siguiente tabla: CREATE TABLE USUARIOS ( DNI VARCHAR(9) PRIMARY KEY, Nombre VARCHAR(30) NOT NULL, Apellidos VARCHAR(60) NOT NULL ); Que comando permite mostrar toda la información de todos los registros de la tabla USUARIOS: FROM USUARIOS SELECT *;. SELECT * ;. SELECT FROM USUARIOS;. FROM USUARIOS SELECT ALL;. FROM USUARIOS SELECT DNI;. SELECT * FROM USUARIOS;. Dada la siguiente tabla: CREATE TABLE USUARIOS ( DNI VARCHAR(9) PRIMARY KEY, Nombre VARCHAR(30) NOT NULL, Apellidos VARCHAR(60) NOT NULL ); Como podemos mostrar toda la información de todos los usuarios de la tabla con DNI 12345566P SELECT [ Seleccionar 1] FROM [ Seleccionar 2] WHERE [ Seleccionar 3] = [ Seleccionar 4];. [ Seleccionar 1]. [ Seleccionar 2]. [ Seleccionar 3]. [ Seleccionar 4]. Dada la siguiente tabla: CREATE TABLE USUARIOS ( DNI VARCHAR(9) PRIMARY KEY, Nombre VARCHAR(30) NOT NULL, Apellidos VARCHAR(60) NOT NULL, Peso DECIMAL(4,2), Altura DECIMAL(4,2) ); Muestra toda la información de los usuarios de la tabla ordenados por altura de forma ascendente: SELECT * FROM USUARIOS ORDER BY ALTURA DESC;. SELECT * FROM USUARIOS GROUP BY ALTURA ASC;. SELECT * FROM USUARIOS ORDER BY ALTURA ASC;. Dada la siguiente tabla: CREATE TABLE USUARIOS ( DNI VARCHAR(9) PRIMARY KEY, Nombre VARCHAR(30) NOT NULL, Apellidos VARCHAR(60) NOT NULL, Peso DECIMAL(4,2), Altura DECIMAL(4,2) ); Muestra toda la información de los usuarios de la tabla ordenados por DNI de forma descendente: SELECT DNI FROM USUARIOS GROUP BY DNI:. SELECT * FROM USUARIOS ORDER BY DNI ASC;. SELECT * FROM USUARIOS ORDER BY DNI DESC;. SELECT DNI FROM USUARIOS ORDER BY DNI DESC;. Dada la siguiente tabla: CREATE TABLE USUARIOS ( DNI VARCHAR(9) PRIMARY KEY, Nombre VARCHAR(30) NOT NULL, Apellidos VARCHAR(60) NOT NULL, Peso DECIMAL(4,2), Altura DECIMAL(4,2) ); Muestra los nombres que hay en la tabla sin repetir ninguno: SELECT NOMBRE FROM DISTINCT USUARIOS:. SELECT DISTINCT NOMBRE FROM USUARIOS;. Dada la siguiente tabla: CREATE TABLE USUARIOS ( DNI VARCHAR(9) PRIMARY KEY, Nombre VARCHAR(30) NOT NULL, Apellidos VARCHAR(60) NOT NULL, Peso DECIMAL(4,2), Altura DECIMAL(4,2), Genero VARCHAR(20) ); Realiza una consulta que muestre los distintos nombres de los usuarios cuyo género sea "FEMENINO": SELECT DISTINCT NOMBRE FROM USUARIOS WHERE GENERO = "FEMENINO";. SELECT DISTINCT NOMBRE WHERE GENERO = "FEMENINO" FROM USUARIOS ;. SELECT NOMBRE FROM USUARIOS WHERE GENERO = "FEMENINO";. Dada la siguiente tabla: CREATE TABLE vehiculo ( Marca VARCHAR(20) PRIMARY KEY, Modelo VARCHAR(20) NOT NULL, Motor VARCHAR(20) NOT NULL ); Realiza una consulta que muestre las distintas marcas de los vehículos del concesionario: SELECT DISTINCT MARCA FROM VEHICULO ;. SELECT DISTINCT VEHICULO FROM MARCA;. SELECT VEHICULO FROM MARCA;. SELECT MARCA FROM VEHICULO;. Dada la siguiente tabla: CREATE TABLE vehiculo ( Marca VARCHAR(20) PRIMARY KEY, Modelo VARCHAR(20) NOT NULL, Motor VARCHAR(20) NOT NULL ); Realiza una consulta que muestre toda la información de los vehículos con motor diésel: SELECT * WHERE MOTOR = 'DIÉSEL' FROM VEHÍCULO;. SELECT * FROM VEHÍCULO WHERE MOTOR = 'DIÉSEL';. SELECT * FROM VEHÍCULO ;. SELECT MATRÍCULA FROM VEHÍCULO WHERE MOTOR = 'DIÉSEL';. Dada la siguiente tabla: CREATE TABLE vehiculo ( Marca VARCHAR(20) PRIMARY KEY, Modelo VARCHAR(20) NOT NULL, Motor VARCHAR(20) NOT NULL ); Realiza una consulta que muestre toda la información de los vehículos cuya Marca sea "AUDI" y su modelo sea "A3": SELECT 'AUDI' AND MODELO = 'A3' FROM VEHICULO ;. SELECT * FROM VEHICULO WHERE MARCA = 'AUDI' AND MODELO = 'A3' ;. SELECT VEHICULO FROM MATRICULO WHERE MARCA = 'AUDI' AND MODELO = 'A3' ;. PAC2(UF2): Consultas con funciones. Consultas Multitabla. OBJETIVOS DE LA EVALUACIÓN: • Realizar consultas utilizando funciones y valores nulos. • Realizar consultas con diversas tablas mediante composiciones internas. • Realizar consultas con diversas tablas mediante composiciones externas. En SQL tenemos una serie de funciones predefinidas que permiten simplificar las consultas a la base de datos. Dada la siguiente tabla: CREATE TABLE producto ( codigo INT PRIMARY KEY, nombre VARCHAR(60) NOT NULL, precio DECIMAL(8,2) NOT NULL ); Escribe una consulta que nos devuelva la suma total del precio de todos los productos: SELECT SUM (PRECIO) FROM PRODUCTO ;. SELECT PRECIO FROM SUM(PRODUCTO);. SELECT PRODUCTO (PRECIO) FROM PRECIO;. Dada la siguiente tabla: CREATE TABLE producto ( codigo INT PRIMARY KEY, nombre VARCHAR(60) NOT NULL, precio DECIMAL(8,2) NOT NULL ); Realiza una consulta que nos devuelva la cantidad de productos existente en la tabla PRODUCTO. No queremos que devuelva el nombre ni código ni precio de los productos, sino la cantidad de los que hay. SELECT COUNT (*) FROM CODIGO;. SELECT * , COUNT (*) FROM PRODUCTO;. SELECT COUNT (*) FROM PRODUCTO ;. SELECT CODIGO, COUNT (*) FROM PRODUCTO;. Realiza una consulta que nos devuelva el precio más alto de todos los existentes en la tabla CREATE TABLE producto ( codigo INT PRIMARY KEY, nombre VARCHAR(60) NOT NULL, precio DECIMAL(8,2) NOT NULL );. SELECT FROM PRODUCTO MAX (Precio) ;. SELECT MAX (Codigo) FROM Precio;. SELECT MAX (Precio) FROM PRODUCTO;. SELECT COUNT (Precio) FROM PRODUCTO;. Dada la siguiente tabla: CREATE TABLE producto ( codigo INT PRIMARY KEY, nombre VARCHAR(60) NOT NULL, precio DECIMAL(8,2) NOT NULL ); Realiza una consulta que nos devuelva el precio más bajo de todos los existentes en la tabla. SELECT MIN(PRECIO) FROM PRODUCTO;. SELECT * FROM PRODUCTO MIN(PRECIO);. SELECT MAX(PRODUCTO) FROM PRECIO;. SELECT MINIMAL(PRECIO) FROM PRODUCTO;. Dada la siguiente tabla: CREATE TABLE producto ( codigo INT PRIMARY KEY, nombre VARCHAR(60) NOT NULL, precio DECIMAL(8,2) NOT NULL ); Realiza una consulta que nos devuelva el precio medio de los productos existentes en la tabla PRODUCTO: SELECT MIN(PRECIO) FROM PRODUCTO;. SELECT AVG(PRECIO) FROM PRODUCTO;. SELECT FROM PRODUCTO AVG(PRECIO) ;. SELECT AVG(PRODUCTO) FROM PRECIO;. Dadas las siguientes tablas: CREATE TABLE tienda ( id INT PRIMARY KEY, provincia VARCHAR(60) NOT NULL ); CREATE TABLE producto ( codigo INT PRIMARY KEY, nombre VARCHAR(60) NOT NULL, precio DECIMAL(8,2) NOT NULL, idtienda INT, CONSTRAINT idt_fk FOREIGN KEY (idtienda) REFERENCES tienda (id) ON DELETE CASCADE ON UPDATE CASCADE ); En la tabla tienda guardamos el código de cada Tienda (ID) junto a su provincia. En la tabla Producto guardamos el código de cada producto, así como su nombre, precio y el id de la tienda que posee dicho producto. Realiza la siguientes consulta: "mostrar la provincia en la que se encuentra y el nombre de cada uno de los productos existentes" SELECT [ Seleccionar 1] , [ Seleccionar 2] FROM [ Seleccionar 3] INNER JOIN PRODUCTO ON ID= [ Seleccionar 4] ;. [ Seleccionar 1]. [ Seleccionar 2]. [ Seleccionar 3]. [ Seleccionar 4]. PAC3(UF2): Subconsultas. OBJETIVOS DE LA EVALUACIÓN: • Realizar consultas con subconsultas. En muchas ocasiones, cuando realizamos consultas a una base de datos, necesitamos realizar una consulta con un dato previo que se ha obtenido en otra consulta. Para evitar esto, se utilizan las subconsultas. Es decir, podemos realizar nuevas consultas SELECT como filtros en otra consulta. Dadas las siguientes tablas: CREATE TABLE tienda ( id INT PRIMARY KEY, provincia VARCHAR(60) NOT NULL ); CREATE TABLE producto ( codigo INT PRIMARY KEY, nombre VARCHAR(60) NOT NULL, precio DECIMAL(8,2) NOT NULL, idtienda INT, CONSTRAINT idt_fk FOREIGN KEY (idtienda) REFERENCES tienda (id) ON DELETE CASCADE ON UPDATE CASCADE ); ¿Cuál es el producto de mayor precio? Debes mostrar todos los datos del producto. (Escribe toda la instrucción en mayúscula). SELECT MAX(PRECIO) FROM PRODUCTO WHERE PRECIO = (SELECT * FROM PRODUCTO );. SELECT PRECIO FROM PRODUCTO WHERE PRODUCTO = (SELECT MAX(PRECIO) FROM PRODUCTO);. SELECT * FROM PRODUCTO WHERE PRECIO = (SELECT MAX(PRECIO) FROM PRODUCTO);. Dadas las siguientes tablas: CREATE TABLE tienda ( id INT PRIMARY KEY, provincia VARCHAR(60) NOT NULL ); CREATE TABLE producto ( codigo INT PRIMARY KEY, nombre VARCHAR(60) NOT NULL, precio DECIMAL(8,2) NOT NULL, idtienda INT, CONSTRAINT idt_fk FOREIGN KEY (idtienda) REFERENCES tienda (id) ON DELETE CASCADE ON UPDATE CASCADE ); Muestra el nombre del producto con el menor precio de la tienda en la provincia ‘Guadalajara’. SELECT [ Seleccionar 1] FROM [ Seleccionar 2] INNER JOIN TIENDA ON [ Seleccionar 3] = IDTIENDA WHERE PRECIO = (SELECT [ Seleccionar 4] FROM [ Seleccionar 5] ) AND [ Seleccionar 6] = [ Seleccionar 7] ;. [ Seleccionar 1]. [ Seleccionar 2]. [ Seleccionar 3]. [ Seleccionar 4]. [ Seleccionar 5]. [ Seleccionar 6]. [ Seleccionar 7]. Dadas las siguientes tablas: CREATE TABLE vehiculo ( Matricula VARCHAR(10) PRIMARY KEY, Marca VARCHAR(20) NOT NULL, Modelo VARCHAR(20) NOT NULL, Motor VARCHAR(20) NOT NULL ); CREATE TABLE usuarios( DNI VARCHAR(9) PRIMARY KEY, Nombre VARCHAR(30) NOT NULL, Apellidos VARCHAR(60) NOT NULL, Matricula VARCHAR(10), CONSTRAINT matricula_fk FOREIGN KEY (matricula) REFERENCES vehiculo (matricula) ON DELETE CASCADE ON UPDATE CASCADE ); Muestra las distintas marcas de los vehículos que tiene el usuario “MARÍA LÓPEZ MARTÍN” (Escribe toda la instrucción en mayúscula). SELECT DISTINCT(MARCA) FROM VEHÍCULO WHERE DNI IN (SELECT MARCA FROM USUARIO WHERE NOMBRE = ‘MARÍA’ AND APELLIDO = ‘LÓPEZ MARTÍN’);. SELECT DISTINCT(MARCA) FROM VEHÍCULO WHERE IN (SELECT DNI FROM USUARIO WHERE NOMBRE = ‘MARÍA’ AND APELLIDO = ‘LÓPEZ MARTÍN’);. SELECT DISTINCT(MARCA) FROM VEHÍCULO WHERE DNI IN (SELECT DNI FROM USUARIO WHERE NOMBRE = ‘MARÍA’ AND APELLIDO = ‘LÓPEZ MARTÍN’);. PAC4(UF2): Inserción, Modificación y Eliminación de Datos. OBJETIVOS DE LA EVALUACIÓN: • Identificar herramientas y sentencias para modificar el contenido de la base de datos. • Formular consultas para insertar, modificar y eliminar datos de la base de datos. • Insertar en una tabla datos como resultado de la ejecución de una consulta. En SQL existe una sentencia que nos permite insertar un nuevo registro en una tabla, para ello, es necesario indicar que valores poseen cada uno de los campos. Deseamos insertar en la tabla Alumno el siguiente registro: ¿Que comando usaríamos?. INSERT INTO ALUMNO (DNI, nombre) = ('0000000E', 'Ana');. INSERT INTO ALUMNO (DNI, nombre) VALUES (00000000E, Ana);. INSERT INTO ALUMNO (nombre, DNI) VALUES (NULL);. INSERT INTO ALUMNO (nombre, DNI) VALUES ('00000000E', 'Ana');. INSERT INTO ALUMNO (DNI, nombre) VALUES ('00000000E', 'Ana');. Deseamos insertar en la tabla Asignatura el siguiente registro: INSERT VALUES ( 1, 'Programación' ) INTO ASIGNATURA ;. INSERT INTO ASIGNATURA VALUES ( 1, 'Programación' ) ;. INSERT INTO ASIGNATURA (nombre, codigo) VALUES ( 1, 'Programación' ) ;. INSERT INTO ASIGNATURA VALUES ( 'Programación', 1 ) ;. INSERT INTO ASIGNATURA ( 1, 'Programación' ) ;. Cuando el campo clave de una tabla es auto_increment implica que no es obligatorio asignar valor en la insercción, puesto que se dará uno automáticamente. A partir de la siguiente tabla: CREATE TABLE especialidad ( id INT(2) NOT NULL AUTO_INCREMENT, especialidad VARCHAR(20) NULL, PRIMARY KEY (id) ); ¿Qué número se asignará a la siguiente consulta? insert into especialidad (especialidad) values ('psicología');. 7. 0. 9. NULL. (dará error). 8. 5. 4. 6. Indica que inserciones podemos hacer en la tabla Mobiliario sin que salga un error: CREATE TABLE mobiliario ( codigo INT NOT NULL AUTO_INCREMENT, nombre VARCHAR(20) NULL DEFAULT NULL, tipo INT NULL DEFAULT NULL, precio FLOAT(3.2) NULL DEFAULT NULL, fecha DATE NOT NULL, proveedor INT NULL DEFAULT NULL, PRIMARY KEY (codigo), INDEX FK_mobiliario_tipos (tipo), CONSTRAINT FK_mobiliario_tipos FOREIGN KEY (tipo) REFERENCES tipos (codigo) ) ; ¿Cuál de las siguientes sentencias es válida? (es decir, cuáles no darán error): insert into mobiliario values (3, 'plegable', 2, 15.90, '2018-06-13', 2);. insert into mobiliario (codigo, nombre, tipo, precio, fecha, proveedor) values (4, 'magnifica', 4, 14.65, '2018-06-13', 5);. insert into mobiliario values ('esencial', 5, 61.90, '2018-06-13', 1);. insert into mobiliario values (7, 'trona', 8, 25.90, '2018-06-31',4);. insert into mobiliario values (1, 'magnifica', 3, 53.50, '2018-06-13', 4);. insert into mobiliario (id, nombre, tipo, precio, fecha, proveedor) values (4, 'reclinable', 2, 19.90, '2018-13-06',9);. insert into mobiliario values ('5', 'ejecutivo', 2, 39.90, '2018-06-13', 1);. insert into mobiliario (nombre, tipo, precio, fecha, proveedor) values ('básica', 2, 30.50, '2018-06-13', 6);. insert into mobiliario (nombre, tipo, precio, fecha) values (4, 'hinchable', 2, 14.90, 2, '2018-06-13');. insert into mobiliario (codigo, nombre) values (8, 'plegable');. Los datos insertados en una tabla pueden ser tanto modificados como eliminados. SQL posee sentencias para ambas acciones. Realiza una consulta que asigne a todos los médicos al responsable 2: UPDATE [ Seleccionar 1] [ Seleccionar 2] [ Seleccionar 3] = 2 ;. [ Seleccionar 1]. [ Seleccionar 2]. [ Seleccionar 3]. Los datos insertados en una tabla pueden ser tanto modificados como eliminados. SQL posee sentencias para ambas acciones. Realiza una consulta que asigne al médico con DNI = 1232 el responsable "María García García" UPDATE medico [ Seleccionar 1] respon = (SELECT [ Seleccionar 2] FROM responsable [ Seleccionar 3] nombre = "María" AND apellido = "Garcia Garcia" ) [ Seleccionar 4] DNI = "1232";. [ Seleccionar 1]. [ Seleccionar 2]. [ Seleccionar 3]. [ Seleccionar 4]. Tenemos la siguiente tabla Sala: ¿Qué comando elimina los registros de la planta 2?. DELETE FROM SALA ;. DELETE FROM SALA WHERE PLANTA = 2;. DELETE PLANTA = 2 FROM SALA;. Tenemos la siguiente tabla Sala: Elimina todos los registros de la tabla: Drop Table Sala;. Drop Sala;. Delete Sala;. Delete From Sala;. SQL también permite realizar inserciones de datos con información obtenida de una consulta sin necesidad de realizar más de una instrucción. Tabla coche: create table coche ( id int(3) primary key auto_increment, matricula varchar(7), marca varchar(30) not null, modelo varchar(30) not null ); Realiza una inserción en la tabla Coche con los datos necesarios de la tabla Vehículo, de aquellos cuyo tipo sea 2. INSERT INTO [ Seleccionar 1] [ Seleccionar 2] SELECT matricula, marca, modelo FROM [ Seleccionar 3] WHERE [ Seleccionar 4] ;. [ Seleccionar 1]. [ Seleccionar 2]. [ Seleccionar 3]. [ Seleccionar 4]. PAC5(UF2): Transacciones. OBJETIVOS DE LA EVALUACIÓN: • Identificar las transacciones y su funcionamiento. • Controlar los cambios producidos por una transacción. • Identificar los efectos de las diferentes políticas de bloqueo de registros. • Adoptar medidas para mantener la integridad y consistencia de la información. • Identificar las transacciones, concurrencias y la recuperación de errores. Una transacción es un conjunto de instrucciones independientes pero relacionadas. De esta manera, inicialmente se comienza abriendo la transición y, seguidamente, si todas estas acciones se ejecutan de forma correcta, se confirma y se cierra la transacción. Sin embargo, si se observa cualquier tipo de error en ellas la transacción se deshace. De esta forma se tiene siempre en cuenta la integridad de los datos. Selecciona las sentencias que sean ciertas sobre las transacciones: Con la sentencia commit guardamos los datos modificados durante la transacción. Con la sentencia rollback guardamos los datos modificados durante la transacción. Una transacción en MySQL comienza con la sentencia SET AUTOCOMMIT OFF;. Si una inserción da fallo dentro de una transacción, el update que se encuentra dentro de la misma transacción guardará los datos. Podemos comenzar una transacción en MySQL con BEGIN WORK;. Para guardar los cambios en una transacción podemos utilizar COMMIT WORK;. Tenemos la siguiente tabla Vehículo: *El atributo matricula es PK de la tabla. Y el siguiente código: START TRANSACTION; INSERT INTO vehiculo VALUES ('4243ERT', 2, 'PEUGEOT', '307'); INSERT INTO vehiculo VALUES ('3434RGA', 2, 'AUDI', 'A3'); COMMIT; Indica que devolverá la siguiente consulta: SELECT COUNT(*) FROM VEHICULO;. 4. 5. 6. 3. 7. Relaciona las propiedades de las transacciones con su definición: Actúa como un proceso atómico, es decir, o todo se realiza con éxito o no se modifica nada. Cuando se ejecuta la transacción, el sistema debe pasar de en un estado consistente a otro que también lo sea pese a los cambios que se han realizado. Cada transacción debe actuar de forma secuencial. Los cambios de una transacción no se pierden. Uno de los principales errores es el que se ocasiona cuando dos transacciones quieren acceder al mismo dato de manera simultánea, le llamamos problema de concurrencia. Relacionar los posibles errores derivado de la ejecución concurrente de las transacciones: Cuando una transacción consulta datos escritos de otra que aún no ha sido confirmada. Cuando una transacción vuelve a hacer una lectura de unos datos que ya había leído, y comprueba que han sido modificados en alguna transacción. Cuando una transacción realiza una consulta y encuentra datos que antes eran inexistentes, puesto que alguna transición los ha insertado. Uno de los principales problemas que se ocasionan en las transacciones de los datos de una BDD es que se pida acceso a un mismo dato desde dos lugares distintos. Es en ese momento en el que se precisa un control de concurrencia para darle solución. Existen dos tipos de técnicas para evitar estos problemas: técnicas pesimistas y técnicas optimistas. Identifica de qué tipo son las siguientes técnicas del control de concurrencia. Técnica de bloqueo. Técnica de validación. Técnica de marcas de tiempo. Identifica en qué consisten las siguientes técnicas: Impedir que no se acceda a los datos desde las transacciones. Impedir que las transacciones no accedan a los datos en unos períodos de tiempo. Restablecer la base de datos al estado anterior al fallo. PAC6(UF2): Lenguaje DDL. OBJETIVOS DE LA EVALUACIÓN: • Identificar los tipos de lenguajes para definir y manipular datos sobre un SGBDR. • Identificar los elementos de la estructura de una base de datos utilizando el lenguaje de definición de datos (DDL) a partir del diseño de la base de datos y de los requisitos del usuario. • Emplear asistentes, herramientas gráficas y el lenguaje de definición de datos para definir la estructura de una base de datos sobre un SGBDR y teniendo en cuenta las reglas sintácticas. • Identificar las funciones, la sintaxis y las órdenes básicas del lenguaje SQL para definir la estructura de una base de datos. El lenguaje DDL es la parte que realiza la función de definición de datos del SGBD, es decir, es la que se encarga de definir, modificar y eliminar las estructuras básicas de la BDD. Identifica si las siguientes sentencias sobre el lenguaje DDL son verdaderas: Cuando añadimos una columna con la restricción NULL se añade un valor por defecto automáticamente. Podemos modificar la longitud máxima de una cadena en una columna. Siempre podemos eliminar claves primarias. Podemos eliminar claves foráneas. En el lenguaje DDL tenemos las instrucciones que crean la base de datos y las tablas. El siguiente código, ¿daría error? CREATE TABLE vehiculo ( matricula primary key, tipo null, marca not null, modelo not null );. Sí, daría error. No, se ejecutaría sin problemas. Dentro del lenguaje DDL también tenemos instrucciones para modificar la estructura de la base de datos como, por ejemplo, cambiar columnas o claves. Indica la consulta que utilizarías para añadir una columna año de matriculación en la tabla vehículo, de tipo fecha y que no puede ser nulo: ALTER vehiculo ADD matriculacion DATE NOT NULL;. ALTER TABLE vehiculo ADD COLUMN matriculacion DATE NOT NULL;. ADD COLUMN matriculacion TO vehiculo matriculacion DATE NOT NULL;. Indica que consulta utilizarías para quitar la clave primaria de la tabla vehiculo: [ Seleccionar 1] [ Seleccionar 2] [ Seleccionar 3] DROP [ Seleccionar 4] ;. [ Seleccionar 3]. [ Seleccionar 3]. [ Seleccionar 3]. [ Seleccionar 3]. Indica que consulta utilizarías para añadir una clave ajena en la tabla vehículo según el siguiente modelo relacional. El nombre será FK_VEHICULO_PROPIETARIO: ALTER TABLE [ Seleccionar 1] ADD CONSTRAINT [ Seleccionar 2] FOREIGN KEY [ Seleccionar 3] REFERENCES [ Seleccionar 4] ;. [ Seleccionar 1]. [ Seleccionar 2]. [ Seleccionar 3]. [ Seleccionar 4]. PAC7(UF2): Índices y Vistas. OBJETIVOS DE LA EVALUACIÓN: • Definir los índices de una base de datos para mejorar el rendimiento del sistema gestor de bases de datos. • Crear, modificar y eliminar vistas de la base de datos. Una vista es una tabla virtual que almacena la estructura de los datos a mostrar, pero no los datos. Indica que vistas son simples y que vistas son complejas: [ Seleccionar 1] ---CREATE OR REPLACE VIEW vista_planta AS SELECT s.codigo, s.nombre FROM salas s WHERE s.planta = 4; [ Seleccionar 2] --- CREATE OR REPLACE VIEW vista_especialidad AS SELECT e.especialidad, m.nombre, m.apellido, m.sala FROM especialidad e INNER JOIN medico m ON e.id = m.especialidad;. [ Seleccionar 1]. [ Seleccionar 2]. Sobre los tipos de vistas (Simples y Compuestas) Indicar sobre cuáles de las siguientes sentencias se pueden realizar instrucciones de borrado de datos: (marca las que sí pueden) A) CREATE OR REPLACE VIEW vista_especialidad AS SELECT e.especialidad, m.nombre, m.apellido, m.sala FROM especialidad e INNER JOIN medico m ON e.id = m.especialidad; B) CREATE OR REPLACE VIEW vista_planta AS SELECT s.codigo, s.nombre FROM salas s WHERE s.planta = 4; C) CREATE OR REPLACE VIEW vista_medico AS SELECT SUM(horas) FROM medico GROUP BY especialidad;. A. B. C. Realiza una inserción en esta vista, el código será 4 y el nombre de la sala será ‘cuatro’. CREATE OR REPLACE VIEW vista_planta AS SELECT s.codigo, s.nombre FROM salas s WHERE s.planta = 4;. INSERT vista_planta VALUES ( 4 , 'cuatro') ;. INSERT INTO vista_planta VALUES ( 'cuatro' , 4 ) ;. INSERT INTO vista_planta VALUES ( 4 , 'cuatro') ;. Relacionar las posibles opciones en la creación de una Vista. Si ya existe, la cambia por la actual. Crear la vista aunque no se disponga de los datos necesarios. Ofrece la posibilidad de añadir o modificar las filas a modificar. Vista de solo lectura. Señala la opción correcta para eliminar una vista denominada miVista: DELETE TABLE miVista;. DELETE VIEW miVista;. DROP VIEW miVista;. DROP TABLE miVista;. Poner "OR REPLACE" al declarar vistas sirve para cambiar el nombre de la misma por uno diferente. Falso. Verdadero. PAC8(UF2): Restricciones. OBJETIVOS DE LA EVALUACIÓN: • Identificar e implantar las restricciones a las tablas que están reflejadas en el diseño lógico. La integridad es una pieza fundamental de las bases de datos y se encarga de que los datos que la componen sean lo más correctos posibles. Estos datos almacenados en la base de datos deben cumplir una serie de restricciones con el objetivo de facilitar el trabajo del usuario en cuanto a la manipulación de datos de las bases de datos. Relacionar las siguientes restricciones con su definición. Asigna valores nulos a aquellas claves secundarias que estén relacionadas con la que se ha borrado. Elimina aquellos registros que tienen su clave secundaria idéntica a la del registro que se ha eliminado. Sitúa en el registro relacionado un valor asignado por defecto en la columna relacionada. No hace ningún cambio. Asigna valores nulos a aquellas claves secundarias que estén relacionadas con la que se ha actualizado. Actualiza aquellos registros que tienen su clave secundaria idéntica a la del registro que se ha actualizado. En las claves primarias encontramos una serie de restricciones que permiten evitar que se encuentren valores duplicados en una tabla. Seleccione las sentencias verdaderas sobre las restricciones: Cuando queremos crear una clave primaria podemos hacerlo así: primary key (matricula, dni). El índice que genera la restricción de clave principal debe encontrarse entre los valores 1 y 99. Una tabla puede referenciarse a sí misma. Si ponemos en el campo fecha de la tabla "vehiculo" la restricción NOT NULL, ¿es cierto que devolverá Error al realizar esta consulta?: CREATE TABLE vehiculo ( matricula VARCHAR(7) PRIMARY KEY, marca VARCHAR(20) NOT NULL DEFAULT 'SEAT', modelo VARCHAR(20), fecha DATE NOT NULL ); La siguiente instrucción va a dar error: INSERT INTO vehículo (matricula, marca, modelo) VALUES (‘1234EFS’, ‘SEAT’, ‘CORDOBA’);. True. False. Si ponemos en el campo marca la restricción NOT NULL DEFAULT ‘SEAT’, CREATE TABLE vehiculo ( matricula VARCHAR(7) PRIMARY KEY, marca VARCHAR(20) NOT NULL DEFAULT 'SEAT', modelo VARCHAR(20), fecha DATE ); La siguiente instrucción va a dar error: INSERT INTO vehiculo (matricula, modelo) VALUES (‘1234EFS’, ‘CORDOBA’);. True. False. Las restricciones en las bases de datos hacen que las estructuras sean más eficaces y, por tanto, tengamos menos trabajo a la hora de manipular los datos. Verdadero. Falso. PAC9(UF2) Test Final Evaluable. . Dado el siguiente código: CREATE TABLE JUGADOR ( cod_jugador_PK INT NOT NULL, nombre VARCHAR(25) NOT NULL, fecha_nacim DATE, PRIMARY KEY (cod_jugador_PK) ); ALTER TABLE jugador MODIFY cod_jugador_PK INT auto_increment; ALTER TABLE jugador auto_increment=1001; INSERT INTO jugador(nombre, fecha_nacim) VALUES ('L. Messi', '1987-06-24'); Considerando que es el primer registro que insertamos en la tabla. Cual será el valor del campo cod_jugador_PK para el registro insertado. 0. 1. 1001. 1002. Tenemos la siguiente tabla JUGADOR CREATE TABLE JUGADOR ( cod_jugador_PK INT NOT NULL, nombre VARCHAR(25) NOT NULL, fecha_nacim DATE, PRIMARY KEY (cod_jugador_PK) ); Queremos una lista que contenga solo los nombres de los jugadores que empiezan por la letra "M". ¿Cuál de las siguientes consultas nos permite obtener la lista que queremos?. SELECT nombre FROM JUGADOR WHERE nombre LIKE '%M%';. SELECT nombre FROM JUGADOR WHERE nombre = 'M';. SELECT * FROM JUGADOR WHERE nombre LIKE 'M';. SELECT nombre FROM JUGADOR WHERE nombre LIKE 'M%';. Tenemos creada una vista que se llama VISTA_EMPLEADOS y queremos crear otra vista. Para ellos, ser realiza el siguiente código CREATE VIEW vista_empleados_con_hijos AS SELECT nombre, cantidadhijos FROM vista_empleados WHERE cantidadhijos >= 1; Indica que afirmación es correcta sobre el código. Devuelve solo los empleados con menos de 2 hijos. La sentencia AS SELECT no es correcta. Devuelve los empleados con hijos. No se puede crear una vista de otra vista. Tenemos la siguiente definición de tabla llamada NOTA --Tabla nota CREATE TABLE nota ( id INT NOT NULL, asignatura_id INT, calificacion FLOAT NOT NULL, fecha_examen DATE NOT NULL, convocatoria INT, alumno_id FLOAT ); Que devuelve la siguiente instrucción: DESCRIBE nota;. Muestra la definición de la tabla NOTA. Muestra las claves ajenas de la tabla NOTA. Muestra todos los registros de la tabla NOTA. La instrucción da error. MODELO EXAMEN FINAL DE CURSO 2023. UF1: Introducción a las bases de datos. UF2: Lenguajes SQL: DML y DDL. UF1. 1.- ¿Cuál es el modelo que más se aproxima a la visión del usuario?. Modelo conceptual. Modelo lógico. Modelo físico. Lenguaje SQL. UF1. 2.- ¿Cómo transformarías este modelo Entidad- Relación?. Propagar la clave primaria desde Avión a Hangar. Construir una nueva tabla llamada “Estacionado_en” con las claves primarías de las entidades que intervienen, que a su vez son PK y FK, junto con los atributos de la relación. Construir una nueva tabla llamada “Estacionado_en” solo con las claves primarías de las entidades que intervienen, que a su vez son PK y FK. Propagar la clave primaria de cualquier tabla hacia la otra, ya que es N:M. UF1. 3.- ¿Cuál sería la definición correcta de una base de datos?. Conjunto de información regulada y normalizada de una colección de archivos relacionados por tablas. Conjunto de datos sistematizados donde la información está regulada y estructurada por el individuo. Conjunto de información normalizada y relacionada, que se elabora utilizando una vía sistemática para el almacenamiento, proceso y extracción de datos. Conjunto de datos relacionados, sincronizados elaborados de forma continua. UF1. 4.- Una vista es una tabla virtual que. Almacena los datos en la BBDD. No se almacena en la BBDD. Se almacena sólo la definición. Ninguna de las anteriores. UF1. 5.- Una especialización inclusiva es aquella que. Puede materializarse en más de una subclase. Puede materializarse en solo una clase. Tiene que materializarse en una clase. Puede no materializarse en alguna clase. UF1. 6.- El campo clave es. Un campo numérico. Un campo especial que puede repetir un mismo valor. Un campo especial que no puede repetir ningún valor. Un campo alfanumérico. UF1. 7.- Una relación reflexiva es una entidad de grado. 0. 1. 2. 3. UF1. 8.- Dado el siguiente diagrama E/R ¿Qué solución evita valores nulos en la transformación al diseño relacional utilizando la propagación de claves?. Propagar la clave de ALUMNO a la tabla PROYECTO. Propagar la clave de PROYECTO a la tabla ALUMNO. Solo se puede conseguir creando una nueva tabla tal como ASIGNADO (ClaveProyecto, ClaveAlumno). Ninguna de las anteriores. UF1. 9.- Tenemos una base de datos relacional con dos tablas. La primera tabla tiene los campos Cod_Profesor, Apellido, Nombre y Antigüedad, y la otra tabla contiene los campos Departamento, Cod_Profesor y Salario. Los campos Antigüedad de las dos tablas deben coincidir para encontrar información. Los campos Cod_Profesor de las dos tablas deben coincidir para encontrar información. Los campos Apellido de las dos tablas deben coincidir para encontrar información. Los campos Nombre de las dos tablas deben coincidir para encontrar información. UF1. 10.- ¿Cuáles son ventajas de poseer una base de datos informatizada?. Las bases de datos son totalmente seguras y con acceso rápido a las operaciones. Datos centralizados, estructurados, actualizados y de exactitud y consistencia. Multiplicación de la capacidad de análisis estructurado de tablas relacionales bidimensionales. Exactitud sobre datos aleatorios multiplicando la capacidad de análisis. UF1. 11.- ¿En qué consiste la teoría de la normalización?. Eliminar comportamientos análogos, eliminar las repeticiones y en la elaboración de diseños comprensibles. En adaptar procesos, eliminando las repeticiones en tablas homogéneas. En realizar procesos de evolución de problemas, de repetición y adaptabilidad de datos complejos. Codificación de procesos repetitivos de modificación de diseño. UF1. 12.- El lenguaje SQL se divide en: DML, DCL, TCL y FCL. DML, DDL, DCL y TTL. DML, DDL, DCL y XTL. DML, DDL, DCL y TCL. UF1. 13.- ¿A qué participaciones corresponde una cardinalidad 1:N?. (0,1) y (1,1). (1,n) y (0,n). (1,1) y (1,n). (0,1) y (n,n). UF2. 1.- Se desea obtener un listado de las localidades de las que hay más de 20 tiendas indicando la localidad y el número de tiendas de la misma. ¿Cuál de las siguientes sería una sentencia SQL válida para este fin?. select localidad, count(id_tienda) from TIENDA where count(id_tienda) > 20;. select localidad, count(id_tienda) from TIENDA group by dirección having count (id_tienda) > 20;. select localidad, count(id_tienda) from TIENDA group by localidad having count(id_tienda) > 20;. Ninguna de las anteriores es correcta. UF2. 2.- A una restricción. No se le puede poner nombre. Se le puede poner nombre mediante CONSTRAINT. Se le puede poner nombre mediante RESTRICTION. Se le puede poner nombre mediante REFERENCES. UF2. 3.- ¿Para qué sirve DISTINCT en una SELECT?. Para mostrar las filas idénticas. Para no mostrar filas idénticas. Para mostrar, aparte, las filas distintas. Ninguna de las anteriores. UF2. 4.- Para comenzar una transacción se usa. START WORK. START TRANSACTION. SET AUTOCOMMIT = OFF. Todas las anteriores. UF2. 5.- Con el comando ALTER, no se puede. Borra una columna. Modificar el tipo de dato de una columna. Cambiarle el nombre a la tabla. Todas las opciones anteriores son posibles. UF2. 6.- ¿Cuál de las siguientes sentencias SQL responde a la consulta “Nombre de las cadenas que no tienen tiendas en Barcelona”?. select c.nombre from CADENA c minus select c.nombre from CADENA c join TIENDA t on t.id_cad = c.id_cad where t.localidad = ‘BARCELONA’;. select c.nombre from CADENA c join TIENDA t on t.id_cad = c. id_cad where t.localidad <> ‘BARCELONA’;. select c.nombre from CADENA c, TIENDA t, VENTAS v where t.id_cad = c.id_cad and v.id_tienda = t.id_tienda and t.localidad <> ‘BARCELONA’;. Ninguna de las anteriores es correcta. UF2. 7.- En una sola sentencia UPDATE. Solo se puede modificar un campo de un registro. Solo se puede modificar un campo de varios registros. Solo se pueden modificar varios campos de un registro. Se pueden modificar varios campos de varios registros. UF2. 8.- ¿Cuál de los siguientes comandos sería el adecuado para la creación de nuestra base de datos?. create database UF2_Clases;. create database UF2_Clases Character set latin1;. create database UF2_Clases Character set latin1 collate latin1_spanish_ci;. Todas las anteriores son correctas. UF2. 9.- ¿Qué comando debemos usar para establecer con qué base de datos vamos a trabajar?. use BD;. create BD;. delete BD;. Ninguna de las opciones es correcta. UF2. 10.- Cuando creamos un modelo de base de datos debemos empezar creando: Las tablas con claves foráneas hacia otras tablas. Las tablas sin ninguna dependencia. Esto es indiferente, no existe ninguna orden que debamos seguir. Todas anteriores. UF2. 11.- El operador IN no se puede usar para. Escribir en un filtro una lista de valores. Escribir en un filtro una subconsulta. Una ordenación. Encadenar varias condiciones de tipo AND. UF2. 12.- Si se especifica ON DELETE CASCADE. No se puede borrar el registro referenciado. Se borra en cascada el registro referenciado. No se puede borrar el registro que referencia. Se borra en casada el registro que referencia. UF2. 13.- Una transacción. Puede tener sentencias SELECT. No puede tener sentencias INSERT. No puede tener sentencias SELECT. Solo puede tener sentencias UPDATE. UF2. 14.- ¿Cuál de las siguientes sería una sentencia SQL para obtener el número de tiendas de la cadena ‘Super’?. select count(*) from cadena where nom_cad = ‘Super’;. select coun(id_cad) from cadena group bt nom_cad =’Super’;. select id_cad, nom_cad, count(id_cad) from cadena where nom_cad=’Super’;. Ninguna de las anteriores es correcta. PONTE A PRUEBA - MP2. Bases de datos A. 1.1. Evolución histórica de las BBDD 1.3. Almacenamiento de la información 1.7. Bases de datos centralizadas y distribuidas 2.2. Entidad: representación gráfica, atributos y tipos de claves 2.5. Modelo entidad-relación 3.1 Terminología del modelo relacional 3.4. Concepto y tipos de clave: candidatas, primarias, ajenas, alternativas 3.7. Traducción del modelo entidad-relación al modelo relacional 4.3. Primera forma normal (1FN) 4.5. Tercera forma normal (3FN) 5. Herramientas gráficas proporcionadas por el SGBD para la edición de la BD 5.4 Lenguaje de manipulación de datos (DML) 6.1 Concepto de integridad 6.4 Estados de una transacción 6.7 Control de concurrencia 7.1 Vistas y otras extensiones del lenguaje. ¿A partir de qué año es posible gestionar los sistemas de gestión de bases de datos a nivel de usuario?. A partir de los años 80, con la aparición del sistema de base de datos de Oracle. A partir de los años 80, con la aparición del lenguaje SQL. A partir de los años 90, con la aparición del sistema gestor Microsoft Access. A partir de los años 2000, cuando aparecen los SGDB. ¿Qué sistemas aparecen en los años 60?. Los sistemas de puerta lógica AND. Los sistemas Batchprocessing. Los sistemas SGBD. Los sistemas de estandarización. ¿A qué tipo de fichero se hace referencia con esta afirmación: “Disponemos de un fichero lleno de registros, y para encontrar un registro en concreto debemos recorrer todos los registros de forma secuencia que se encuentran antes que este.”?. Ficheros indexados. Ficheros secuenciales. Ficheros planos. Ficheros de lectura continua. Dadas las siguientes opciones, indica cuál no podría ser un campo clave en una base de datos. Nombre de persona. DNI. Matrícula de un coche. ID de una película. En referencia a la clasificación de las BBDD. Según su ubicación, ¿en cuántos tipos las podemos clasificar?. Jerárquicas. En red. Relacionales. Todas las opciones anteriores son correctas. Indica cuál de las siguientes opciones es una ventaja de trabajar con bases de datos distribuidas. Supone un bajo coste a la hora de crear una red de computadoras pequeña. Aumenta el nivel de seguridad. Los mecanismos de recuperación de datos son óptimos gracias a que intervienen distintos nodos. Solamente tiene una entrada para cada dato que se almacena. Indica cuál de las siguientes opciones pertenece a una base de datos centralizada. No depende ni necesita una red central para obtener servicio. No tiene demasiados elementos de procesamiento. No almacena todos los componentes en una única máquina. No puede aplicar restricciones de seguridad. El diseñador es el encargado de distribuir los datos en una base de datos. ¿Cuál de las siguientes opciones se corresponde con un esquema costos, en el que cada uno de los nodos tendrá la información duplicada, que también dispone de mucha disponibilidad pero que resulta más lento al tener muchos datos?. Distribución centralizada. Distribución replicada. Distribución particionada. Distribución híbrida. Indica cuál de las siguientes opciones es una de las ventajas principales de las bases de datos centralizadas. Ante un problema, la recuperación de datos es complicada. Si un sistema falla, perdemos la disponibilidad de la información. Rendimiento óptimo al procesar datos. Acceso rápido. ¿Cuál es el orden correcto de los nombres de los elementos de la siguiente imagen (de arriba abajo)?. Relación, atributo multivaluado, entidad, entidad débil atributo. Entidad débil, atributo, relación, entidad, atributo multivaluado. Atributo, Atributo multivaluado, relación, entidad, entidad débil. Atributo multivaluado, atributo, relación, entidad, entidad débil. ¿Cuál de las dos formas es correcta para representar un diagrama E-R?. La opción 1. La opción 2. Ambas opciones son correctas. Ninguna opción es correcta. En el modelo E-R extendido, indica a qué restricción semántica pertenece el siguiente ejemplo. Un jugador de tenis se apunta a un campeonato donde puede participar en la modalidad de dobles, en individual o en ambas. Inclusiva. Exclusiva. Parcial. Ninguna opción es correcta. Indica el orden correcto de cada diagrama en función del orden alfabético [A, B, C, D]. Inclusiva total, inclusiva parcial, exclusiva total, exclusiva parcial. Inclusiva parcial, inclusiva total, exclusiva parcial, exclusiva total. Exclusiva parcial, inclusiva total, exclusiva total, inclusiva parcial. Inclusiva total, inclusiva parcial, exclusiva parcial, exclusiva total. Dada la siguiente jerarquía, indica cuál de los subtipos pueden pertenecer a esta jerarquía exclusiva. Hombre, Mujer. Estudiante, Trabajador. Amigo, Padre. Anciano, Estudiante. Mostrando el siguiente ejemplo de una tabla de vehículos, ¿a qué término del modelo relacional pertenecen los nombres Marca, Modelo, Año y Precio?. Atributo. Tupla. Título. Dominio. ¿Cómo se conoce al conjunto de atributos de una relación que son clave primaria de otra relación distinta y que por causas del diseño deben estar relacionadas?. Clave alternativa. Clave foránea. Clave candidata. Clave primaria. Dada la siguiente tabla, ¿cuál de los siguientes campos es la clave primaria?. DNI. NOMBRE. APELLIDOS. Cualquiera de las tres podría ser clave primaria. Dada la siguiente tabla, ¿cuáles de los siguientes campos optan para ser clave candidata?. Código cliente y DNI. Nombre y apellidos. DNI y apellidos. Código cliente y apellidos. Dada la siguiente tabla, ¿cuál de los siguientes campos optan para ser clave candidata?. Código cliente de la tabla Pedido. Código cliente de la tabla Cliente. Fecha de la tabla Pedido. Apellidos de la tabla Cliente. ¿En cuál de los siguientes casos se pueden presentar a la hora de realizar la transformación de entidad relación a modelo relacional?. Cuando la cardinalidad general es 1:1. Cuando la cardinalidad general es N:M. Cuando la cardinalidad general es 1:N. Todas las opciones son correctas. Indica la participación que falta en este ejemplo. Un libro puede estar escrito por uno o varios autores, un autor puede escribir ninguno o varios libros. (1,1). (1,n). 1:N. (n,m). Indica la participación que falta en este ejemplo. Un jugador de baloncesto únicamente puede jugar en un equipo y un equipo estará formado siempre por varios jugadores. (1,n). (n,m). (0,n). Ninguna opción es correcta. Para que una tabla se encuentre en primera forma normal, los atributos deben contener valores atómicos, es decir, que no se puedan dividir. Dada la siguiente tabla, ¿cuál de los siguientes atributos no cumple con esta primera forma normal?. Puesto. ID. Salario. Emails. Para que una tabla esté en tercera forma normal (3FN), es necesario que esté en 2FN y no disponga de dependencias funcionales en los atributos no clave, pero no es necesario que esté en 1FN. Verdadero. Falso. ¿Cuál de las siguientes opciones no es una norma básica para tener en cuenta cuando diseñamos instrucciones SQL?. Es posible tabular las instrucciones. No distingue entre mayúsculas y minúsculas. No es necesario delimitar el fin de un comando. Cualquier comando puede ir seguido de un espacio antes de finalizar la instrucción. A través del SGBD MySQL queremos crear una tabla con el nombre “profesor”, que tenga los atributos de identificador, edad y asignatura. ¿Cómo lo haremos?. CREATE TABLE profesor (identificador INT PRIMARY KEY, edad INT) ENGINE=INNODB;. CREATE TABLE profesor (identificador INT PRIMARY KEY, edad INT, asignatura VARCHAR (15)) ENGINE=INNODB;. USE TABLE profesor (identificador INT PRIMARY KEY, edad INT, asignatura VARCHAR (15)) ENGINE=INNODB;. CREATE TABLE edad (profesor INT PRIMARY KEY, edad INT, identificador VARCHAR (15)) ENGINE=INNODB;. A través del SGBD MySQL, ¿qué sentencia usaremos si queremos borrar la tabla profesor?. DROP TABLE profesor;. DROP DATABASE profesor;. DROP TABLE edad;. DROP profesor;. Dada la siguiente tabla, ¿cuál de las siguientes sentencias utilizaremos para obtener el número de productos que tenemos en la tabla “Productos”?. SELECT COUNT(IDProducto) AS NúmeroProductos FROM Productos;. SELECT SUM(IDProducto) AS NúmeroProductos FROM Productos;. SELECT MAX(IDProducto) AS NúmeroProductos FROM Productos;. SELECT SUM(Stock) AS NúmeroProductos FROM Productos;. Dada la siguiente tabla, ¿cuál de las siguientes sentencias utilizaremos para obtener la cantidad total de Stock que disponemos en la tabla “Productos”?. SELECT SUM(Stock) AS NúmeroProductos FROM Productos;. SELECT COUNT(Stock) AS NúmeroProductos FROM Productos;. SELECT MAX(Stock) AS NúmeroProductos FROM Productos;. SELECT SUM(IDProducto) AS NúmeroProductos FROM Productos;. Dadas las siguientes opciones, ¿cuál de las siguientes sentencias se añadirá detrás de la cláusula REFERENCES para evitar que al eliminarse un registro de la tabla principal nos pueda dar problemas?. ON DELETE SET DEFAULT. ON UPDATE CASCADE. ON UPDATE SET NULL. ON DELETE ACTION NULL. Si visualizamos la imagen anterior, es posible observar el estado en una transacción. En caso de detectar algún error,¿qué instrucción realizará?. Rollback. Commit. Delete. Update. Para poder bloquear los datos y evitar acceder a cualquiera de ellos en una transacción. ¿Cuál de las siguientes opciones utilizaremos en forma de variable para controlar el estado de los datos?. Los locks. Las lecturas. Las transacciones. El control. A la hora de crear una vista, ¿cuál de las siguientes opciones añadiremos para reemplazar una vista ya existente?. OR REPLACE. FORCE. OR FORCE. REPLACE FORCE. Dada la siguiente tabla, ¿cuál de las siguientes sentencias es correcta para crear una vista?. CREATE VIEW coche_ford AS SELECT * FROM Coches WHERE Marca = “Ford”;. UPDATE VIEW coche_ford AS SELECT * FROM Coches WHERE Marca = “Ford”;. CREATE VIEW coche_ford AS SELECT * FROM Coches WHERE Modelo = “Ford”;. CREATE VIEW coche_ford AS SELECT * FROM Coches;. Para eliminar una vista, a través del SGBD MySQL, ¿qué sentencia utilizaremos?. DROP VIEW nombre_vista;. REPLACE VIEW nombre_vista;. DELETE nombre_vista;. DROP OR REPLACE nombre_vista. |