Anda di halaman 1dari 14

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 8.0
que es la actualización más reciente en 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)

2. Saber cuántas películas, de que categoría y en qué idioma ha filmado la Actriz


SANDRA KILMER

3. Seleccionar el nombre de la película y de los actores de todas aquellas que sean


filmadas en idioma Italiano

4. Seleccionar la dirección completa de los compradores que sean de México y USA

5. Seleccionar la dirección completa del staff que sean de USA

6. Quién es el responsable de cada una de las tiendas y su dirección, junto con la


dirección de la tienda.

7. Cuántas rentas se realizaron en cada uno de los meses del año 2005 y 2006

8. Qué responsable del staff realizó más rentas y cuál fue el ingreso

9. Quién fue la persona que realizo más rentas de una película en Francés

10. Qué actores son los que prefieren las personas que viven en México
Procesos.

1. ¿Cuáles serían los cambios necesarios para agregar una dirección a los actores?

2. ¿Qué necesitarías hacer para saber de qué país es cada película?

3. Agregar una tabla para guardar los datos del director de la película.

4. Crear una vista que nos indique cuántas películas hay en cada idioma.

5. ¿Qué pasa si borramos una tienda?

2. DESARROLLO.

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