Parcial 1
Descripción de la Actividad
1. Descargar el siguiente archivo y realizar el ejercicio propuesto
Parte 2
Parte 3
Se debe entregar:
a) Los análisis de cada punto
b) Las sintaxis de cada uno de los comandos utilizados para solucionar cada punto
c) El resultado o información generada en cada punto
d) La bases de datos que de como resultado el desarrollo de la actividad
2. realizarle a través de disparadores la auditoría una de las tablas de la base de datos donde permita almacenar quienes y como administran la base de datos (Insertar, borrar o eliminar registros, Actualizar registros o información)
3. Realice un video donde visualice y sustente los resultados de la entrega (Cada uno se debe ver en el video a través de la cámara).
Organice todos los ejercicios en su sitio web y publique el enlace donde quedó desarrollada a la plataforma.
BASES DE DATOS
https://drive.google.com/drive/folders/1V1NVW9s2-30S4iviNYjfsQtY86LBEGzC?usp=sharing
Solucion
1.
Parte 2:
1. ¿Que se desea consultar y de que tablas?
pagos.fechaadquisicion
¿Que tablas se ven afectadas o involucradas?
pagos
Condiciones
fechaadquisicion < '2012-06-01'
¿Como se relacionan las tablas?
No hay relaciones
¿Que comando se debe utilizar?
Where
SINTAXIS
select* from pagos where fechaadquisicion < '2012-06-01';

2. ¿Que se desea consultar y de que tablas?
pagos.fechaadquisicion
¿Que tablas se ven afectadas o involucradas?
pagos
Condiciones
min(fechaadquisicion)
¿Como se relacionan las tablas?
No hay relaciones
¿Que comando se debe utilizar?
min
SINTAXIS
select * from pagos where fechaadquisicion = (select min(fechaadquisicion) from pagos);

3. ¿Que se desea consultar y de que tablas?
pagos.descripcion
¿Que tablas se ven afectadas o involucradas?
pagos
Condiciones
descripcion like '%o' or descripcion like '%m'
¿Como se relacionan las tablas?
No hay relaciones
¿Que comando se debe utilizar?
like
SINTAXIS
select * from pagos where descripcion like '%o' or descripcion like '%m';

4. ¿Que se desea consultar y de que tablas?
pagos.descripcion
¿Que tablas se ven afectadas o involucradas?
pagos
Condiciones
REGEXP '[bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ]
¿Como se relacionan las tablas?
No hay relaciones
¿Que comando se debe utilizar?
REGEXP
SINTAXIS
select * from pagos where descripcion REGEXP '[bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ]$';

5. ¿Que se desea consultar y de que tablas?
pagos.fechaadquisicion
¿Que tablas se ven afectadas o involucradas?
pagos
Condiciones
date_add(fechaadquisicion, interval 5 month)
¿Como se relacionan las tablas?
No hay relaciones
¿Que comando se debe utilizar?
Date_add
SINTAXIS
select identi, descripcion, fechaadquisicion, date_add(fechaadquisicion, interval 5 month) as fecha_limite_pago from pagos where month(fechaadquisicion) between 1 and 6;

6, ¿Que se desea consultar y de que tablas?
pagos.fechaadquisicion
¿Que tablas se ven afectadas o involucradas?
pagos
Condiciones
date_add(fechaadquisicion, interval 8 month)
¿Como se relacionan las tablas?
No hay relaciones
¿Que comando se debe utilizar?
Date_add
SINTAXIS
select identi, descripcion, fechaadquisicion, date_add(fechaadquisicion, interval 8 month) as fecha_limite_pago from pagos where month(fechaadquisicion) between 7 and 12;

Parte 3:
1. ¿Que se desea consultar y de que tablas?
estudiante.fechanacimiento
¿Que tablas se ven afectadas o involucradas?
estudiante
Condiciones
year(fechanacimiento) between '1970' and '1979'
¿Como se relacionan las tablas?
No hay relaciones
¿Que comando se debe utilizar?
year
SINTAXIS
select * from estudiante where year(fechanacimiento) between '1970' and '1979';

2. ¿Que se desea consultar y de que tablas?
estudiante.fechanacimiento
¿Que tablas se ven afectadas o involucradas?
estudiante
Condiciones
year(current_date()) - year(fechanacimiento) between '16' and '20'
¿Como se relacionan las tablas?
No hay relaciones
¿Que comando se debe utilizar?
year
SINTAXIS
selectnombre,year(current_date()) - year(fechanacimiento) 'edad' from estudiante where year(current_date()) - year(fechanacimiento) between '16' and '20';

3. ¿Que se desea consultar y de que tablas?
estudiante.fechanacimiento
¿Que tablas se ven afectadas o involucradas?
estudiante
Condiciones
year(current_date()) - year(fechanacimiento) > 25;
¿Como se relacionan las tablas?
No hay relaciones
¿Que comando se debe utilizar?
year
SINTAXIS
select nombre,year(current_date()) - year(fechanacimiento) 'edad' from estudiante where year(current_date()) - year(fechanacimiento) > 25;

4. ¿Que se desea consultar y de que tablas?
estudiante.fechanacimiento
¿Que tablas se ven afectadas o involucradas?
estudiante
Condiciones
year(current_date()) - year(fechanacimiento) > 25;
¿Como se relacionan las tablas?
No hay relaciones
¿Que comando se debe utilizar?
year
SINTAXIS
select nombre,year(current_date()) - year(fechanacimiento) 'edad' from estudiante;

5. ¿Que se desea consultar y de que tablas?
materia.valor
¿Que tablas se ven afectadas o involucradas?
valor
Condiciones
valor > 300000 then 'cara' else 'economica'
¿Como se relacionan las tablas?
No hay relaciones
¿Que comando se debe utilizar?
case
SINTAXIS
select descripcion,valor,case when valor > 300000 then 'cara' else 'economica' end as categoria from materia;

6. ¿Que se desea consultar y de que tablas?
estudiante.edad
¿Que tablas se ven afectadas o involucradas?
edad
Condiciones
edad > 30 then 'Mayor' else 'Joven en desarrollo'
¿Como se relacionan las tablas?
No hay relaciones
¿Que comando se debe utilizar?
case
SINTAXIS
select nombre,case when edad > 30 then 'Mayor' else 'Joven en desarrollo' end as desarrollo from estudiante;

7. ¿Que se desea consultar y de que tablas?
materia.valor
¿Que tablas se ven afectadas o involucradas?
materia
Condiciones
valor > 200000 and valor <= 300000 then 'materia económica' else 'cara'
¿Como se relacionan las tablas?
No hay relaciones
¿Que comando se debe utilizar?
case
SINTAXIS
select descripcion, valor, case when valor > 200000 and valor <= 300000 then 'materia económica' else 'cara' end as categoria from materia;

Parte 3 - 2
1. ¿Que se desea consultar y de que tablas?
personas.sexo
personas.nombre
¿Que tablas se ven afectadas o involucradas?
personas
Condiciones
like '%z' and sexo='mujer';
¿Como se relacionan las tablas?
No hay relaciones
¿Que comando se debe utilizar?
like
SINTAXIS
select * from personas where nombre like '%z' and sexo='mujer';

2. ¿Que se desea consultar y de que tablas?
personas.fechanacimiento
¿Que tablas se ven afectadas o involucradas?
personas
Condiciones
year(fechanacimiento) between '1970' and '1979';
¿Como se relacionan las tablas?
No hay relaciones
¿Que comando se debe utilizar?
year
SINTAXIS
select count(*) as 70s from personas where year(fechanacimiento) between '1970' and '1979';

3. ¿Que se desea consultar y de que tablas?
personas.fechanacimiento
¿Que tablas se ven afectadas o involucradas?
personas
Condiciones
year(current_date())- year(fechanacimiento) between '25' and '30';
¿Como se relacionan las tablas?
No hay relaciones
¿Que comando se debe utilizar?
year
SINTAXIS
selectnombre,fechanacimiento,year(current_date()) - year(fechanacimiento) as edad from personas where year(current_date())- year(fechanacimiento) between '25' and '30';

4. ¿Que se desea consultar y de que tablas?
personas.nrohijos
¿Que tablas se ven afectadas o involucradas?
personas
Condiciones
sum(nrohijos)
¿Como se relacionan las tablas?
No hay relaciones
¿Que comando se debe utilizar?
sum
SINTAXIS
select sum(nrohijos) as totalhijos from personas;

5. ¿Que se desea consultar y de que tablas?
personas.nrohijos
¿Que tablas se ven afectadas o involucradas?
personas
Condiciones
group by nrohijos;
¿Como se relacionan las tablas?
No hay relaciones
¿Que comando se debe utilizar?
group by
SINTAXIS
select nrohijos,count(*) as nropersonas from personas group by nrohijos;

6. ¿Que se desea consultar y de que tablas?
personas.nombre
¿Que tablas se ven afectadas o involucradas?
personas
Condiciones
like 'carlos%'
¿Como se relacionan las tablas?
No hay relaciones
¿Que comando se debe utilizar?
like
SINTAXIS
select count(*) as carlos from personas where nombre like 'carlos%';

7. ¿Que se desea consultar y de que tablas?
personas.fechanacimiento
¿Que tablas se ven afectadas o involucradas?
personas
Condiciones
year(current_date()) - year(fechanacimiento) <= 22
¿Como se relacionan las tablas?
No hay relaciones
¿Que comando se debe utilizar?
count
SINTAXIS
select count(*) as mujeresmenores_22 from personas where sexo = 'mujer' and (year(current_date()) - year(fechanacimiento)) <= 22;

8. ¿Que se desea consultar y de que tablas?
personas.fechanacimiento
¿Que tablas se ven afectadas o involucradas?
personas
Condiciones
(year(current_date()) - year(fechanacimiento)) >33 and nrohijos > 1
¿Como se relacionan las tablas?
No hay relaciones
¿Que comando se debe utilizar?
count
SINTAXIS
select count(*) as hombresmayores from personas where sexo = 'hombre' and (year(current_date()) - year(fechanacimiento)) >33 and nrohijos > 1;

9. ¿Que se desea consultar y de que tablas?
personas.fechanacimiento
¿Que tablas se ven afectadas o involucradas?
personas
Condiciones
(year(current_date()) - year(fechanacimiento)) >25 and nrohijos between '1' and '3';
¿Como se relacionan las tablas?
No hay relaciones
¿Que comando se debe utilizar?
count
SINTAXIS
select count(*) asmujeresmayores from personas where sexo = 'mujer' and (year(current_date()) - year(fechanacimiento)) >25 and nrohijos between '1' and '3';

10. ¿Que se desea consultar y de que tablas?
fecha del sistema
¿Que tablas se ven afectadas o involucradas?
Condiciones
¿Como se relacionan las tablas?
No hay relaciones
¿Que comando se debe utilizar?
current_date()
SINTAXIS
select current_date() as fecha_actual;

11. ¿Que se desea consultar y de que tablas?
hora del sistema
¿Que tablas se ven afectadas o involucradas?
Condiciones
¿Como se relacionan las tablas?
No hay relaciones
¿Que comando se debe utilizar?
current_time()
SINTAXIS
select current_time() as hora_actual;

2.
NOMBRE TRIGGER
auditoria
SINTAXIS
create trigger auditoria after insert on personas
for each row
begin
insert into personas_insertadas
(codigo,nombre,sexo,fechanacimiento,nrohijos,usuario,fecha_modif)
values
(new.codigo,new.nombre,new.sexo,new.fechanacimiento,new.nrohijos,current_user(),now());
end //

