1-PARTE 1 ¿Por qué podría interesar no usar la caché en una consulta? Para tardar más tiempo. Para obtener datos fiables. Todo lo anterior. Porque cambian mucho los datos. 2- P1 Tu aplicación va a tener muchas consultas, ¿qué variables debes monitorizar? thread_cache_size threads_cached. threads_created max_connections,. 3- P1 Una transacción en el contexto de MySQL: Sirve para controlar errores. Debe incluir un commit y un rollbach, Permite asegurar una serie de operaciones críticas sobre la BD. Describe una operación critica. 4- P1 La palabra reservada OLD: Es muy útil en consultas. Permite guardar datos borrados. Se usa en triggers, especialmente para inserciones. Permite referirnos a campos que van a modificarse. 5- P1 Un evento: Ocurre a una hora dada. Ocurre con cierta frecuencia. Se registra en cada consulta. Es lo que ocurre cada vez que un usuario accede al servidor. 6- P2 E2 U4 Crear un procedimiento sobre la base de datos Sakila que nos muestre el número (utilizando la
función del ejercicio anterior) y el nombre de las películas que empiezan por … (Nombre de la
película) que le pasamos por parámetro.
*-¿Cual de los siguientes códigos podemos utilizar para resolver la parte del ejercicio "el nombre de las películas que empiezan por … "? SELECT fNumPeliculas(pNombrePeliABuscar); SELECT film.title
FROM sakila.film
WHERE film.title LIKE CONCAT(pNombrePeliABuscar,"%"); SELECT film.title
FROM sakila.film
WHERE film.title LIKE CONCAT("%", pNombrePeliABuscar, "%"); CALL fNumPeliculas(pNombrePeliABuscar);. 7- P2 E2 U4 Crear un procedimiento sobre la base de datos Sakila que nos muestre el número (utilizando la
función del ejercicio anterior) y el nombre de las películas que empiezan por … (Nombre de la
película) que le pasamos por parámetro.
*-¿Cual de los siguientes códigos podemos utilizar para resolver la parte del ejercicio "el número (utilizando la función del ejercicio anterior) que empiezan por … "? DECLARE iNumPelis INT DEFAULT 0;
SELECT COUNT(*) INTO iNumPelis
FROM sakila.film
WHERE film.title
LIKE CONCAT(pNombrePeliABuscar,"%");
RETURN iNumPelis SELECT fNumPeliculas(pNombrePeliABuscar); SELECT COUNT(*) INTO iNumPelis
FROM sakila.film
WHERE film.title
LIKE CONCAT(pNombrePeliABuscar,"%"); CALL fNumPeliculas(pNombrePeliABuscar);. 8- P2 E6 U4 Crear un procedimiento que borre todas las tablas de la base de datos World (Ver el modelo E/R
en la práctica de vistas).
*-¿Cual de los siguientes códigos podemos utilizar para resolver este ejercicio? DROP TABLE IF EXISTS country;
DROP TABLE IF EXISTS city;
DROP TABLE IF EXISTS countrylanguage; DROP TABLE IF EXISTS city;
DROP TABLE IF EXISTS country;
DROP TABLE IF EXISTS countrylanguage; DROP TABLE IF EXISTS city;
DROP TABLE IF EXISTS countrylanguage;
DROP TABLE IF EXISTS country; Todas son correctas. 9- P2 E7 U4 Crear una vista de la base de datos World que nos muestre los idiomas que se hablan en aquellos
países cuya esperanza de vida está entre los 50 y 65 años. (Columnas: País, Esperanza de vida,
Idioma).
*- ¿Cual de las siguientes respuestas es correcta? CREATE OR REPLACE VIEW idiomas_paise_con_esperanza_vidad_entre_50_y_60 AS
SELECT country.Name, country.LifeExpectancy, CountryLanguage.Language
FROM country
INNER JOIN countrylanguage ON country.Code=CountryLanguage.CountryCode
WHERE country.LifeExpectancy <= 60; CREATE OR REPLACE VIEW idiomas_paise_con_esperanza_vidad_entre_50_y_60 AS
SELECT country.Name, country.LifeExpectancy, CountryLanguage.Language
FROM country
INNER JOIN city ON country.Code=CountryLanguage.CountryCode
WHERE country.LifeExpectancy BETWEEN 50 AND 60; CREATE OR REPLACE VIEW idiomas_paise_con_esperanza_vidad_entre_50_y_60 AS
SELECT country.Name, country.LifeExpectancy, CountryLanguage.Language
FROM country
INNER JOIN countrylanguage ON country.Code=CountryLanguage.CountryCode
WHERE country.LifeExpectancy BETWEEN 50 AND 60; CREATE OR REPLACE VIEW idiomas_paise_con_esperanza_vidad_entre_50_y_60 AS
SELECT country.Name, country.LifeExpectancy, CountryLanguage.Language
FROM country
INNER JOIN countrylanguage ON country.Code=CountryLanguage.CountryCode
WHERE country.LifeExpectancy BETWEEN 150 AND 160;. 10- P2 E4 U4 Crea un campo DíaEntrega en la tabla rental y crea un procedimiento que rellene dicho campo
con el día de la semana (Lunes, Martes, Miércoles, …) en el que se tiene que entregar la película.
*-¿Cual de los siguientes códigos podemos utilizar para resolver este ejercicio? OPEN cAlquiler;
FETCH cAlquiler INTO viRentalId, vfReturnDate;
WHILE NOT bFin DO
IF vfReturnDate IS NOT NULL THEN
sDiaSem=WEEKDAY(vfReturnDate)
END IF;
UPDATE sakila.rental SET DiaEntrega = sDiaSem WHERE rental_id = viRentalId;
FETCH cAlquiler INTO viRentalId, vfReturnDate;
END WHILE;
CLOSE cAlquiler; OPEN cAlquiler;
WHILE NOT bFin DO
IF vfReturnDate IS NOT NULL THEN
CASE WEEKDAY(vfReturnDate) + 1
WHEN 0 THEN SET sDiaSem='Lunes';
WHEN 1 THEN SET sDiaSem='Martes';
WHEN 2 THEN SET sDiaSem='Miercoles';
WHEN 3 THEN SET sDiaSem='Jueves';
WHEN 4 THEN SET sDiaSem='Viernes';
WHEN 5 THEN SET sDiaSem='Sabado';
WHEN 6 THEN SET sDiaSem='Domingo';
END CASE;
END IF;
UPDATE sakila.rental SET DiaEntrega = sDiaSem WHERE rental_id = viRentalId;
END WHILE;
CLOSE cAlquiler; Ninguna es correcta OPEN cAlquiler;
FETCH cAlquiler INTO viRentalId, vfReturnDate;
WHILE NOT bFin DO
IF vfReturnDate IS NOT NULL THEN
CASE WEEKDAY(vfReturnDate)
WHEN 0 THEN SET sDiaSem='Lunes';
WHEN 1 THEN SET sDiaSem='Martes';
WHEN 2 THEN SET sDiaSem='Miercoles';
WHEN 3 THEN SET sDiaSem='Jueves';
WHEN 4 THEN SET sDiaSem='Viernes';
WHEN 5 THEN SET sDiaSem='Sabado';
WHEN 6 THEN SET sDiaSem='Domingo';
END CASE;
END IF;
UPDATE sakila.rental SET DiaEntrega = sDiaSem WHERE rental_id = viRentalId;
FETCH cAlquiler INTO viRentalId, vfReturnDate;
END WHILE;
CLOSE cAlquiler;. 11- P2 E3 U4 Crear un procedimiento sobre de la base de datos Sakila que aumente en una semana la fecha de
entrega de la película alquilada (tabla rental) y que el precio del alquiler aumente en 0,25€ (tabla
payment).
*- ¿Cual de los siguientes códigos podemos utilizar para resolver este ejercicio? SET rental.return_date = payment.amount + 0.5;
SET payment.amount = DATE_ADD(rental.return_date, INTERVAL 7 DAY); UPDATE sakila.rental
SET rental.return_date = DATE_ADD(rental.return_date, INTERVAL 7 DAY);
UPDATE sakila.payment
SET payment.amount = payment.amount + 0.5; SET rental.return_date = DATE_ADD(rental.return_date, INTERVAL 7 DAY);
SET payment.amount = payment.amount + 0.5; UPDATE sakila.rental
SET rental.return_date = payment.amount + 0.5;
UPDATE sakila.payment
SET payment.amount = DATE_ADD(rental.return_date, INTERVAL 7 DAY);. 12- P2 E3 U4 Crear una vista de la base de datos World que nos muestre el número de lenguas oficiales que se
hablan en cada país y su capital (Columnas: País, Capital, Nº de lenguas oficiales).
*-¿Cual de las siguientes respuestas es correcta? CREATE OR REPLACE VIEW num_idioma_por_pais AS
SELECT country.Name, country.Capital, COUNT(countrylanguage.Language) AS NumIdiomas
FROM country
INNER JOIN countrylanguage ON country.Code=CountryLanguage.CountryCode; CREATE OR REPLACE VIEW num_idioma_por_pais AS
SELECT country.Name, country.Capital, COUNT(countrylanguage.Language) AS NumIdiomas
FROM country
INNER JOIN countrylanguage ON country.Code=CountryLanguage.CountryCode
GROUP BY country.Code; CREATE OR REPLACE VIEW num_idioma_por_pais AS
SELECT country.Name, country.Capital, COUNT(countrylanguage.Language) AS NumIdiomas
FROM country
GROUP BY country.Code; CREATE OR REPLACE VIEW num_idioma_por_pais AS
SELECT country.Name, country.Capital, countrylanguage.Language
FROM country
INNER JOIN countrylanguage ON country.Code=CountryLanguage.CountryCode
GROUP BY country.Code;. 13- P2 E5 U4 Crea una tabla ControlPelisGratis en la base de datos Sakila con los campos customer_id y
num_alquiler_peli_gratis y peli_gratis, crear un procedimiento que recoja como parámetros
inventory_id, customer_id y staff_if permita realizar un alquiler de película (tablas rental y
payment), teniendo en cuenta que:
− La fecha de alquiler (rental_date) es la del día actual.
ASIR
Ejercicios recomendados ASGBD
UT 4. Automatización de tareas. Construcción de guiones de administración
Ejercicios recomendados para la UT 4. Automatización de tareas. Construcción de guiones de administración 2
− El día de entrega (return_date) es dos días después de la fecha de alquiler siempre y cuando
no sea domingo, en tal caso será un día más.
− Los campos last_update se rellenan con la fecha y hora actual del servidor.
− Cada alquiler debe aumentar en uno el campo num_alquiler_peli_gratis del cliente que alquila
(customer_id), cuando dicho campo llegue a 10 debemos poner el campo peli_gratis a
verdadero y num_alquiler_peli_gratis debe volver a 0.
− El precio (amount) serán de 1,50 excepto los miércoles que serán de 1 y los viernes de 1,75 o
sí tiene una película gratis que no asigna como 0 y el campo peli_gratis vuelve a ser falso.
*-¿Cual es la manera correcta de ejecutar el procedimiento creado en este ejercicio? Todas son correctas SELECT pNuevoAlquiler(250, 185, 1); CALL pNuevoAlquiler(250, 185, 1); pNuevoAlquiler(250, 185, 1);. 14- P2 E6 U4 Crear una vista de la base de datos World que nos muestre de cada continente, la superficie total
y la media de GNP (Producto Nacional Bruto). (Columnas: Continente, Superficie Total, Media
GNP).
*-¿Cual de las siguientes respuestas es correcta? CREATE OR REPLACE VIEW datos_continentes AS
SELECT Continent, SUM(SurfaceArea) AS SupeficieTotal, avg(GNP) AS MediaGNP
FROM country; CREATE OR REPLACE VIEW datos_continentes AS
SELECT Continent, SUM(SurfaceArea) AS SupeficieTotal, avg(GNP) AS MediaGNP
FROM country
GROUP BY Continent; CREATE OR REPLACE VIEW datos_continentes AS
SELECT Continent, SUM(SurfaceArea) AS SupeficieTotal, avg(GNP) AS MediaGNP
FROM country
GROUP BY City; CREATE OR REPLACE VIEW datos_continentes AS
SELECT Continent, avg(SurfaceArea) AS SupeficieTotal, SUM(GNP) AS MediaGNP
FROM country
GROUP BY Continent;. 15- P2 E5 U4Crea una tabla ControlPelisGratis en la base de datos Sakila con los campos customer_id y
num_alquiler_peli_gratis y peli_gratis, crear un procedimiento que recoja como parámetros
inventory_id, customer_id y staff_if permita realizar un alquiler de película (tablas rental y
payment), teniendo en cuenta que:
− La fecha de alquiler (rental_date) es la del día actual.
ASIR
Ejercicios recomendados ASGBD
UT 4. Automatización de tareas. Construcción de guiones de administración
Ejercicios recomendados para la UT 4. Automatización de tareas. Construcción de guiones de administración 2
− El día de entrega (return_date) es dos días después de la fecha de alquiler siempre y cuando
no sea domingo, en tal caso será un día más.
− Los campos last_update se rellenan con la fecha y hora actual del servidor.
− Cada alquiler debe aumentar en uno el campo num_alquiler_peli_gratis del cliente que alquila
(customer_id), cuando dicho campo llegue a 10 debemos poner el campo peli_gratis a
verdadero y num_alquiler_peli_gratis debe volver a 0.
− El precio (amount) serán de 1,50 excepto los miércoles que serán de 1 y los viernes de 1,75 o
sí tiene una película gratis que no asigna como 0 y el campo peli_gratis vuelve a ser falso.
*-¿Qué parte del ejercicio resuelve el siguiente código?
CREATE PROCEDURE pNuevoAlquiler(pInventoryId MEDIUMINT(8), pCustomerId SMALLINT(5), pStaffId TINYINT(3))
...
SET fDevolver = DATE_ADD(now(), INTERVAL if(WEEKDAY(now())=4, 3, 2) DAY);
CASE WEEKDAY(fDevolver)
WHEN 0 THEN
SET iPrecio=1.75;
SET sDiaSem='Lunes';
WHEN 1 THEN SET sDiaSem='Martes';
WHEN 2 THEN
SET sDiaSem='Miercoles';
WHEN 3 THEN SET sDiaSem='Jueves';
WHEN 4 THEN
SET iPrecio=1;
SET sDiaSem='Viernes';
WHEN 5 THEN SET sDiaSem='Sabado';
WHEN 6 THEN SET sDiaSem='Domingo';
END CASE;
...
END El precio (amount) serán de 1,50 excepto los miércoles que serán de 1 y los viernes de 1,75 o sí tiene una película gratis que no asigna como 0 y el campo peli_gratis vuelve a ser falso. La fecha de alquiler (rental_date) es la del día actual. Cada alquiler debe aumentar en uno el campo num_alquiler_peli_gratis del cliente que alquila (customer_id), cuando dicho campo llegue a 10 debemos poner el campo peli_gratis a verdadero y num_alquiler_peli_gratis debe volver a 0. El día de entrega (return_date) es dos días después de la fecha de alquiler siempre y cuando no sea domingo, en tal caso será un día más.
El precio (amount) serán de 1,50 excepto los miércoles que serán de 1 y los viernes de 1,75. 16- P2 E5 U4 Crea una tabla ControlPelisGratis en la base de datos Sakila con los campos customer_id y
num_alquiler_peli_gratis y peli_gratis, crear un procedimiento que recoja como parámetros
inventory_id, customer_id y staff_if permita realizar un alquiler de película (tablas rental y
payment), teniendo en cuenta que:
− La fecha de alquiler (rental_date) es la del día actual.
ASIR
Ejercicios recomendados ASGBD
UT 4. Automatización de tareas. Construcción de guiones de administración
Ejercicios recomendados para la UT 4. Automatización de tareas. Construcción de guiones de administración 2
− El día de entrega (return_date) es dos días después de la fecha de alquiler siempre y cuando
no sea domingo, en tal caso será un día más.
− Los campos last_update se rellenan con la fecha y hora actual del servidor.
− Cada alquiler debe aumentar en uno el campo num_alquiler_peli_gratis del cliente que alquila
(customer_id), cuando dicho campo llegue a 10 debemos poner el campo peli_gratis a
verdadero y num_alquiler_peli_gratis debe volver a 0.
− El precio (amount) serán de 1,50 excepto los miércoles que serán de 1 y los viernes de 1,75 o
sí tiene una película gratis que no asigna como 0 y el campo peli_gratis vuelve a ser falso.
*- ¿Qué parte del ejercicio resuelve el siguiente código?
CREATE PROCEDURE pNuevoAlquiler(pInventoryId MEDIUMINT(8), pCustomerId SMALLINT(5), pStaffId TINYINT(3))
...
SELECT customer_id, num_alquiler_peli_gratis, peli_gratis
INTO iCliente, nPelis, bGratis
FROM ControlPelisGratis
WHERE customer_id = pCustomerId;
IF iCliente = pCustomerId THEN -- El cliente Existe en la tabla ControlPelisGratis
IF bGratis THEN
SET iPrecio=0;
SET nPelis=0;
SET bGratis=FALSE;
ELSE
SET nPelis = nPelis + 1;
IF nPelis = 10 THEN
SET bGratis = TRUE;
END IF;
END IF;
ELSE -- El cliente NO existe en la tabla ControlPelisGratis
SET nPelis=1;
SET bGratis=FALSE;
END IF;
...
END El día de entrega (return_date) es dos días después de la fecha de alquiler siempre y cuando no sea domingo, en tal caso será un día más. Cada alquiler debe aumentar en uno el campo num_alquiler_peli_gratis del cliente que alquila (customer_id), cuando dicho campo llegue a 10 debemos poner el campo peli_gratis a verdadero.
El precio (amount) serán 0 sí tiene una película gratis, el campo peli_gratis vuelve a ser falso y el campo num_alquiler_peli_gratis vuelve a empezar de 0. El precio (amount) serán de 1,50 excepto los miércoles que serán de 1 y los viernes de 1,75 o sí tiene una película gratis que no asigna como 0 y el campo peli_gratis vuelve a ser falso. La fecha de alquiler (rental_date) es la del día actual. 17- P2 E1 U4Crear una vista de la base de datos World que nos muestre número de distritos que tenemos
registras por cada país (Columnas: País, Nº de distritos).
*-¿Cual de las siguientes respuestas es correcta? CREATE OR REPLACE VIEW num_distritos_por_pais AS
SELECT country.Name, COUNT(city.District) AS NumDistritos
FROM city
INNER JOIN country ON city.CountryCode=country.Code
GROUP BY city.CountryCode; CREATE OR REPLACE VIEW num_distritos_por_pais AS
SELECT country.Name, COUNT(city.District) AS NumDistritos
FROM city
GROUP BY city.CountryCode; CREATE OR REPLACE VIEW num_distritos_por_pais AS
SELECT country.Name, COUNT(city.District) AS NumDistritos
FROM country
INNER JOIN countrylanguage ON city.CountryCode=country.Code
GROUP BY city.CountryCode; CREATE OR REPLACE VIEW num_distritos_por_pais AS
SELECT country.Name, city.District AS NumDistritos
FROM city
INNER JOIN country ON city.CountryCode=country.Code
GROUP BY city.CountryCode;. 18- P2 E4 U4 Crea un campo DíaEntrega en la tabla rental y crea un procedimiento que rellene dicho campo
con el día de la semana (Lunes, Martes, Miércoles, …) en el que se tiene que entregar la película.
*-¿Cual de los siguientes códigos podemos utilizar para recorrer la tabla en este ejercicio? DECLARE cAlquiler CURSOR FOR
SELECT rental_id, return_date FROM sakila.rental;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET bFin = TRUE;
OPEN cAlquiler;
[RecorrerRental:]LOOP
FETCH cAlquiler INTO viRentalId, vfReturnDate;
IF bFin THEN
LEAVE;
END IF;
...
END WHILE;
CLOSE cAlquiler; Las dos formas son correctas Ninguna de las dos formas es correcta DECLARE cAlquiler CURSOR FOR
SELECT rental_id, return_date FROM sakila.rental;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET bFin = TRUE;
OPEN cAlquiler;
FETCH cAlquiler INTO viRentalId, vfReturnDate;
WHILE NOT bFin DO
...
FETCH cAlquiler INTO viRentalId, vfReturnDate;
END WHILE;
CLOSE cAlquiler;. 19- P2 E2 U4 Crear una vista de la base de datos World que nos muestre las lenguas que se hablan en cada
país y si son oficiales o no (Columnas: País, Lengua, ¿Oficial?)).
*-¿Cual de las siguientes respuestas es correcta? CREATE OR REPLACE VIEW idioma_por_pais AS
SELECT country.Name, countrylanguage.Language, countrylanguage.IsOfficial
FROM country
GROUP BY CountryLanguage.CountryCode; CREATE OR REPLACE VIEW idioma_por_pais AS
SELECT country.Name, countrylanguage.Language, countrylanguage.IsOfficial
FROM city
INNER JOIN countrylanguage ON country.Code=CountryLanguage.CountryCode; CREATE OR REPLACE VIEW idioma_por_pais AS
SELECT country.Name, countrylanguage.Language, countrylanguage.IsOfficial
FROM country; CREATE OR REPLACE VIEW idioma_por_pais AS
SELECT country.Name, countrylanguage.Language, countrylanguage.IsOfficial
FROM country
INNER JOIN countrylanguage ON country.Code=CountryLanguage.CountryCode;. 20- P2 E1 U4Crear una función sobre la base de datos Sakila que devuelva el número de películas que
empiezan por … (Nombre de la película) que le pasamos por parámetro.
*-¿Cual de las siguientes es la declaración es correcta para este ejercicio? CREATE PROCEDURE fNumPeliculas(pNombrePeliABuscar VARCHAR(255))
...
END CREATE FUNCTION fNumPeliculas()
RETURNS VARCHAR(255)
...
RETURN iNumPelis;
END CREATE PROCEDURE fNumPeliculas()
...
END CREATE FUNCTION fNumPeliculas(pNombrePeliABuscar VARCHAR(255))
RETURNS INT
...
RETURN iNumPelis;
END. 21- P2 E8 U4 Crear una vista de la base de datos World que nos muestre todos los datos de las tres tablas sin
que se repitan columnas.
*-¿Cual de las siguientes respuestas es correcta? CREATE OR REPLACE VIEW todo_world AS
SELECT country.*,
city.ID, city.Name, city.District, city.Population,
CountryLanguage.Language, CountryLanguage.IsOfficial, CountryLanguage.Percentage
FROM city
INNER JOIN country ON city.CountryCode=country.Code; USE world;
CREATE OR REPLACE VIEW todo_world AS
SELECT country.*,
city.ID, city.Name AS CityName, city.District, city.Population AS CityPopulation,
CountryLanguage.Language, CountryLanguage.IsOfficial, CountryLanguage.Percentage
FROM city
INNER JOIN country ON city.CountryCode=country.Code
INNER JOIN countrylanguage ON country.Code=CountryLanguage.CountryCode; CREATE OR REPLACE VIEW todo_world AS
SELECT country.*,
city.ID, city.Name, city.District, city.Population,
CountryLanguage.Language, CountryLanguage.IsOfficial, CountryLanguage.Percentage
FROM city; CREATE OR REPLACE VIEW todo_world AS
SELECT country.*,
city.ID, city.Name, city.District, city.Population,
CountryLanguage.Language, CountryLanguage.IsOfficial, CountryLanguage.Percentage
FROM city
INNER JOIN countrylanguage ON country.Code=CountryLanguage.CountryCode;. 22- P2 E1 U4 Crear una función sobre la base de datos Sakila que devuelva el número de películas que
empiezan por … (Nombre de la película) que le pasamos por parámetro.
*-¿Cual de los siguientes códigos podemos utilizar para resolver este ejercicio? SELECT * INTO iNumPelis
FROM sakila.film
WHERE film.title
LIKE CONCAT(pNombrePeliABuscar,"%"); DECLARE iNumPelis INT DEFAULT 0;
SELECT COUNT(*) INTO iNumPelis
FROM sakila.film
WHERE film.title
LIKE CONCAT(pNombrePeliABuscar, "%");
RETURN iNumPelis; DECLARE iNumPelis INT DEFAULT 0;
SELECT COUNT(*) INTO iNumPelis
FROM sakila.film
WHERE film.title
LIKE CONCAT("%", pNombrePeliABuscar, "%");
RETURN iNumPelis; SELECT COUNT(*) INTO iNumPelis
FROM world.film
WHERE film.title
LIKE CONCAT(pNombrePeliABuscar,"%");. 25-P2 E2 U4 . Crear un procedimiento sobre la base de datos Sakila que nos muestre el número (utilizando la
función del ejercicio anterior) y el nombre de las películas que empiezan por … (Nombre de la
película) que le pasamos por parámetro.
*-¿Cual de las siguientes declaraciones podemos utilizar para resolver este ejercicio? CREATE PROCEDURE pBuscarPeliculas()
...
END// CREATE PROCEDURE pBuscarPeliculas(pNombrePeliABuscar VARCHAR(255))
...
END// CREATE FUNCTION pBuscarPeliculas(pNombrePeliABuscar VARCHAR(255))
RETURNS INT
...
RETURN iNumPelis
END// CREATE FUNCTION pBuscarPeliculas()
RETURNS INT
...
RETURN iNumPelis
END//. 24-P2 E4 U4 Crear una vista de la base de datos World que nos muestre el número de lenguas NO oficiales
que se hablan en cada país (Columnas: País, Nº de lenguas NO oficiales).
*-¿Cual de las siguientes respuestas es correcta? CREATE OR REPLACE VIEW num_idioma_no_oficiales_por_pais AS
SELECT country.Name, COUNT(countrylanguage.Language) AS NumLeguasNoOficiales
FROM country
INNER JOIN countrylanguage ON country.Code=CountryLanguage.CountryCode
WHERE NOT countrylanguage.IsOfficial = TRUE; CREATE OR REPLACE VIEW num_idioma_no_oficiales_por_pais AS
SELECT country.Name, COUNT(countrylanguage.Language) AS NumLeguasNoOficiales
FROM country
INNER JOIN countrylanguage ON country.Code=CountryLanguage.CountryCode; CREATE OR REPLACE VIEW num_idioma_no_oficiales_por_pais AS
SELECT country.Name, COUNT(countrylanguage.Language) AS NumLeguasNoOficiales
FROM country
WHERE NOT countrylanguage.IsOfficial = TRUE
GROUP BY country.Name; CREATE OR REPLACE VIEW num_idioma_no_oficiales_por_pais AS
SELECT country.Name, COUNT(countrylanguage.Language) AS NumLeguasNoOficiales
FROM country
INNER JOIN countrylanguage ON country.Code=CountryLanguage.CountryCode
WHERE NOT countrylanguage.IsOfficial = TRUE
GROUP BY country.Name;. 25- P2 E5 U4 Crear una vista de la base de datos World que nos muestre todos los datos (de la tabla country)
de cada país que es independiente antes de 1900.
*-¿Cual de las siguientes respuestas es correcta? CREATE OR REPLACE VIEW paises_independiente_antes_del_1900 AS
SELECT *
FROM country
INNER JOIN countrylanguage ON country.Code=CountryLanguage.CountryCode
WHERE IndepAño < 1900; CREATE OR REPLACE VIEW paises_independiente_antes_del_1900 AS
SELECT *
FROM country
WHERE AñoIndep < 1900; CREATE OR REPLACE VIEW paises_independiente_antes_del_1900 AS
SELECT *
FROM country
WHERE IndepYear > 1900; CREATE OR REPLACE VIEW paises_independiente_antes_del_1900 AS
SELECT *
FROM country
WHERE IndepYear < 1900;.
|