Actividad 6 - Proceso en cascada
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
b. Actualizar datos con valores de otra tabla
(Update)
Analisis:
1.cual es el nombre de la tabla en la que se va actualizar los datos y con que información.
tabla: cancion
informacion: cancion.casadisquera= casadisquera.nombre
2. que campo ( campos contienen la informacion solicitada) y de que tabla:
campo: nombre
tabla: casadisquera
3. condiciones adicionales si las hay
NA
4. que tablas estan involucradas en la consulta y como se relacionan
tabla: cancion y casadisquera
relación: casadisquera.idcasa_miusic= cancion.idcasa_miusic
5. comandos: 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. actualizacion en cascada
(update - join )
actualizar el codigo 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
tabla: cancion y casadisquera
informacion: casadisquera.enlacedisquera= '16', cancion.codigo= '16'
2. que campo ( campos contienen la informacion solicitada) y de que tabla:
campo: NA
tabla: NA
3. condiciones adicionales si las hay
casadisquera.nombre='EMI'
4. que tablas estan involucradas en la consulta y como se relacionan
tabla: cancion y casadisquera
relación: casadisquera.idcasa_miusic=cancion.codigo
5. comandos: 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 pueden hacer de 2 formas:
ejemplo:
Delete from libro where codigo=1;
2. realizar todo en un solo paso
borrar las canciones y la casadisquera'EMI'
Analisis
1.cual es el nombre de la tabla en la que se va actualizar los datos y con que información.
tabla: cancion y casadisquera
2. que campo ( campos contienen la informacion solicitada) y de que tabla:
campo: NA
tabla: NA
3. condiciones adicionales si las hay
casadisquera.nombre= 'EMI'
4. que tablas estan involucradas en la consulta y como se relacionan
tabla: cancion y casadisquera
relación: casadisquera.idcasa_miusic= cancion.codigo
5. comandos: update - 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 coincidencia en otras tablas
(Delete - Join)
teniendo las entidades cancion y casadisquera busquemos eliminar todas las canciones cuyo codigo no exista en la tabla casadisquera.
Realizamos una consulta para verificar que codigos de la tabla cancion no estan en la casadisquera
1.cual es el nombre de la tabla en la que estan involucradas
tabla: cancion y casadisquera
2. que campo ( campos contienen la informacion solicitada) y de que tabla:
campo: NA
tabla: cancion
3. condiciones adicionales si las hay
casadisquera.codigo is null
4. que tablas estan involucradas en la consulta y como se relacionan
tabla: cancion y casadisquera
relación: casadisquera.enlacedisquera=casadisquera.codigo
5. comandos: select -left join y diseñar la sintaxis mysql
sintaxis:
select c.* from cancion as c left join casadisquera as ca on c.enlacedisquera=ca.codigo where ca.codigo is null;
en el momento de realizar un left join, eliminamos los registros.
eliminar las canciones que no tienen registro en la casa disquera.
sintaxis:
delete cancion from cancion left join casadisquera on cancion.enlacedisquera=casadisquera.codigo where casadisquera.codigo is null;
f. Borrar registros en cascada
(Delete - Join)
siguiendo con el ejemplo de la tablas anteriores (cancion-casadisquera)
se puede borrar la informacion uno a uno los registros siguiendo las condiciones.
se puede borrar los registros requeridos a traves de una sola consulta(cascada)
eliminar la informacion de la casa disquera sony y Bmg en cascada
1.cual es el nombre de la tabla en la que estan involucradas
tabla: cancion y casadisquera
2. que campo ( campos contienen la informacion solicitada) y de que tabla:
campo: NA
tabla: NA
3. condiciones adicionales si las hay
casadisquera.nombre='Sony & BMG'
4. que tablas estan involucradas en la consulta y como se relacionan
tabla: cancion y casadisquera
relación: casadisquera.enlacedisquera=casadisquera.codigo
5. comandos: 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';
base de datos