Actividad 6
a. Insertar registros con valores de otra tabla
(Insert - Select- Join)
Se crea una tercera entidad para insertar los registros con los valores de las entidades anteriores Casadisquera
Se ingresa registro a las dos entidades fuente (Cancion-Casadisquera)
Ejemplo: insertar en la entidad *cantidadcasadisquera los nombres de la casadisquera con la cantidadcasadisquera
Análisis :
1. cual es el nombre de la tabla en la que se va a insertar los datos
Cantidadcasadisquera
2. Que campo(campos contiene la informacion solicitada)y de que tabla
Campo: nombre , Tabla: casadisquera
3. Condicion(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=cancion.idcasa_miusic
5. Comando(s):
insert - select join y diseñar la sintaxis mysql
Sintasis>>>>>>
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)
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.
3. Actualizar los valores para este
campo creado en la entidad cancion.
a. Se puede actualizar uno a uno los registros
Ejemplo: update cancion set casadisquera='EMI' where idcasa_miusic='003';
Nota:
manualmente se elimina el campo
idcasa_miusic y la entidad casadisquera.
4. Realizando la actualización con un join
Análisis :
1. cual es el nombre de la tabla en la que se va a insertar los datos
Tabla: cancion
Informacion: cancion.casadisquera=casadisquera.nombre
2. Que campo(campos contiene la informacion solicitada)y de que tabla
Campo: nombre
Tabla: casadisquera
3. Condicion(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=cancion.idcasa_miusic
5. Comando(s):
update - join
Sintaxis 1 >>>
alter table cancion add casadisquera varchar(30);
Sintaxis 2 >>>
update cancion
-> join casadisquera
-> on cancion.idcasa_miusic=casadisquera.idcasa_miusic
-> set cancion.casadisquera=casadisquera.nombre;
c. Actualización en cascada
(Update - Join)
Ejercicio:
Actualizar el código de la casa disquera EMI por 16
Análisis :
1. cual es el nombre de la tabla en la que se va a insertar los datos
Tabla: cancion y casadisquera
Informacion: casadisquera-enlacedisquera='16', cancion.codigo='16';
2. Que campo(campos contiene la informacion solicitada)y de que tabla
Campo: N/A
Tabla: N/A
3. Condicion(es): adicionales si las hay
casadisquera.nombre='EMI';
4. Que tablas estan involucradas en la consulta y como se relacionan:
Tablas: cancion y casadisquera
Relacion: casadisquera.idcasa=cancion.codigo
5. Comando(s):
update - join
D. Borrar registros consultando otras
tablas
(Delete - Join
Se puede hacer de dos formas:
1.
Borrar los registros direccionando el código
Ejemplo: Delete
from libro where código=1;
2. Realizar todo en un solo paso
EJERCICIO:
Borrar las canciones de la casa disqiera 'EMI'
Análisis :
1. cual es el nombre de la tabla en la que se va a eliminar los datos
Tabla: cancion
2. Que campo(campos contiene la informacion solicitada)y de que tabla
Campo: N/A
Tabla: N/A
3. Condicion(es): adicionales si las hay
casadisquera.nombre='EMI';
4. Que tablas estan involucradas en la consulta y como se relacionan:
Tablas: cancion y casadisquera
Relacion: casadisquera.idcasa=cancion.codigo
5. Comando(s):
delete - join
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)
1.Teniendo las entidades canción y casadisquera.
2.Busquemos eliminar todas las canciones cuyo código no exista en la
tabla casadisquera.
EJERCICIO:
Agregando dos registros en la tabla canción.
insert into cancion values('007','Pajarando','Cargamo ODG','9')
insert into cancion values('008','Violeta','SDRT','18');
Análisis :
1. cual es el nombre de la tabla en la que se va a eliminar los datos
Tabla: cancion
2. Que campo(campos contiene la informacion solicitada)y de que tabla
Campo: N/A
Tabla: N/A
3. Condicion(es): adicionales si las hay
casadisquera.nombre='EMI';
4. Que tablas estan involucradas en la consulta y como se relacionan:
Tablas: cancion y casadisquera
Relacion: casadisquera.idcasa=cancion.codigo
5. Comando(s):
delete - join
Consultamos Primero y despues Eliminamos
Sintaxis CONSULTA >>>
select c.* from cancion as c
-> left join casadisquera as ca
-> on c.enlacedisquera=ca.codigo
-> where ca.codigo is null;
Sintaxis DELETE >>>
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 las tablas anteriores (canción - casadisquera)
1. Se puede borrar la información uno a uno los registros siguiendo
condiciones.
2. Se puede borrar los registros requeridos a través de una sola consulta
(cascada)
EJERCICIO:
Eliminar la información dela casa disquera Sony & BMG en cascada
Análisis :
1. cual es el nombre de la tabla en la que se va a eliminar los datos
Tabla: cancion y casadisquea
2. Que campo(campos contiene la informacion solicitada)y de que tabla
Campo: N/A
Tabla: N/A
3. Condicion(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):
Delete - join
Sintaxis >>>
delete cancion,casadisquera
-> from cancion
-> join casadisquera
-> on cancion.enlacedisquera=casadisquera.codigo
-> where casadisquera.nombre='Sony & BMG';
BASES DE DATOS