Practica6

14
Instituto Polit´ ecnico Nacional Escuela Superior de Computo Bases de Datos Pr´ actica 6 Alumno: Jos´ e Ricardo P´ erez P´ erez Profesora: M. en C. Idalia Maldonado Castillo Grupo: 2CV7 10 de abril del 2013

Transcript of Practica6

Instituto Politecnico Nacional

Escuela Superior de Computo

Bases de Datos

Practica 6

Alumno:

Jose Ricardo Perez Perez

Profesora:

M. en C. Idalia Maldonado Castillo

Grupo:

2CV7

10 de abril del 2013

Indice.

1 Introduccion Pg.3

2 Realizacion de la practica.4

3 Conclusiones Pg.14

2

Introduccion.

El uso de los Join en las bases de datos nos permite relacionar informacionde cada una de nuestras tablas a manera de que sea mas eficiente la lectura deestas dependiendo de la informacion en particular que requieramos, aunqueen algunos casos nos parezca confuso el uso del INNER JOIN, LEFT JOINo RIGHT JOIN cada uno es independiente y tiene una funcion caracterısticaaunque el principio sea el mismo. Las transacciones de informacion pormedio de los JOIN nos da una mejor eficiencia en la consulta de datos yen las organizacion dependiendo de la informacion que requieramos claro,utilizando la sintaxis correcta.

3

Realizacion de la practica 6.

En esta Practica se trabajara con la base de datos de COSTCO de lapractica 5.

El objetivo de esta practica es resolver las consultas por medio de los difer-entes comandos join.Realizar los siguientes puntos usando comandos de SQL.

1)Agregar 2 nuevos socios con los siguientes nombres y que sean miem-bros de la sucursal Los Cabos y Morelia respectivamente.

Carmen Blanco AcostaAnabel Osorio

Para agregar los nuevos socios utilizaremos las consulta:

INSERT INTO tabla1(columna1,columna2,...,columnan) VALUES(valor1,valor2,...,valorn);

4

2)Agregar 2 sucursales mas:

• Sucursal:ACAPULCO

• Direccion: AV. SOLIDARIDAD 34,Col. GRANJAS DEL MARQUEZACAPULCO,GRO. C.P.39907

• Estado: GUERRERO

• Telefono:01(744)434-03-00

• Fecha Apertura:10-sep-94

• Sucursal:CANCUN

• Direccion: Col.BENITO JUAREZ CANCUN,QUINTANA ROOC.P.77500

• Estado: QUINTANA ROO

• Telefono:01(998)881-02-50

• Fecha Apertura:23-sep-99

Utlizaremos la consulta:

INSERT INTO tabla1(columna1,columna2,...,columnan) VALUES(valor1,valor2,...,valorn);

5

3)Hacer el CROSS JOIN de las relaciones GERENTE y SUCURSALUtlizaremos la consulta:

SELECT * FROM TABLA1 CROSS JOIN TABLA2;

6

4)Mostrar toda la informacion de los productos con su respectivo provee-dor usando join.Utlizaremos la consulta:

SELECT * FROM TABLA1 ALIAS1 INNER JOIN TABLA2 ALIAS2 ONALIAS1.Columnax = ALIAS2.Columnax;

5)Muestre el Nombre del gerente y la sucursal del que es gerente mostrandolos atributos como Gerente y Sucursal.

SELECT alias1.Columna1 AS TABLA1 , alias2.columna2 AS TABLA2FROM TABLA1 alias1 RIGHT JOIN TABLA2 alias2 ON

alias1.columnaencomun=alias2.columnaencomun;

7

6)Mostrar todos los proveedores y los productos que tienen asociados us-ando inner join.

SELECT alias1.Columna1 AS TABLA1 , alias2.columna2 AS TABLA2FROM TABLA1 alias1 INNER JOIN TABLA2 alias2 ON

alias1.columnaencomun=alias2.columnaencomun;

8

7)Mostrar todos los Proveedores con sus respectivos productos,aunque notengan productos asociados,usa left join.

SELECT alias1.Columna1 AS TABLA1 , alias2.columna2 AS TABLA2FROM TABLA1 alias1 LEFT JOIN TABLA2 alias2 ON

alias1.columnaencomun=alias2.columnaencomun;

8)Mostrar todas las sucursales con sus respectivos gerentes,aunque no ten-gan gerentes asociados,usa RIGHT JOIN.

SELECT alias1.Columna1 AS TABLA1 , alias2.columna2 AS TABLA2FROM TABLA1 alias1 RIGHT JOIN TABLA2 alias2 ON

alias1.columnaencomun=alias2.columnaencomun;

9

9)Mostrar todos los proveedores y sus productos,aunque no tengan pro-ductos asociados usa OUTER JOIN.

SELECT * FROM TABLA1 LEFT OUTER JOIN TABLA2 ONTABLA1.columnaencomun=TABLA2.columnaencomun;

10

10)Hacer el join de los soscios de cada sucursal mostrando los datos delos socios y de la sucursal.

SELECT * FROM TABLA1 INNER JOIN TABLAIn ONTABLA1.columnaencomun1=TABLAIn.columnaencomun1 INNER JOINTABLA2 ON TABLAIn.columnaencomun2 = TABLA2.columnaencomun2;

11)Hacer el join de los socios de cada sucursal mostrando solo el nombrede la sucursal como SUCURSAL y los socios como SOCIO.

SELECT alias1.Columna1 AS TABLA1,alias2.Columna2 AS TABLA2FROM TABLA1 alias1 JOIN TABLAIn alias3 ON alias1.columnaencomun

= alias3.columnaencomun JOIN TABLA2 alias2 ONalias2.columnaencomun = alias3.columnaenconum ;

11

12)Mostrar el nombe de los gerentes que tambien son socios usando IN-TERSECT.

SELECT columna1 FROM TABLA1 INTERSECT SELECT Columna2FROM TABLA2;

12

13)Renombrar el atributo direccion de la tabla sucursal a DireccionSucur-sal.

EXEC sp rename ’TABLA1.columnadeseada’,’nuevonombre’,’COLUMN’;

14)Renombrar la tabla SUCURSAL A SUCURSAL COSTCO.

EXEC sp rename ’TABLA’,’nuevonombretabla’;

13

Conclusiones.

En Conclusion el uso de los Join nos permite organizar de manera es-pecıfica la informacion de nuestras tablas, aunque a veces nos sea un pococonfuso el uso de los alias en las consultas no es muy importante, mas enlos casos cuando tenemos una relacion de dos llaves primarias con una llaveforanea y tendremos que utilizar n joins dependiendo del recorrido de tablasque tengamos que hacer. Aunque fue un poco confusa esa parte fue intere-sante ya que la sintaxis te dice absolutamente la solucion de una maneraexplicita si es que la lees con atencion.

14