ACTIVIDAD 7

En el siguiente archivo se encuentran las diapositivas que se trabajaron en clase:

MANEJO DE DATOS EN CASCADA

A.  Insertar registros con valores de otra tabla:

  • (Insert - select- Join)

   Se crean las entidades relacionadas:

cancion

casadisquera

Se crea una tercera entidad para insertar los registros con los valores de una de las entidades anteriores

cantidadcasadisquera

Ejemplo:

** Insertar en la entidad cantidadcasadisquera los nombres de la casa disquera con la        cantidadcanciones.

Analisis:

1. Cual es el nombre de la tabla en la que se van a insertar los datos

  • cantidadcasadisquera

2. Que campos (campos contiene la información solicitada) y de que tabla

  • campo: nombre
  • Tabla: casadisquera

3.  Condiciones (es) adicionales si las hay

  • N/A

4. Que tablas estan involucradas en la consulta y como se relacionan

  • Tablas: cancion y casadisquera
  • Relacion: casadisquera idcasa_miusic=cancion.idcasa_miusic

5. Comando(s)

  •  Insert -Select - Join y diseñar la sintaxis mysql

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;

** insertar en la tabla:

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 las entidades cancion y casadisquera

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

2.   Agregar un campo llamado casadisquera en la entidad cancion

Sintaxis:

alter table cancion add casadisquera varchar(30);

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

a.  Se puede actualizar uno a uno  los registros

Ejemplo

update cancion set casadisquera='EMI' where idcasa_miusic='003';

Analisis:

1. Cual es el nombre de la tabla en la que se van a actualizar los datos y con que informacion

  • Informacion: cancion.casadisquera=casadisquera.nombre
  • Tabla: cancion

2. Que campos (campos contiene la informacion solicitada) y de que tabla

  • Campo: nombre
  • Tabla: casadisquera

3. Condiciones (es) adicionales si las hay

  • N/A

4. Que tablas están involucradas en la consulta y como se relacionan

  • Tablas: cancion y casadisquera
  • Relacion: casadisquera idcasa_miusic=cancion.idcasa_miusic

5. Comando(s)

  • update - join y diseñar la sintaxis mysql

Sintaxis:

update cancion

-> join casadisquera

-> on cancion.idcasa_miusic=casadisquera.idcasa_miusic

-> set cancion.casadisquera=casadisquera.nombre;

C.  Actualización en cascada

  •  ( Update - Join)

** Actualizar el código de la casa disquera EMI por 16

Analisis:

1. Cual es el nombre de la tabla en la que se van a actualizar los datos y con que informacion

  • Informacion: casadisquera.enlacedisquera='16' , cancion.codigo='16'
  • Tabla: cancion y casadisquera

2. Que campos (campos contiene la informacion solicitada) y de que tabla

  • Campo: N/A
  • Tabla: N/A

3. Condiciones (es) adicionales si las hay

  • casadisquera.nombre='EMI'

4. Que tablas están involucradas en la consulta y como se relacionan

  • Tablas: cancion y casadisquera
  • Relacion: casadisquera.idcasa_miusic=cancion.codigo

5. comando(s) 

  • update - join y diseñar la sintaxis mysql

Sintaxis:

update cancion as n

-> join casadisquera as c

-> on n.enlacedisquera=c.codigo

-> set n.enlacedisquera='16',c.codigo='16'

-> where c.nombre='EMI';

D.   Borrar registros consultando otras tablas 

  • (Delete - Join)

** Se puede hacer de dos formas

Ejemplo: 

  • delete from libro where codigo=1;

** Borrar las canciones de la casa disquera 'EMI'

Análisis:

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

  • Tabla: canción 

2. Que campos (campos contiene la información solicitada) y de que tabla

  • Campo: N/A
  • Tabla: N/A

3. Condiciones (es) adicionales si las hay

  • casadisquera.nombre='EMI'

4. Que tablas están involucradas en la consulta y como se relacionan

  • Tablas: cancion y casadisquera
  • Relacion: casadisquera.idcasa_miusic=cancion.código

5. Comando(s) 

  • delete - join y diseñar la sintaxis mysql

Sintaxis:

delete cancion

-> from cancion

-> join casadisquera

-> on cancion.enlacedisquera=casadisquera.codigo

-> where casadisquera.nombre='EMI';

E.   Borrar registros buscando coincidencias en otras tablas

  •  (delete - Join)

** Teniendo las entidades cancion y casadisquera, busquemos eliminar todas las canciones cuyo código no exista  en la tabla casadisquera.

** Realizamos una consulta para verificar que codigos de la tabla ancion no esta en la casadisquera

Analisis:

1. Cual es el nombre de la tabla en la que se van a actualizar los datos y con que informacion

  • Tabla: canción y casadisquera

2. Que campos (campos contiene la informacion solicitada) y de que tabla

  • Campo:  *
  • Tabla:  cancion

3. Condiciones (es) adicionales si las hay

  • casadisquera.codigo is null

4. Que tablas estan involucradas en la consulta y como se relacionan

  • Tablas: cancion y casadisquera
  • Relacion: casadisquera.enlacedisquera=casadisquera.codigo

5. Comando(s) 

  • select- left - join y diseñar la sintaxis mysql

Sintaxis:

select * from cancion as c

-> left join casadisquera as ca

-> on c.enlacedisquera=ca.codigo

-> where ca.codigo is null;

F.  Borrar registros en cascada

  •  (delete - join)

** Siguiendo con el ejemplo de las tablas anteriores (cancion - casadisquera)

** Se puede borrar las información uno a uno los registros siguiendo condiciones

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

** Eliminar la informacion de la casadisquera Sony &BMG en cascada

Analisis:

1. Cual es el nombre de la tabla en la que se van a actualizar los datos y con que informacion

  • Tabla: canción y casadisquera

2. que campos (campos contiene la informacion solicitada) y de que tabla

  • N/A

3. Condiciones (es) adicionales si las hay

  • casadisquera.nombre='Sony & BMG'

4. Que tablas estan involucradas en la consulta y como se relacionan

  • Tablas: cancion y casadisquera
  • Relacion: casadisquera.enlacedisquera=casadisquera.codigo

5. Comando(s) 

  • select- left - join- y diseñar la sintaxis mysql

Sintaxis:

delete cancion,casadisquera

-> from cancion

-> join casadisquera

-> on cancion.enlacedisquera=casadisquera.codigo

-> where casadisquera.nombre='Sony &BMG';

En elsiguiente archivo se encuentra todo lo trabajado en clase. TEE

En el siguiente archivo se encuentra la BD trabajada en clase.

Liliana Taborda Sanchez,Desarrollo de Software, Medellin Colombia 2019
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