Actividad de Aprendizaje MySQL1

17
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 “sakila‐schema.sql

description

actividad de aprendizaje

Transcript of Actividad de Aprendizaje MySQL1

Page 1: Actividad de Aprendizaje MySQL1

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 “sakila‐schema.sql

Page 2: Actividad de Aprendizaje MySQL1

Fig. 2. Archivo adjunto en Mysql

https://www.youtube.com/watch?v=U-aA3pZfaiw

A partir de la instalación de la base de datos Mysql realiza lo siguiente:

Consultas.

Consultas: muestra correctamente las 10 operaciones solicitadas en archivo de

apoyo  con su respectivo código de la consulta que compruebe el correcto

funcionamiento de las operaciones realizadas.

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';

Page 3: Actividad de Aprendizaje MySQL1

Fig.3.- Comprobación del funcionamiento de la operación realizada.

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';

Fig. 4. Comprobación del funcionamiento de la operación realizada.

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';

Page 4: Actividad de Aprendizaje MySQL1

Fig. 5. Comprobación del funcionamiento de la operación realizada.

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';

Fig. 6. Comprobación del funcionamiento de la operación realizada.

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';

Page 5: Actividad de Aprendizaje MySQL1

Fig. 7. Comprobación del funcionamiento de la operación realizada.

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;

Fig. 8. Comprobación del funcionamiento de la operación realizada.

Page 6: Actividad de Aprendizaje MySQL1

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);

Fig. 9. Comprobación del funcionamiento de la operación realizada.

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

Page 7: Actividad de Aprendizaje MySQL1

Fig. 10. Comprobación del funcionamiento de la operación realizada.

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';

Fig. 11. Comprobación del funcionamiento de la operación realizada.

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'

Page 8: Actividad de Aprendizaje MySQL1

Fig. 12. Comprobación del funcionamiento de la operación realizada.

Procesos.

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

 ALTER table actor

ADD address varchar(50);

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) );

Page 9: Actividad de Aprendizaje MySQL1

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

Fig. 13. Comprobación del funcionamiento de la operación realizada.

5. ¿Qué pasa si borramos una tienda?

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.

Page 10: Actividad de Aprendizaje MySQL1

Afectaría a la entidad Alquiler (rental) ya que tienda (store) aparece como atributo

foráneo.

Afectaría a la entidad (personal) staff ya que hay una relación con el código Id 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.

De allí se observa que 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.

Fig. 14. Comprobación del funcionamiento de la operación realizada.

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.

El  archivo Word  describe el procedimiento claro y correcto para resolver cada

ejercicio

Page 11: Actividad de Aprendizaje MySQL1

1. ¿Cuáles serían los cambios necesarios para agregar una dirección 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é necesitarías hacer para saber de qué país es cada película?

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 película.

/*ALTER table cuntry_film

ADD address varchar(50) not null;*/

Page 12: Actividad de Aprendizaje MySQL1

Fig. 17. Visualización de la tabla creada de Director de Película.

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

Primero se realice la operación para poder darle la indicación a la máquina para que la

base de datos nos otorgara la vista en Mysql en pantalla.

Operación 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 cuántas películas hay en cada idioma

5. ¿Qué pasa si borramos una tienda?

Page 13: Actividad de Aprendizaje MySQL1

Se observa que 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.

Fig. 19. Vista de la eliminación de la tabla store y sus afectaciones en las demás

tablas..

Bibliografía:

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

Page 14: Actividad de Aprendizaje MySQL1