Está en la página 1de 16

1.

INTRODUCCIÓN:

En esta actividad conoceremos y aplicaremos el lenguaje de la base de datos MySQL,


lo cual nos permitirá crear tablas, modificarlas, solicitar información específica utilizando
lo aprendido en las lecturas de aprendizaje de la unidad, entre otros.

Para llevar a cabo la actividad, es necesario instalar la base de datos MySQL de la


página oficial https://dev.mysql.com, en el apartado de descargas.

Así como descargar la base de datos sakila-schema, subida a la plataforma de la


universidad, que será utilizada durante todo el desarrollo. Tomando en cuenta las
instrucciones que son las siguientes:

Consultas.

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


Pelicula

FROM actor ac, category ca, film

WHERE 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 Idioma

FROM actor ac, category, language

WHERE 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 AS Idioma

FROM film, actor, language id

WHERE 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 pais

FROM 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.

Muestra las 5 operaciones solicitadas en el archivo de apoyo con su respectivo


código de la consulta que compruebe el correcto funcionamiento de las
operaciones realizadas.

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 (direccion)


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.
Bibliografía

Celma Giménez, M. C. (2003). Bases de datos relacionales. Madrid, España: Pearson Educación,
S.A.

EzequieL Rozic, S. (2004). Bases de datos y su aplicación. . Argentina: MP Ediciones S.A.

Johnson, J. (2000). Base de datos. Modelos, lenguajes, diseño. México: Oxford University Press
México, S.A. de C.V.

Silberschatz, A. K. (2006). El modelo relacional en Fundamentos de Bases de Datos. . Madrid,


España: McGraw-HillInteramericana de España, S.A.U.

También podría gustarte