Bases de datos A ilerna
![]() |
![]() |
![]() |
Título del Test:![]() Bases de datos A ilerna Descripción: varias preguntas PAC |




Comentarios |
---|
NO HAY REGISTROS |
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. DDL. DCL. TCL. Identifica si las siguientes consultas pertenecen al lenguaje DDL o DM: Crear una tabla en la base de datos. 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. 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 DNI;. FROM USUARIOS SELECT *;. SELECT FROM USUARIOS;. SELECT * FROM USUARIOS;. SELECT * ;. FROM USUARIOS SELECT ALL;. 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 ....... FROM ...... WHERE ....... = ........ ;. * USUARIOS DNI '12345566P'. USUARIOS '12345566P' * DNI. DNI '12345566P' 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) ); 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 * FROM USUARIOS ORDER BY DNI ASC;. SELECT * FROM USUARIOS ORDER BY DNI DESC;. SELECT DNI FROM USUARIOS ORDER BY DNI DESC;. SELECT DNI FROM USUARIOS GROUP BY DNI:. 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";. 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 VEHICULO FROM MARCA;. SELECT VEHICULO FROM MARCA;. SELECT MARCA FROM VEHICULO;. SELECT DISTINCT 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 * FROM VEHÍCULO WHERE MOTOR = 'DIÉSEL';. SELECT * FROM VEHÍCULO ;. SELECT MATRÍCULA FROM VEHÍCULO WHERE MOTOR = 'DIÉSEL';. SELECT * WHERE MOTOR = 'DIÉSEL' FROM VEHÍCULO;. 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 VEHICULO FROM MATRICULO WHERE MARCA = 'AUDI' AND MODELO = 'A3' ;. SELECT * FROM VEHICULO WHERE MARCA = 'AUDI' AND MODELO = 'A3' ;. SELECT 'AUDI' AND MODELO = 'A3' FROM VEHICULO ;. 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 PRODUCTO (PRECIO) FROM PRECIO;. SELECT SUM (PRECIO) FROM PRODUCTO ;. No answer text provided. SELECT PRECIO FROM SUM(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 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 CODIGO, COUNT (*) FROM PRODUCTO;. SELECT 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 COUNT (Precio) FROM PRODUCTO;. SELECT MAX (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 * FROM PRODUCTO MIN(PRECIO);. SELECT MAX(PRODUCTO) FROM PRECIO;. SELECT MINIMAL(PRECIO) FROM PRODUCTO;. SELECT MIN(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 FROM PRODUCTO AVG(PRECIO) ;. SELECT AVG(PRODUCTO) FROM PRECIO;. SELECT MIN(PRECIO) FROM PRODUCTO;. SELECT AVG(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 ); 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 ...... , ...... FROM ...... INNER JOIN PRODUCTO ON ID= ...... PROVINCIA NOMBRE TIENDA IDTIENDA. NOMBRE IDTIENDA PROVINCIA TIENDA. TIENDA IDTIENDA NOMBRE PROVINCIA. 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 PRECIO FROM PRODUCTO WHERE PRODUCTO = (SELECT MAX(PRECIO) FROM PRODUCTO);. SELECT * FROM PRODUCTO WHERE PRECIO = (SELECT MAX(PRECIO) FROM PRODUCTO);. SELECT MAX(PRECIO) FROM PRODUCTO WHERE PRECIO = (SELECT * 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 ] FROM [ Seleccionar ] INNER JOIN TIENDA ON PRODUCTO.IDTIENDA = [ Seleccionar ] WHERE PRODUCTO.PRECIO = (SELECT [ Seleccionar ] FROM [ Seleccionar ] ) AND [ Seleccionar ] = [ Seleccionar ] ;. NOMBRE PRODUCTO TIENDA.ID MIN(PRECIO) PRODUCTO PROVINCIA 'GUADALAJARA'. PRODUCTO MIN(PRECIO) PRODUCTO 'GUADALAJARA' PROVINCIA TIENDA.ID NOMBRE. 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(DNI) FROM VEHÍCULO WHERE MATRICULA IN (SELECT MATRICULA FROM USUARIO WHERE NOMBRE = ‘MARÍA’ AND APELLIDO = ‘LÓPEZ MARTÍN’);. SELECT DISTINCT(MARCA) FROM VEHÍCULO WHERE MATRICULA IN (SELECT MATRICULA 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’);. 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 (nombre, DNI) VALUES (NULL);. INSERT INTO ALUMNO (nombre, DNI) VALUES ('00000000E', 'Ana');. INSERT INTO ALUMNO (DNI, nombre) = ('0000000E', 'Ana');. INSERT INTO ALUMNO (DNI, nombre) VALUES (00000000E, Ana);. INSERT INTO ALUMNO (DNI, nombre) VALUES ('00000000E', 'Ana');. Deseamos insertar en la tabla Asignatura el siguiente registro: INSERT INTO ASIGNATURA VALUES ( 1, 'Programación' ) ;. INSERT INTO ASIGNATURA ( 1, 'Programación' ) ;. INSERT INTO ASIGNATURA VALUES ( 'Programación', 1 ) ;. INSERT INTO ASIGNATURA (nombre, codigo) VALUES ( 1, 'Programación' ) ;. INSERT VALUES ( 1, 'Programación' ) INTO ASIGNATURA ;. 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) );. 6. (dará error). NULL. 7. 0. 4. 9. 5. 8. 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 (codigo, nombre) values (8, 'plegable');. insert into mobiliario (nombre, tipo, precio, fecha) values (4, 'hinchable', 2, 14.90, 2, '2018-06-13');. insert into mobiliario values (1, 'magnifica', 3, 53.50, '2018-06-13', 4);. insert into mobiliario (nombre, tipo, precio, fecha, proveedor) values ('básica', 2, 30.50, '2018-06-13', 6);. insert into mobiliario (id, nombre, tipo, precio, fecha, proveedor) values (4, 'reclinable', 2, 19.90, '2018-13-06',9);. insert into mobiliario (codigo, nombre, tipo, precio, fecha, proveedor) values (4, 'magnifica', 4, 14.65, '2018-06-13', 5);. insert into mobiliario values (7, 'trona', 8, 25.90, '2018-06-31',4);. insert into mobiliario values ('esencial', 5, 61.90, '2018-06-13', 1);. insert into mobiliario values (3, 'plegable', 2, 15.90, '2018-06-13', 2);. insert into mobiliario values ('5', 'ejecutivo', 2, 39.90, '2018-06-13', 1);. Los datos insertados en una tabla pueden ser tanto modificados como eliminados. SQL posee sentencias para ambas acciones Tenemos la siguiente tabla Médico: Y la siguiente tabla ID nombre apellido 1- Marcos Hernández Fernández 2- María García García 3- Javier Gómez Fernández Responsable: Realiza una consulta que asigne a todos los médicos al responsable 2: UPDATE [ Seleccionar ] [ Seleccionar ] [ Seleccionar ] = 2 ;. MEDICO SET RESPON. SET RESPON MEDICO. RESPON MEDICO SET. Los datos insertados en una tabla pueden ser tanto modificados como eliminados. SQL posee sentencias para ambas acciones. Tenemos la siguiente tabla Médico: Y la siguiente tabla ID nombre apellido 1- Marcos Hernández Fernández 2- María García García 3- Javier Gómez Fernández Realiza una consulta que asigne al médico con DNI = 1232 el responsable "María García García" UPDATE medico [ Seleccionar ] respon = (SELECT [ Seleccionar ] FROM responsable [ Seleccionar ] nombre = "María" AND apellido = "Garcia Garcia" ) [ Seleccionar ] DNI = "1232"; Responsable: SET ID WHERE WHERE. ID WHERE WHERE SET. WHERE WHERE SET ID. Tenemos la siguiente tabla Sala: ¿Qué comando elimina los registros de la planta 2?. DELETE FROM SALA ;. DELETE PLANTA = 2 FROM SALA;. DELETE FROM SALA WHERE PLANTA = 2;. 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. Realiza una inserción en la tabla Coche con los datos necesarios de la tabla Vehículo, de aquellos cuyo tipo sea 2. 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 ); INSERT INTO [ Seleccionar ] [ Seleccionar ] SELECT [ Seleccionar ] FROM vehiculo WHERE [ Seleccionar ] ;. coche (matricula, marca, modelo) vehiculo tipo = 2. (matricula, marca, modelo) tipo = 2 vehiculo coche. 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: Atomicidad. Consistencia. Aislamiento. Permanencia. 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: Dirty Read. Nonrepeatable read. Phantom read. 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 Pesimista. Técnica de validación Optimista. Técnica de marcas de tiempo Pesimista. Identifica en qué consisten las siguientes técnicas: Técnica de bloqueo. Técnica de marcas de tiempo. Técnica de recuperación de errores. 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: Podemos modificar la longitud máxima de una cadena en una columna. Cuando añadimos una columna con la restricción NULL se añade un valor por defecto automáticamente. Podemos eliminar claves foráneas. Siempre podemos eliminar claves primarias. 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 );. No, se ejecutaría sin problemas. Sí, daría error. 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: ADD COLUMN matriculacion TO vehiculo matriculacion DATE NOT NULL;. ALTER TABLE vehiculo ADD COLUMN matriculacion DATE NOT NULL;. ALTER vehiculo ADD matriculacion DATE NOT NULL;. Indica que consulta utilizarías para quitar la clave primaria de la tabla vehiculo: 1. 2. 3. 4. 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 [ 1 ] ADD CONSTRAINT [ 2] FOREIGN KEY [ 3] REFERENCES [ 4 ] ;. 1. 2. 3. 4. 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: CREATE OR REPLACE VIEW vista_planta AS SELECT s.codigo, s.nombre FROM salas s WHERE s.planta = 4; simple 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; compuesta. simple. compuesta. 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;. B. A. 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. OR REPLACE. FORCE. WITH CHECK OPTION. WITH READ ONLY. Señala la opción correcta para eliminar una vista denominada miVista: DELETE TABLE miVista;. DROP VIEW miVista;. DELETE VIEW miVista;. DROP TABLE miVista;. 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. ON DELETE SET NULL. ON DELETE CASCADE. ON DELETE SET DEFAULT. ON DELETE SET NOTHING. ON UPDATE SET NULL. ON UPDATE CASCADE. 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: 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. Cuando queremos crear una clave primaria podemos hacerlo así: primary key (matricula, dni). 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. 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’);. Verdadero. Falso. 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’);. Verdadero. Falso. 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. 1001. 1002. 1. 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 * FROM JUGADOR WHERE nombre LIKE 'M';. SELECT nombre FROM JUGADOR WHERE nombre = '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 los empleados con hijos. La sentencia AS SELECT no es correcta. No se puede crear una vista de otra vista. Devuelve solo los empleados con menos de 2 hijos. 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;. La instrucción da error. Muestra todos los registros de la tabla NOTA. Muestra las claves ajenas de la tabla NOTA. Muestra la definición de la tabla NOTA. |