ACTIVIDAD 6

MANEJO DE INFORMACION EN CASCADA

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)

Bases de datos par el desarrollo de la clase

Ejercicio 1

Ejercicio2

Diapositivas con la explicación

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.

Análisis:

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) 'cantidad'

-> from casadisquera as c

-> left join cancion as co

-> on c.idcasa_miusic=co.idcasa_miusic

-> group by c.nombre;

Sintaxis

insert into cantidadcasadisquera

select c.nombre,count(co.idcasa_miusic)'cantidad'

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

© 2021 base de datos 1,  universidad uniremington
De: EDY YECID QUEJADA SÁNCHEZ
estudiante de: ingeniería de sistemas 
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