PRIMER PARCIAL

Descargar el siguiente archivo y realizar el ejercicio propuesto en el, el cual tendra el valor del 50% del primer parcial.

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.

SOLUCION PARTE 2 PARCIAL

a), b), c) y d)

Análisis 1

Qué información se desea mostrar o visualizar

Que articulos fueron adquiridos antes del 6 mes del 2012.

Tabla: Pagos

Condición: Articulos antes del 6 mes del 2012

¿Qué comando se debe utilizar? select *, where, year 

sintaxis:  select * from pagos where year(fechaadquisicion) < 2012 or (year(fechaadquisicion) = 2012 and month(fechaadquisicion) <6);

Análisis 2

Qué información se desea mostrar o visualizar

Determinar el articulo que tiene fecha mas antigua de adquisición.

Tabla: Pagos

Condición: Articulos con fecha más antigua de adquisición

¿Qué comando se debe utilizar? select *, where, min

Sintaxis: select * from pagos where fechaadquisicion = (select min(fechaadquisicion) from pagos);

Análisis 3

Qué información se desea mostrar o visualizar

Seleccionar los articulos que terminan en (o) y (m).

Tabla: Pagos

Condición: Articulos que terminan en (o) y (m)

¿Qué comando se debe utilizar? select *, where, like

Sintaxis: select * from pagos where descripcion like '%o' or descripcion like '%m';

Análisis 4

Qué información se desea mostrar o visualizar

Listar los productos que tienen al final consonante.

Tabla: Pagos

Condición: Producto que tienen al final consonante

¿Qué comando se debe utilizar? select *, where, like

Sintaxis: select * from pagos where descripcion like '%a' or descripcion like '%e' or descripcion like '%i' or descripcion like '%o' or descripcion like '%u';

Análisis 5

Qué información se desea mostrar o visualizar

Si las fechas de adquisición es en el primer semestre del año, se darán 5 meses para el pago

Tabla: Pagos

Condición: 5 meses para el pago si la fecha de adquisición fue en el primer semestre del año

¿Qué comando se debe utilizar? select, case, where, between, then, add, else, interval

Sintaxis: select descripcion, fechaadquisicion, Identi,

-> case

-> when month(fechaadquisicion) between 1 and 6 then date_add(fechaadquisicion, interval 5 month)

-> else fechaadquisicion

-> end as limite_pago

-> from pagos;

Análisis 6

Qué información se desea mostrar o visualizar

Si las fechas de adquisición es en el segundo semestre del año, se darán 8 meses de plazo

Tabla: Pagos

Condición: 8 meses de plazo si la fecha de adquisición es en el segundo semestre del año

¿Qué comando se debe utilizar? select *, case, where, between, then, add, else, interval

Sintaxis: select *,

-> case

-> when month(fechaadquisicion) between 7 and 12 then date_add(fechaadquisicion, interval 8 month)

-> else fechaadquisicion

-> end as limite_pago

-> from pagos;

En este txt está toda la documentación de las cosultas, triggers y auditorías realizadas en la base de datos

Base de datos con las consultas

2) Autidorías y triggers

En esta parte se crearon 3 tablas de más, cada una llamada "pagos_insertados, pagos_modificados, pagos_eliminados"

Creación trigger 1 para insertar pagos

Sintaxis:

delimiter //

create trigger insertar_pagos after insert on pagos

-> for each row

-> begin

-> insert into pagos_insertados(usuario,fecha,id_pago,descripcion,fechaadquisicion) values (CURRENT_USER(), NOW(), NEW.Identi, NEW.descripcion, NEW.fechaadquisicion);

-> end

-> //

delimiter ;

Creación trigger 2 para modificar pagos

Sintaxis:

delimiter //

create trigger modificar_pagos after update on pagos

-> for each row

-> begin

-> insert into pagos_modificados (usuario,fecha, id_pago, ant_descripcion, nueva_descripcion, fechaadquisicion_ant, fechaadquisicion_nueva) values (current_user(),now(), old.Identi, old.descripcion, new.descripcion, old.fechaadquisicion, new.fechaadquisicion);

-> end

-> //

 delimiter ;

Creación trigger 3 para eliminar pagos

Sintaxis:

delimiter //

create trigger eliminar_pagos after delete on pagos

-> for each row

-> begin

-> insert into pagos_eliminados (usuario,fecha,id_pago,descripcion,fechaadquisicion) values(current_user(), now(), old.Identi, old.descripcion, old.fechaadquisicion);

-> end

-> //

delimiter ;

Pruebas de triggers y auditorías

Para insertar

Para modificar

Para eliminar

Ver la BD con triggers y auditorías

SOLUCION PARTE 3 PARCIAL

Análisis 1

Qué información se desea mostrar o visualizar

Total de estudiantes nacidos en los años 70.

Tabla: estudiante

Condición: Estudiantes nacidos en los años 70

¿Qué comando se debe utilizar? select count(*), where, year, between

sintaxis: select count(*) as 'TOTAL ESTUDIANTES' from estudiante where year(fechanacimiento) between 1970 and 1979;

Análisis 2

Qué información se desea mostrar o visualizar

Consultar a los estudiantes que tienen entre 16 y 20 años. 

Tabla: estudiante

Condición: Estudiantes entre 16 y 20 años

¿Qué comando se debe utilizar? select, where, year, curdate, between

sintaxis: select nombre, (year(curdate()) - year(fechanacimiento)) as 'EDAD' from estudiante where (year(curdate()) - year(fechanacimiento)) between 16 and 20;

Análisis 3

Qué información se desea mostrar o visualizar

Consultar los nombres de los estudiantes que son mayores de 25 años.

Tabla: estudiante

Condición: Estudiantes mayores de 25 años

¿Qué comando se debe utilizar? select, where, year, curdate

sintaxis: select nombre as 'NOMBRES' from estudiante where (year(curdate()) - year(fechanacimiento)) > 25;

Análisis 4

Qué información se desea mostrar o visualizar

Calcular la edad de cada estudiante.

Tabla: estudiante

Condición: Edad de cada estudiante

¿Qué comando se debe utilizar? select, year, curdate

sintaxis: select nombre as 'NOMBRE', fechanacimiento as 'FECHA NACIMIENTO', (year(curdate()) - year(fechanacimiento)) as 'EDAD' from estudiante;

Análisis 5

Qué información se desea mostrar o visualizar

Consultar las materias que tienen precio mayor a 300000 y sacar un mensaje que diga si pasa de 300000 cara de lo contrario económica.

Tabla: materia

Condición: Materias que tienen precio mayor a 300.000

¿Qué comando se debe utilizar? select, case, when, else

sintaxis: select descripcion, valor,

-> case

-> when valor > 300000 then 'Cara'

-> else 'Economica'

-> end as categoria

-> from materia;

Análisis 6

Qué información se desea mostrar o visualizar

Agregar el campo edad a la tabla estudiante, insertar las edades respectivas y si el estudiante pasa de 30 años sacar un mensaje que diga hombre mayor, de lo contrario joven en desarrollo.

Tabla: estudiante

Condición: Agregar campo edad, actualizarlo y clasificar

¿Qué comando se debe utilizar? alter, add, update, set, year, curdate, case, when, else, then

sintaxis para agregar el campo: alter table estudiante add column edad int;

sintaxis para actualizarlo: update estudiante set edad = (year(curdate()) - year(fechanacimiento));

sintaxis para clasificarlo: select nombre, edad,

-> case

-> when edad > 30 then 'Hombre mayor'

-> else 'Joven en desarrollo'

-> end as categoria

-> from estudiante;

Análisis 7

Qué información se desea mostrar o visualizar

Consultar las materias que tienen precio mayor a 200000 y menor igual a 300000, y sacar un mensaje que diga materia económica si esta entre 200000 y 300000 de lo contrario cara.

Tabla: materia

Condición: Materias con precio mayor a 200.000 y menor igual a 300.000

¿Qué comando se debe utilizar? select, case, when, between, then, else

sintaxis: select descripcion, valor,

-> case

-> when valor between 200000 and 300000 then 'Materia econ mica'

-> else 'cara'

-> end as materias

-> from materia;

SOLUCIÓN PARTE 3.1

(con la tabla repazo2)

Análisis 1

Qué información se desea mostrar o visualizar

cuantas mujeres tiene su nombre terminado en z

Tabla: repazo2

Condición: Nombres de mujeres terminados en Z

¿Qué comando se debe utilizar? select count(*), where, like

sintaxis para agregar el campo: select count(*) as 'TOTAL MUJERES' from repazo2 where sexo="mujer" and nombre like '%z';

Análisis 2

Qué información se desea mostrar o visualizar

total de personas nacidas en los años 70's

Tabla: repazo2

Condición: Personas nacidas en los años 70's

¿Qué comando se debe utilizar? select count(*), where, year, between

sintaxis para agregar el campo: select count(*) as 'TOTAL PERSONAS' from repazo2 where year(fechanacimiento) between 1970 and 1979;

Análisis 3

Qué información se desea mostrar o visualizar

listar las personas con edad entre 25 y 30 años

Tabla: repazo2

Condición: Personas entre 25 y 30 años

¿Qué comando se debe utilizar? select *, where, year, curdate, between

sintaxis para agregar el campo: select* from repazo2 where year(curdate()) - year(fechanacimiento) between 25 and 30;

Análisis 4

Qué información se desea mostrar o visualizar

cuantos hijos existen en el total de datos

Tabla: repazo2

Condición: Total de hijos

¿Qué comando se debe utilizar? select, sum

sintaxis para agregar el campo: select sum(nrohijos) as 'TOTAL HIJOS' from repazo2;

Análisis 5

Qué información se desea mostrar o visualizar

agrupar por numero de hijos

Tabla: repazo2

Condición: Numero de hijos

¿Qué comando se debe utilizar? select, count(*), group by

sintaxis para agregar el campo: select nrohijos, count(*) as 'TOTAL' from repazo2 group by nrohijos;

Análisis 6

Qué información se desea mostrar o visualizar

cuantas personas tiene el nombre carlos

Tabla: repazo2

Condición: Personas con el nombre Carlos

¿Qué comando se debe utilizar? select, count(*), like, where

sintaxis para agregar el campo: select count(*) as 'NUMERO PERSONAS' from repazo2 where nombre like 'carlos%';

Análisis 7

Qué información se desea mostrar o visualizar

total de mujeres menores o = de 22 años

Tabla: repazo2

Condición: Mujeres con edad menor o igual a 22 años

¿Qué comando se debe utilizar? select, count(*), where, year, between

sintaxis para agregar el campo: select count(*)from repazo2 where (year(curdate()) - year(fechanacimiento)) between 0 and 22;

Análisis 8

Qué información se desea mostrar o visualizar

total de hombre mayores de 30 años que tengan mas de 1 hijo

Tabla: repazo2

Condición: Hombres mayores a 30 años con más de 1 hijo

¿Qué comando se debe utilizar? select, count(*), where, timestampdiff, year, curdate

sintaxis para agregar el campo: select count(*) as 'TOTAL HOMBRES' from repazo2 where sexo='hombre' and timestampdiff(year, fechanacimiento, curdate()) > 30 and nrohijos >1;

Análisis 9

Qué información se desea mostrar o visualizar

cuantas mujeres mayores de 25 años edad tiene entre 1 y 3 hijos

Tabla: repazo2

Condición: Mujeres mayores a 25 años entre 1 y 3 hijos

¿Qué comando se debe utilizar? select, count(*), where, timestampdiff, year, curdate, between

sintaxis para agregar el campo: select count(*) as 'TOTAL MUJERES' from repazo2 where sexo='mujer' and timestampdiff(year,fechanacimiento, curdate()) >25 and nrohijos between 1 and 3;

Análisis 10

Qué información se desea mostrar o visualizar

mostrar la fecha del sistema.

Tabla: null

Condición: Fecha del sistema

¿Qué comando se debe utilizar? select, curdate

sintaxis para agregar el campo: select curdate() as 'FECHA SISTEMA';

Análisis 11

Qué información se desea mostrar o visualizar

Visualizar la hora actual del sistema

Tabla: null

Condición: Hora del sistema

¿Qué comando se debe utilizar? select, curtime

sintaxis para agregar el campo: select curtime() as 'HORA ACTUAL';

Archivo txt con la documentación de la base de datos 

Acceder para descargar la base de datos

3)Inventar un ejercicio en el que utilice las 3 formas normales, procedimientos almacenados y Triggers.

Se requiere de una base de datos para mejor la gestión de ventas de una tienda, además, se pide implementar un trigger que optimicen la forma en que cómo se registran los productos vendidos 

Archivo excel de la base de datos con las 3FN

Documentación de la base de datos (Incluye evidencia de triggers)

© 2024 Luisa Arcila | Todos los derechos reservados
Creado con Webnode Cookies
¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar