Está en la página 1de 13

Actividad de aprendizaje 3.

MySQL
I.- 1. Instalar la base de datos Mysql 6.3 o superior.

Fig. 1. Programa instalado en mi equipo.


Liga de descarga de los programas instalados.
http://dev.mysql.com/downloads/installer/6.3.html
En mi caso fue necesario para poder instalar Mysql .NET Framework:
Microsoft .NET Framework 4 Client Profile (Web Installer)
http://www.microsoft.com/en-us/download/confirmation.aspx?id=17113
II.- Instalar y utilizar la base de datos de ejemplo adjunta llamada sakilaschema.sql

Fig. 2. Archivo adjunto en Mysql

https://www.youtube.com/watch?v=U-aA3pZfaiw
A partir de la instalacin de la base de datos Mysql realiza lo siguiente:
Consultas.
Consultas: muestra correctamente las 10 operaciones solicitadas en archivo de
apoyo con su respectivo cdigo de la consulta que compruebe el correcto
funcionamiento de las operaciones realizadas.
1. Seleccionar todos los actores que hayan participado en una pelcula 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';

Fig.3.- Comprobacin del funcionamiento de la operacin realizada.

2. Saber cuntas pelculas, de que categora 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';

Fig. 4. Comprobacin del funcionamiento de la operacin realizada.


3. Seleccionar el nombre de la pelcula 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';

Fig. 5. Comprobacin del funcionamiento de la operacin realizada.

4. Seleccionar la direccin completa de los compradores que sean de Mxico y


USA
SELECT address AS Direccion, country As pais
FROM address ad, Country co
WHERE co.country Mexico OR co.country 'United States';

Fig. 6. Comprobacin del funcionamiento de la operacin realizada.


5. Seleccionar la direccin completa del staff que sean de USA
SELECT address AS Direccin
FROM address ad, Country co
WHERE co.country = 'United States';

Fig. 7. Comprobacin del funcionamiento de la operacin realizada.

6. Quin es el responsable de cada una de las tiendas y su direccin, junto con la


direccin de la tienda.
SELECT first_name AS Nombre, last_name AS Apellido, address AS
Direccion_Encargado, address AS Direccion_Tienda
FROM staff, store, address;

Fig. 8. Comprobacin del funcionamiento de la operacin realizada.


7. Cuntas rentas se realizaron en cada uno de los meses del ao 2005 y 2006
SELECT COUNT(*) AS Total_Rentas
FROM rental r
WHERE year(rental_date) in (2005, 2006);

Fig. 9. Comprobacin del funcionamiento de la operacin realizada.


8. Qu responsable del staff realiz ms rentas y cul 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

Fig. 10. Comprobacin del funcionamiento de la operacin realizada.


9. Quin fue la persona que realizo ms rentas de una pelcula en Francs
SELECT first_name AS Nombre,count(*)
FROM staff, rental, language la
WHERE la .name='FRENCH';

Fig. 11. Comprobacin del funcionamiento de la operacin realizada.

10. Qu actores son los que prefieren las personas que viven en Mxico
SELECT first_name AS Nombre, Last_name AS Apellido
FROM actor ac, country co
where co.country ='Mexico'

Fig. 12. Comprobacin del funcionamiento de la operacin realizada.

Procesos.
1.- Cules seran los cambios necesarios para agregar una direccin a los actores?
ALTER table actor
ADD address varchar(50);

2. Qu necesitaras hacer para saber de qu pas es cada pelcula?


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 pelcula.
Como ya se cre una tabla para saber de qu pas es cada pelcula, se le agrega un
campo que se llame direccin
/*ALTER table cuntry_film
ADD address varchar(50) not null;*/

4. Crear una vista que nos indique cuntas pelculas 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

Fig. 13. Comprobacin del funcionamiento de la operacin realizada.

5. Qu pasa si borramos una tienda?


La entidad cliente (customer) afectara ya hay una relacin entre la entidad tienda
(store) y cliente al pasar la entidad tienda a la entidad cliente como clave primaria.
Afectara a la entidad Alquiler (rental) ya que tienda (store) aparece como atributo
forneo.
Afectara a la entidad (personal) staff ya que hay una relacin con el cdigo Id como
clave primaria
La entidad cliente (customer) afectara a direccin (address) ya que hay una relacin
con el cdigo Id como clave primaria.
Afectara a inventario (Inventory) ya que hay una relacin del cdigo Id como primaria.
De all se observa que prcticamente se afectaran toda la relacin entre las entidades
de la base de datos porque al borrar tienda (store) se perdera la relacin con algunas
entidades y no tendramos informacin de la tienda (stores) y sus atributos.

Fig. 14. Comprobacin del funcionamiento de la operacin realizada.

Procesos: muestra las 5 operaciones solicitadas en el archivo de apoyo con su


respectivo cdigo de la consulta que compruebe el correcto funcionamiento de
las operaciones realizadas.
El archivo Word describe el procedimiento claro y correcto para resolver cada
ejercicio
1. Cules seran los cambios necesarios para agregar una direccin a los
actores?
Agregar a la tabla actor el atributo address (direccion)

Fig. 15 vista de la tabla actor y se agrego el atributo address


2. Qu necesitaras hacer para saber de qu pas es cada pelcula?

Realice una nueva tabla llamada country_film y agregue solo 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) );

Fig. 16 TABLE cuntry_film


3. Agregar una tabla para guardar los datos del director de la pelcula.
/*ALTER table cuntry_film
ADD address varchar(50) not null;*/

Fig. 17. Visualizacin de la tabla creada de Director de Pelcula.

4. Crear una vista que nos indique cuntas pelculas hay en cada idioma.
Primero se realice la operacin para poder darle la indicacin a la mquina para que la
base de datos nos otorgara la vista en Mysql en pantalla.
Operacin realizada.

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

Fig. 18. vista que nos indica cuntas pelculas hay en cada idioma
5. Qu pasa si borramos una tienda?
Se observa que prcticamente se afectaran toda la relacin entre las entidades de la
base de datos porque al borrar tienda (store) se perdera la relacin con algunas
entidades y no tendramos informacin de la tienda (stores) y sus atributos.

Fig. 19. Vista de la eliminacin de la tabla store y sus afectaciones en las dems
tablas..

Bibliografa:
http://dev.mysql.com/downloads/installer/5.6.html
http://www.microsoft.com/en-us/download/confirmation.aspx?id=17113
https://www.youtube.com/watch?v=oNn30HRJPr0
https://www.youtube.com/watch?
v=jrnrHrxNmpk&list=PLx9gPtuzG7IZyYqcKq290SKpgFzimJfAO&index=11
https://www.youtube.com/watch?
v=rzgF2L3qiYA&list=PLx9gPtuzG7IZyYqcKq290SKpgFzimJfAO&index=8