Actividad 6

Diapositivas con la explicación

BD II

a. Insertar registros con valores de otra tabla

(Insert - Select- Join)

b. Actualizar datos con valores de otra tabla

(Update)

c. Actualización en cascada

(Update - Join)

d. Borrar registros consultando otras tablas
(Delete - Join)

e. Borrar registros buscando coincidencia en otras tablas

(Delete - Join)

f. Borrar registros en cascada

(Delete - Join)

Base de datos utilizada:

https://drive.google.com/file/d/1cTK3BqQ2yQ8Ib4Z9Wu9EmXMXTdSUNplM/view?usp=sharing

------------------------------------------------

A.Insertar registros con valores de otra tabla (Insert-Select-Join)

Se crea la entidad relacional: canción, casadisquera

Se crea una tercera entidad para insertar los registros con los valores de una de la entidades anteriores:                                     cantidadcasdisquera

Se ingresan los registros a las dos entidades fuente: canción, casadisquera

Para insertar registros en la tabla cantidadcasadisquera se puede hacer de dos formas:

* insertar los registros uno a uno

*Realizando el insert -select en una misma sentencia

Ejemplo

* Insertar en la entidad cantidadcasadisquera los nombres de la casadisquera con la cantidaddecanciones

Análisis

    *Cual es el nombre de la tabla en la que se van a insertar los datos:  

                   Cantidadcasadisquera

      *Que campo(campos contienen la información solicitada) y de que tabla: 

               Campo:Nombre

                Tabla: casadisquera

       * Condiciones: 

                 N/A

        *Que tablas están involucradas en la consulta y como se relacionan:

               tablas: Canción y casadisquera

              Relación :casadisquera.idcasa_miusic=cancion.idcasa_miusic

        *  Comando: 

                Insert-Select-Join

Sintaxis:

          select c.nombre, count(co.idcasa_miusic) from casadisquera as c left join cancion as co on  c.idcasa_miusic=co.idcasa_miusic group by c.nombre;

Para insertar

         insert into cantidadcasadisquera  select c.nombre, count(co.idcasa_miusic) from casadisquera as c left join cancion as co on c.idcasa_miusic=co.idcasa_miusic group by c.nombre;

B. Actualizar datos con valores de otra tabla (Update)

Siguiendo con el ejemplo de la entidades canción y casadisquera

1.Se pretende alterar la tabla canción para que almacene el nombre de la casa disquera y eliminar la entidad casadisquera

2. Agregar un campo llamado casadisquera en la entidad canción

         Alter table cancion add casadisquera varchar(10);

3. Actualizar los valores para este campo creado en la entidad cancion(casadisquera)

    *Se puede actualizar uno a uno de los registros

    *Realizando la actualización con un Join

Análisis

 *Cual es el nombre de la tabla en la que se van a actualizar los datos y con que información:

      Tabla: Canción

       Información:  cancion.casadisquera = casadisquera.nombre   

*Que campo(campos contienen la información solicitada) y de que tabla:  

       Campo:Nombre

        Tabla: Casadisquera

* Condiciones:

            N/A

*Que tablas están involucradas en la consulta y como se relacionan:

           tablas: Canción y casadisquera

          Relación :casadisquera.idcasa_miusic=cancion.idcasa_miusic

*Comando:

      Update-Join

*Sintaxis

    Update cancion join casadisquera on  cancion.idcasa_miusic=cancion.idcasa_miusic set             cancion.casadisquera=casadisquera.nombre;

Actualización en cascada (Update-Join)

Base datos Utilizada:

https://drive.google.com/drive/folders/1yDEI3JTXqRhgT5MeAbqIsY17gWEMKA20?usp=sharing

Actualizar el código de la casa disquera  por 16

Análisis

*Cual es el nombre de la tabla en la que se van a actualizar los datos y con que información:

          Tabla: Canción y casadisquera

           Información= casadisquera.enlacedisquera ='16',cancion.codigo='16'

*Que campo(campos contienen la información solicitada) y de que tabla: 

        Campo: N/A

        Tabla: N/A

* Condiciones:

        casadisquera.nombre='EMI'

*Que tablas están involucradas en la consulta y como se relacionan:

        tablas: Canción y casadisquera

         Relación :casadisquera.idcasa_miusic=cancion.codigo

*Comando:

        Update-Join

*Sintaxis

Update cancion join casadisquera on cancion.idcasa_miusic=cancion.idcasa_miusic set cancion.casadisquera=casadisquera.nombre;

*Comando

      update cancion as n join casadisquera as c on n.enlacedisquera =c.codigo set n.enlacedisquera ='16',c.codigo='16' whre c.nombre='EMI';

Borrar registros consultando otras tablas (Delete-Join)

Se puede hacer de dos formas:

* Borrar los registros direccionando el código

* Realizar todo en un solo Paso

Ejemplo

Borrar las canciones de la casa disquera 'EMI'

Análisis

*Cual es el nombre de la tabla en la que se van a actualizar los datos y con que información:

       Tabla: Canción 

*Que campo(campos contienen la información solicitada) y de que tabla: 

        Campo: N/A

        Tabla: N/A

* Condiciones:

          casadisquera.nombre='EMI'

*Que tablas están involucradas en la consulta y como se relacionan:

        tablas: Canción y casadisquera

        Relación :casadisquera.idcasa_miusic=cancion.codigo

*Comando:

         Delete-Join

*Sintaxis

       delete cancion from cancion join casadisquera on cancion.enlacedisquera=casadisquera.codigo where       casadisquera.nombre='EMI';

*Comando

       delete cancion from cancion join casadisquera on cancion.enlacedisquera=casadisquera.codigo where casadisquera.nombre='EMI';

Nota: Se restaura de nuevo la base de datos 2

Borrar Registros Buscando Coincidencias en otras Tablas (Delete-Join)

Teniendo las entidades cancion y casadisquera

Ejemplo

Busquemos eliminar todas las canciones cuyo código no exista en la tabla casadisquera

Realizamos una consulta para verificar que códigos de la tabla cancion no están en casadisquera

Análisis

*Cual es el nombre de la tabla en la que se van a actualizar los datos y con que información:

          Tabla: Canción y casadisquera

*Que campo(campos contienen la información solicitada) y de que tabla:

        Campo: *

       Tabla: Canción

* Condiciones:

         casadisquera.codigo is null

*Que tablas están involucradas en la consulta y como se relacionan:

             tablas: Canción y casadisquera

           Relación :cancion.enlacedisquera=casadisquera.codigo

*Comando:

       Select-Left Join

Consulta: 

select c.*from cancion as c left join casadisquera as ca on c.enlacedisquera=ca.codigo where ca.codigo is null;

Eliminar

delete cancion from cancion left join casadisquera  on cancion.enlacedisquera=casadisquera.codigo where casadisquera.codigo is null;

Borrar Registros en Cascada (Delete- Join)

Se puede borrar la información  uno a uno de os registros siguiendo condiciones

Se puede borrar los registros requeridos a través de una sola consulta(cascada)

Ejemplo

Eliminar la información de la casa disquera Sony & BMG en cascada

Análisis

*Cual es el nombre de la tabla en la que se van a actualizar los datos y con que información:

       Tabla: Canción y casadisquera

*Que campo(campos contienen la información solicitada) y de que tabla:

         Campo: N/A

* Condiciones:

         casadisquera.nombre='sony&BMG'

*Que tablas están involucradas en la consulta y como se relacionan:

            tablas: Canción y casadisquera

          Relación :cancion.enlacedisquera=casadisquera.codigo

*Comando:

         Select-Left Join

Eliminar

delete cancion,casadisquera from cancion join casadisquera on  cancion.enlacedisquera=casadisquera.codigo where casadisquera.nombre='Sony & BMG';


















 



© 2018 Compás Lab S.L,  P° de la Castellana 79, Madrid, 28046
Creado con Webnode
¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar