Tecnológico Nacional de México ---------------------------------------------------------------------------- Instituto Tecnológico de Tlalnepantla UNIDAD 6 P6 - 1 PROYECTO FINAL Carrera: Ing. Tecnologías Información Comunicación Asignat.: Fundamentos de Bases de Datos Profesor: García Belmont Reyna Alumna: Carmona Pérez Diana Denisse N. C. : 20251105 Grupo: T32 Entrega: 25 de noviembre, 2021 1 PROYECTO FINAL XAMPP y phpMyAdmin XAMPP XAMPP es un servidor independiente de plataforma de código libre. Te permite instalar de forma sencilla Apache en tu propio ordenador, sin importar tu sistema operativo (Linux, Windows, MAC o Solaris). Y lo mejor de todo es que su uso es gratuito. Permite probar tu trabajo (páginas web o programación por ejemplo) en tu propio ordenador sin necesidad de tener que acceder a internet. Si eres un desarrollador que recién está comenzando, tampoco debes preocuparte sobre las configuraciones ya que XAMPP te provee de una configuración totalmente funcional desde el momento que lo instalas (básicamente lo extraes). Sin embargo, es bueno acotar que la seguridad de datos no es su punto fuerte, por lo cual no es suficientemente seguro para ambientes grandes o de producción. La Importancia de xampp es crear una distribución fácil de instalar para desarrolladores que se están iniciando en el mundo de Apache. XAMPP viene configurado por defecto con todas las opciones activadas. es gratuito tanto para usos comerciales como no comerciales. Lo caracterizan sus servidores de bases de datos como MySQL ySQLite con sus respectivos gestores phpMyAdmin y phpSQLiteAdmin. Incorpora también el intérprete de PHP, el intérprete de Perl, servidores de FTP como ProFTPD ó FileZilla FTP Serve, etc. entre muchas cosas más. Esta se actualiza regularmente para incorporar las últimas versiones de Apache/MySQL/PHP y Perl. También incluye otros módulos como OpenSSL y phpMyAdmin. Los requisitos mínimos recomendados son 256 MB de RAM para un sitio web de un único ordenador y 85 MB de almacenamiento. Además configurar aparte los MySQL 5.0.41, PHP 5.2.2, PHP 4.4.7, phpMyAdmin 2.10.1 2 phpMyAdmin phpMyAdmin es una herramienta escrita en PHP con la intención de manejar la administración de MySQL a través de páginas web, utilizando Internet. La importancia de esta radica en proporcionar una interfaz para trabajar con bases de datos MySQL. A través de esta aplicación podemos crear, modificar y eliminar registros, como también importar y exportar tablas de la base de datos MySQL. Podemos ejecutar consultas MySQL, optimizar y reparar la base de datos y muchas tareas más. Lo que le caracteriza a phpMyAdmin es su interfaz web intuitiva, que soporta la mayoría de las características de MySQL, gestiona procedimientos almacenados y disparadores, importa datos desde CSV y SQL, exporta datos a varios formatos como CSV, SQL, XML, PDF, ISO/IEC 26300 - OpenDocument de Texto y Hoja de Cálculo, Word, LATEX, entre muchos otros 3 Práctica Abriremos xampp ejecutandola como administrador Abrimos la configuración y pulsamos el botón de “Service and port settings” Ahora en el área de MySQL cambiaremos Ahora entraremos a la configuración de el puerto de 3306 a 3308, y guardamos los Apache y MySQL en la opción que termine en .ini cambios 4 Entonces abrirá un documento de texto, donde buscaremos el número de puerto 3306 para cambiarlo por 3308 Una vez estos se encuentran en verde ahora pulsaremos Admin de MySQL Y ahora pulsamos el botón de start hasta que la palabra, “Apache” y “MySQL” se encuentre en color verde y nos mandará a el localhost de phpmyadmin 5 Estando aquí entraremos en el apartado de importar y subiremos el archivo de empresa Cuando regresemos a la parte de base de datos podemos ver cómo es que se encuentra ahí Luego nos dirigiremos a la base de datos de empresa y después pasaremos a la parte de SQL, pues será esta nuestra consola para realizar las consultas Colocamos el código y pulsamos continuar 6 1. Empleados de Producción, Ventas o personal que tomaron cursos en 2009 y obtuvieron calificaciones superiores a 8 en la Teoría y la práctica. select concat(E.nombre, ' ',E.paterno,' ', E.materno) as 'NombreEmpleado', D.departamento as 'Departamento', F.fechainicio as 'Fecha de Inscripción', I.practica as 'Calif. Practica' , I.teoria as 'Calif. Teoría' from empleados as E, inscripciones as I, departamentos as D, calendario as F where ( (E.idempleados = I.idempleado) and (E.iddepartamento=D.iddepartamento) and (D.departamento='Producción' or D.departamento='Ventas') (year(F.fechainicio)=2009) and (I.practica>8 and I.teoria>8)) order by E.nombre, F.fechainicio; and 7 2. Recalcule la calificación FINAL, la cual se compone de 35% de la calificación de la TEORÍA y 65% de la PRÁCTICA. Se aprueba con calificaciones mayores a 7.5 select concat(E.nombre, ' ',E.paterno,' ', E.materno) as'Nombre Empleado', I.practica as'Calif. Practica', I.teoria as'Calif. Teoría',truncate( ((I.teoria*.35) + (I.practica*.65)),1) as'Final', if(truncate(((I.teoria*.35) + (I.practica*.65)),1)>=7.5, 'Aprobado', 'No Aprobado') As'Estatus' from empleados as E,inscripciones as I where(E.idempleados=I.idempleado) order by E.nombre; 8 3. Calcule la antigüedad de cada empleado al día de hoy. select concat(nombre, ' ',paterno, ' ',materno) as'Empleado', fecha_ingreso as"Fecha Ingreso", truncate(datediff(curdate(),fecha_ingreso)/365,0) as'Antiguedad' from empleados order by antiguedad; 9 4. A los empleados que obtuvieron un promedio inferior o igual a 6.0, se les cobrará el 50% del costo de los cursos en que se inscribieron. Obtenga los datos para realizar este cobro. select concat(E.nombre, ' ',E.paterno,' ', E.materno) as'Nombre Empleado', I.final as'Calificación Final', (C.costo *.50) as 'Monto a Cobrar' from empleados as E,inscripciones as I, cursos as C, calendario as F where(E.idempleados=I.idempleado)and (I.final<=6) and (I.idcalendario=F.idcalendario)and (F.idcurso=C.idcurso); 10 5. Obtenga los datos de los cursos de capacitación por puesto y departamento. select concat(E.nombre, ' ',E.paterno,' ', E.materno) as'Nombre Empleado', P.puesto as'Cargo', D.departamento as'Departamento' from empleados as E, puestos as P, departamentos as D where(E.idpuesto= P.idpuesto) and(D.iddepartamento=E.iddepartamento) order by E.iddepartamento ASC, E.idpuesto ASC; select distinct P.puesto as'Cargo', D.departamento as'Departamento' from empleados as E, puestos as P, departamentos as D where (E.idpuesto= P.idpuesto) and(D.iddepartamento=E.iddepartamento) order by E.iddepartamento ASC, E.idpuesto ASC; 11 6. Obtenga los datos de los empleados que tienen más de 50 años y más de 15 años trabajando en la empresa. select concat(nombre, ' ',paterno, ' ',materno) as'Empleado', truncate(datediff(curdate(),fecha_ingreso)/365,0) as'Antiguedad', (year(curdate())-year(fechanac)) as'Edad' from empleados where(truncate(datediff(curdate(),fecha_ingreso)/365,0)>25)and ((year(curdate())-year(fechanac))>50); 12 7. A los empleados que obtuvieron un promedio inferior o igual a 6.0, se les cobrará el 50% del costo de los cursos en que se inscribieron. Obtenga los datos para realizar este cobro. select concat(E.nombre, ' ',E.paterno,' ', E.materno) as'Nombre Empleado', I.final as'Calificación Final', (C.costo *.50) as'Monto a Cobrar' from empleados as E,inscripciones as I, cursos as C, calendario as F where(E.idempleados=I.idempleado)and(I.final<=6) and(I.idcalendario=F.idcalendario)and (F.idcurso=C.idcurso); 13 8. ¿Cuánto se pagó por los cursos en cada departamento y cuántos empleados se inscribieron? select D.departamento as'Departamento', count(E.idempleados) as 'Empleados inscritos',sum(C.costo) as'Inversión en Cursos' from empleados as E, inscripciones as I, departamentos as D, cursos as C, calendario as F where(E.iddepartamento=D.iddepartamento) and (E.idempleados=I.idempleado) and(I.idcalendario=F.idcalendario) and(F.idcurso= C.idcurso) group by D.iddepartamento; 14 9. ¿Cuál es el promedio de antigüedad y edad de las mujeres en la empresa? select truncate(avg(year(curdate())-year(E.fechanac)),0) As 'Edad Promedio de Mujeres', truncate(avg(datediff(curdate(),fecha_ingreso)/365),0) as 'Antiguedad Promedio Mujeres' from empleados as E where E.sexo= 'F'; 15 10. Inserte su registro como empleado e inserte 3 inscripciones a 3 cursos para usted. a) insert into empleados (nombre,paterno,materno,fecha_ingreso,calleynumero,colonia,estado, telefono,correo,sexo,idpuesto,iddepartamento,edo_civil,profesion,nivel_estudios,fechanac, fecha_actualizacion) values('Reyna','García','Belmont','2017-02-24','San Pablo Xalpa 434','San Pablo','Ciudad de México','55555555','garbelmont@yahoo.com.mx','F',14,9,'C','Analista','L','1972-01-06', '2017-02-24'); select * from empleados where(nombre='Reyna'); b) insert into inscripciones (idcalendario,idempleado,practica,teoria,final,resultado) values(2,151,8.5,8.5,8.5,'Aprobado'); insert into inscripciones (idcalendario,idempleado,practica,teoria,final,resultado) values(4,151,8.5,8.5,8.5,'Aprobado'); insert into inscripciones (idcalendario,idempleado,practica,teoria,final,resultado) values(10,151,8.5,8.5,8.5,'Aprobado'); 16 c) select * from inscripciones where (idempleado=151); 11. Capture la pantalla para tener la evidencia y elimine posteriormente una de las inscripciones. delete from inscripciones where(idempleado=151 and idcalendario=10); 17 12. Elimine a todos los empleados de Contabilidad ¿Cuántos empleados eliminó? delete from empleados where(iddepartamento=2); 18 Conclusiones y comentarios Durante este proyecto aprendí una nueva manera de consultar bases de datos a través de xampp, aunque este tiene muchísimas funciones nos centramos en nuestra base de datos de empresa, consultando, eliminando y modificando la base de datos. Este programa me pareció más amigable a la vista en comparación con la consola de comandos; aunque me fué un poco difícil instalarlo, pues en el principio debíamos cambiar los puertos finalmente valió la pena, pues es un entorno muy versátil. A continuación una captura con la fecha y hora para evidenciar la actividad. 19 Referencias ¿Qué es XAMPP y para que sirve? (s. f.). janda. Recuperado 8 de diciembre de 2021, de http://janda1617smr2curro.blogspot.com/2017/03/que-es-xampp-y-para-que-sirve.html Pineda, J. M. V. (2016, 29 octubre). Qué es y qué nos ofrece la herramienta phpMyAdmin. Dominios, alojamiento web, hosting y servidores dedicados. Recuperado 8 de diciembre de 2021, de https://www.coriaweb.hosting/nos-ofrece-phpmyadmin/ 20