PROCESOS EN CASCADA

a. Insertar registros con valores de otra tabla

Ejemplo: Insertar en la entidad cantidadcasadisquera los nombres de la casa disquera con la cantidad de canciones.

Análisis:

1. ¿Cuál es el nombre de la tabla en la que se van a insertar los datos?

El nombre de la tabla en la que se van a insertar los datos es cantidadcasadisquera.

2. ¿De cuál tabla y campo se va a extraer la información solicitada?

Se va a extraer la información de la tabla casadisquera y del campo nombre.

3. ¿Cuáles son las condiciones?

No aplican condiciones.

4. ¿Cuáles tablas están involucradas en la consulta y cómo se relacionan?

Las tablas involucradas son cancion y casadisquera y la relación es casadisquera.idcasa_miusic = cancion.idcasa_miusic.

5. ¿Qué comandos se van a utilizar?

Se van a utilizar los comandos insert, select, join y count.

6. ¿Cuál es la sintaxis a utilizar?

Para la consulta:

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 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 otras tablas.

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. Realizar la actualización con join.

Análisis:

1. ¿Cuál es el nombre de la tabla en la que se van a actualizar los datos y con cuál información?

El nombre de la tabla en la que se van a actualizar los datos es cancion y la información es cancion.casadisquera = casadisquera.nombre.

2. ¿De cuál tabla y campo se va a extraer la información solicitada?

Se va a extraer la información de la tabla casadisquera y del campo nombre.

3. ¿Cuáles son las condiciones?

No aplican condiciones.

4. ¿Cuáles tablas están involucradas en la consulta y cómo se relacionan?

Las tablas involucradas son cancion y casadisquera y la relación es casadisquera.idcasa_miusic = cancion.idcasa_miusic.

5. ¿Qué comandos se van a utilizar?

Se van a utilizar los comandos update y join.

6. ¿Cuál es la sintaxis a utilizar?

update cancion

join casadisquera

on cancion.idcasa_miusic = casadisquera.idcasa_miusic

set cancion.casadisquera = casadisquera.nombre;


c. Actulización en cascada.

1. Actualizar el código de la casa EMI por '16'.

Análisis:

1. ¿Cuál es el nombre de las tablas en la que se van a actualizar los datos y con cuál información?

El nombre de las tablas en la que se van a actualizar es cancion y casadisquera con la información casadisquera.enlacedisquera = '16', cancion.codigo = '16'.

2. ¿De cuál tabla y campo se va a extraer la información solicitada?

No aplican tablas ni campos.

3. ¿Cuáles son las condiciones?

La condicion es que casadisquea.nombre = 'EMI'.

4. ¿Cuáles tablas están involucradas en la consulta y cómo se relacionan?

Las tablas involucradas son cancion y casadisquera y la relación es casadisquera.idcasa_miusic = cancion.codigo

5. ¿Qué comandos se van a utilizar?

Se van a utilizar los comandos update y join.

6. ¿Cuál es la sintaxis a utilizar?

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 en otras tablas.

Análisis:

1. ¿Cuál es el nombre de las tablas en la que se van a eliminar los datos?

El nombre de las tablas en la que se van a eliminar los datos es cancion y casadisquera.

2. ¿De cuál tabla y campo se va a extraer la información solicitada?

No aplican tablas ni campos.

3. ¿Cuáles son las condiciones?

La condicion es que casadisquea.nombre = 'EMI'.

4. ¿Cuáles tablas están involucradas en la consulta y cómo se relacionan?

Las tablas involucradas son cancion y casadisquera y la relación es casadisquera.idcasa_miusic = cancion.codigo.

5. ¿Qué comandos se van a utilizar?

Se van a utilizar los comandos delete y join.

6. ¿Cuál es la sintaxis a utilizar?

delete cancion 

from cancion

join casadisquera

on cancion.enlacedisquera = casadisquera.codigo

where casadisquera.nombre = 'EMI';



e. Borrar registros buscando coincidencias otras tablas.

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

Análisis:

1. ¿Cuáles son las tablas que están involucradas?

Las tablas involucradas son cancion y casadisquera.

2. ¿De cuál tabla y campo se va a extraer la información solicitada?

La información se va a extraer de la tabla cancion con todos sus campos.

3. ¿Cuáles son las condiciones?

La condicion es que casadisquera.codigo is null;

4. ¿Cuáles tablas están involucradas en la consulta y cómo se relacionan?

Las tablas involucradas son cancion y casadisquera y la relación es cancion.enlacedisquera = casadisquera.codigo

5. ¿Qué comandos se van a utilizar?

Se van a utilizar los comandos select y left join.

6. ¿Cuál es la sintaxis a utilizar?

Para la consulta:

select c.* from cancion as c

left join casadisquera as ca

on c.enlacedisquera = ca.codigo

where ca.codigo is null;

Para eliminar:

delete cancion from cancion

left join casadisquera

on cancion.enlacedisquera = casadisquera.codigo

where casadisquera.codigo is null;


f. Borrar registros en cascada.

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

Análisis:

1. ¿Cuáles son las tablas involucradas?

Las tablas involucradas son cancion y casadisquera.

2. ¿De cuál tabla y campo se va a extraer la información solicitada?

No aplican tablas ni campos.

3. ¿Cuáles son las condiciones?

La condicion es que casadisquea.nombre = 'Sony & BMG'.

4. ¿Cuáles tablas están involucradas en la consulta y cómo se relacionan?

Las tablas involucradas son cancion y casadisquera y la relación es cancion.enlacedisquera = casadisquera.codigo.

5. ¿Qué comandos se van a utilizar?

Se van a utilizar los comandos delete, select y left join.

6. ¿Cuál es la sintaxis a utilizar?

delete cancion, casadisquera

from cancion

join casadisquera

on cancion.enlacedisquera = casadisquera.codigo

where casadisquera.nombre = 'Sony & BMG';



¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar