Sie sind auf Seite 1von 14

Actividad de Aprendizaje 3.

MySQL
1. INSTALAR LA BASE DE DATOS MYSQL 5.0 O SUPERIOR.

2. INSTALAR Y UTILIZAR LA BASE DE DATOS DE EJEMPLO ADJUNTA


LLAMADA “SAKILA‐SCHEMA.SQL

1. SELECCIONAR TODOS LOS ACTORES QUE HAYAN PARTICIPADO


EN UNA PELÍCULA DE COMEDIA (COMEDY).

SELECT first_name AS Nombre, Last_name AS Apellido, name AS Categoria, title AS


PeliculaFROM actor ac, category ca, filmWHERE ca.name = 'Comedy';
2. SABER CUÁNTAS PELÍCULAS, DE QUE CATEGORÍA Y EN QUÉ
IDIOMA HA FILMADO LA ACTRIZ SANDRA KILMER.

SELECT COUNT(*) AS Numero, category.name AS Nombre_Categoria, language.name


AS IdiomaFROM actor ac, category, languageWHERE ac.first_name = 'SANDRA' AND
ac.last_name = 'KILMER';

3. SELECCIONAR EL NOMBRE DE LA PELÍCULA Y DE LOS ACTORES


DE TODAS AQUELLAS QUE SEAN FILMADAS EN IDIOMA
ITALIANO.
SELECT film.title AS Pelicula, actor.first_name AS Nombre, actor.Last_name AS Apellido,
name ASIdiomaFROM film, actor, language idWHERE id.name = 'Italian';

4. SELECCIONAR LA DIRECCIÓN COMPLETA DE LOS


COMPRADORES QUE SEAN DE MÉXICO Y USA.

SELECT address AS Direccion, country As paisFROM address ad, Country co


WHERE co.country ‘Mexico’ OR co.country 'United States';
5. SELECCIONAR LA DIRECCIÓN COMPLETA DEL STAFF QUE SEAN
DE USA.

SELECT address AS Dirección


FROM address ad, Country co
WHERE co.country = 'United States';

6. QUIÉN ES EL RESPONSABLE DE CADA UNA DE LAS TIENDAS Y


SU DIRECCIÓN, JUNTO CON LA DIRECCIÓN DE LA TIENDA.

SELECT first_name AS Nombre, last_name AS Apellido, address AS


Direccion_Encargado, address
AS Direccion_Tienda
FROM staff, store, address;
7. CUÁNTAS RENTAS SE REALIZARON EN CADA UNO DE LOS
MESES DEL AÑO 2005 Y 2006.

SELECT COUNT(*) AS Total_Rentas


FROM rental r
WHERE year(rental_date) in (2005, 2006);
8. QUÉ RESPONSABLE DEL STAFF REALIZÓ MÁS RENTAS Y CUÁL
FUE EL INGRESO.

SELECT CONCAT(c.city, _utf8',', cy.country) AS store


, CONCAT(m.first_name, _utf8' ', m.last_name) AS manager
, SUM(p.amount) AS total_sales
FROM payment AS p
INNER JOIN rental AS r ON p.rental_id = r.rental_id
INNER JOIN inventory AS i ON r.inventory_id = i.inventory_id
INNER JOIN store AS s ON i.store_id = s.store_id
INNER JOIN address AS a ON s.address_id = a.address_id
INNER JOIN city AS c ON a.city_id = c.city_id
INNER JOIN country AS cy ON c.country_id = cy.country_id
INNER JOIN staff AS m ON s.manager_staff_id = m.staff_id
GROUP BY s.store_id
ORDER BY cy.country, c.city

9. QUIÉN FUE LA PERSONA QUE REALIZO MÁS RENTAS DE UNA


PELÍCULA EN FRANCÉS.
SELECT first_name AS Nombre,count(*)
FROM staff, rental, language la
WHERE la .name='FRENCH’;

10. QUÉ ACTORES SON LOS QUE PREFIEREN LAS PERSONAS QUE
VIVEN EN MÉXICO.

SELECT first_name AS Nombre, Last_name AS Apellido


FROM actor ac, country co
where co.country ='Mexico'
PROCESOS.

1. ¿CUÁLES SERÍAN LOS CAMBIOS NECESARIOS PARA AGREGAR


UNA DIRECCIÓN A LOS ACTORES?
ALTER table actor ADD
address varchar(50);
Agregar a la tabla actor el atributo address (dirección)
2. ¿QUÉ NECESITARÍAS HACER PARA SABER DE QUÉ PAÍS ES
CADA PELÍCULA?

Una nueva tabla llamada country_film con una llave llamada country_film_id, y el campo
country, CREATE TABLE cuntry_film (
country_film_id smallint unsigned default null auto_increment,
country varchar(50) not null,
PRIMARY KEY (country_film_id));

3. AGREGAR UNA TABLA PARA GUARDAR LOS DATOS DEL


DIRECTOR DE LA PELÍCULA.

Como ya se creó una tabla para saber de qué país es cada película, se le agrega un
campo que se llame dirección
/*ALTER table cuntry_film
ADD address varchar(50) not null;*/
4. CREAR UNA VISTA QUE NOS INDIQUE CUÁNTAS PELÍCULAS HAY
EN CADA IDIOMA.

SELECT film.title AS Pelicula, actor.first_name AS Nombre, actor.Last_name, name AS Idioma


FROM film, actor, language id
WHERE id.name = name
5. ¿QUÉ PASA SI BORRAMOS UNA TIENDA?
Afectaría a la entidad (personal) staff ya que hay una relación con el código Id como clave
primaria Afectaría a la entidad Alquiler (rental) ya que tienda (store) aparece como atributo
foráneo.

La entidad cliente (customer) afectaría ya hay una relación entre la entidad tienda (store) y
cliente al pasar la entidad tienda a la entidad cliente como clave primaria.

La entidad cliente (customer) afectaría a dirección (address) ya que hay una relación con
el código Id como clave primaria.

Afectaría a inventario (Inventory) ya que hay una relación del código Id como primaria.

Prácticamente se afectarían toda la relación entre las entidades de la base de datos


porque al borrar tienda (store) se perdería la relación con algunas entidades y no
tendríamos información de la tienda (stores) y sus atributos.

Das könnte Ihnen auch gefallen