Sei sulla pagina 1di 7

Universidad Tcnica de Manab

Facultad de Ciencias Informticas


Aplicacin de Base de Datos

TAREA #15

El comit de padres de familia de la institucin ha solicitado el listado de padres y madres


representantes por curso, La asociacin de profesores ha solicitado el listado de profesores
que trabajarn en este periodo lectivo y el departamento de bienestar estudiantil ha
solicitado el listado de estudiantes matriculados en el presente periodo lectivo.

1. Elabore los reportes en archivos planos con el formato que usted considere
adecuado para el envo de la informacin, justifique cada propuesta.
2. Elabore la instruccin para leer el contenido de estos archivos y vaciarlo a una
tabla, justifique cada propuesta.
Para realizar la siguiente tarea opte por ciertos conocimientos aprendido en clase lo que
aplique fueron vistas, inner join, unin y las instrucciones para exportar e importar datos
de tablas o ya sean consultas estructuradas para llegar a una determinada respuesta.

Primero realice las vistas:

use unidad;
Lista de profesores
/*LISTA DE PROFESORES*/
/*creo esta vista que esta conformada por inner join para demostrar el listado de
profesores,
el cual lo ordeno por el id del periodo lectivo, id de la persona y el id de la titulacin
realizo un if para definir si mi periodo es el actual, tambin igualo el cargo para que
solo sean los profesores, la vista tambin est creada para que cada que consulte se
remplaz en caso de que all nuevos registros
*/
CREATE OR REPLACE VIEW Profesores_Lista AS
select concat(p.ApellidoPaterno,' ', p.Nombres) as Profesores, f.cargo, f.Titulacion,
pl.Nombre, if(max(pl.IdPeriodoLectivo),'Periodo actual','Periodo pasado') as
Estado_Periodo
from personas p INNER JOIN profesores f ON p.IdPersona=f.IdPersona INNER JOIN
periodoslectivos pl ON pl.IdPeriodoLectivo=pl.IdPeriodoLectivo
INNER JOIN materiasprofesores m ON m.IdPeriodoLectivo = pl.IdPeriodoLectivo
AND f.IdPersona=m.IdPersonaProfesor
where f.cargo='Profesor' group by pl.IdPeriodoLectivo, p.IdPersona, f.Titulacion;
Lista de estudiantes
/*LISTA DE ESTUDIANTES*/
/* creo mi segunda vista que al igual que la primera est conformada por puros inner
join, la vista tambin est creada para que cada que consulte se remplace en caso de
que alla nuevos registros*/
INTEGRANTE:
- Welington Paul Leones Zambrano.
Universidad Tcnica de Manab
Facultad de Ciencias Informticas
Aplicacin de Base de Datos

TAREA #15

CREATE OR REPLACE VIEW Estudiante_Lista AS


select concat(p.ApellidoPaterno,' ', p.Nombres) as Estudiantes, e.Procedencia,
m.Folder, l.Nombre, if(max(m.IdPeriodoLectivo),'Periodo actual','Periodo pasado') as
Estado_Periodo
from personas p inner join estudiante e on p.IdPersona=e.IdPersona inner join
matriculas m on e.IdPersona=m.IdPersonaEstudiante
inner join periodoslectivos l on l.IdPeriodoLectivo=m.IdPeriodoLectivo group by
m.IdPeriodoLectivo, p.IdPersona, e.Procedencia, m.Folder;

Lista de padres
/*LISTADO DE PADRES DE FAMILIA*/
/*en este caso mi consulta esta conformada con una union que me permitira tener mi
lista de padres y madres de familia de los estudiantes, la vista tambien esta creada para
que cada que consulte se remplaze en caso de que alla nuevos registros*/

CREATE OR REPLACE VIEW Padres_Lista AS


(select concat(p.ApellidoPaterno, ' ', nombres) as Lista_Padres, p.telefono,
pr.ocupacion, c.curso, m.folder, p.direccion
from personas p, estudiante e, padres pr, cursos c, matriculas m
where pr.IdPersona=m.IdPersonaRepresentante and m.IdCurso=c.IdCurso
and p.Idpersona=pr.idpersona and p.idpersona=e.idpersonapapa) union (select
concat(p.ApellidoPaterno, ' ', nombres) as Lista_Padres, p.telefono, pr.ocupacion,
c.curso, m.folder, p.direccion
from personas p, estudiante e, padres pr, cursos c, matriculas m
where pr.IdPersona=m.IdPersonaRepresentante and m.IdCurso=c.IdCurso
and p.Idpersona=pr.idpersona and p.idpersona=e.idpersonamama);

Una vez creada las vistas proseguimos a crear nuestros archivos de salida con las
siguientes instrucciones
Instruccin para la lista de profesores
/*con estas lneas de instrucciones realizamos los que son archivos de salida los cuales
tienen una extensin ".txt"*/
select * from Profesores_Lista INTO OUTFILE "Profesores_Lista.txt" FIELDS
TERMINATED BY ';' OPTIONALLY
ENCLOSED BY '\"' LINES TERMINATED BY '\n\r';
Instruccin para la lista de estudiantes
select * from Estudiante_Lista INTO OUTFILE "Estudiante_Lista.txt" FIELDS
TERMINATED BY ';' OPTIONALLY
ENCLOSED BY '\"' LINES TERMINATED BY '\n\r';
Instruccin para la lista de padres

INTEGRANTE:
- Welington Paul Leones Zambrano.
Universidad Tcnica de Manab
Facultad de Ciencias Informticas
Aplicacin de Base de Datos

TAREA #15

select * from Padres_Lista INTO OUTFILE "Padres_Lista.txt" FIELDS


TERMINATED BY ';' OPTIONALLY
ENCLOSED BY '\"' LINES TERMINATED BY '\n\r';

Estos archivos estran creados en C:\wamp\bin\mysql\mysql5.1.53\data\unidad.

Ahora pasare a ver los archivos por dentro

INTEGRANTE:
- Welington Paul Leones Zambrano.
Universidad Tcnica de Manab
Facultad de Ciencias Informticas
Aplicacin de Base de Datos

TAREA #15

INTEGRANTE:
- Welington Paul Leones Zambrano.
Universidad Tcnica de Manab
Facultad de Ciencias Informticas
Aplicacin de Base de Datos

TAREA #15

Una vez que vemos que los archivos se han creado correctamente pasamos a vaciar estos
archivos en unas tablas alternativas.
/*creo tres tablas alternativas para vaciar lo que son mis archivos planos*/
CREATE TABLE IF NOT EXISTS tarea_profesores(
profesore varchar(102),
cargo varchar(50),
titulacion varchar(50),
nombre varchar(30),
periodo varchar(14)
);

CREATE TABLE IF NOT EXISTS tarea_estudiante(


estudiante varchar(102),
procedencia varchar(80),
folder varchar(80),
nombre varchar(30),
periodo varchar(14)
);

CREATE TABLE IF NOT EXISTS tarea_padres(


Lista_Padres varchar(101),
telefono varchar(15),
ocupacion varchar(80),
curso varchar(30),
folder varchar(80),
direccion varchar(150)
);

Una vez que ya estn cada las tablas aplicamos las siguientes lneas de instruccin para
la importacin de datos.
Instruccin para la lista de profesores
/*con esta linea de instrucciones vacio mis archivos creados en tablas alternativas que
e creado*/
LOAD DATA infile "Profesores_Lista.txt" INTO TABLE tarea_profesores FIELDS
TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n\r';
Instruccin para la lista de estudiantes
LOAD DATA infile "Estudiante_Lista.txt" INTO TABLE tarea_estudiante FIELDS
TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n\r';

INTEGRANTE:
- Welington Paul Leones Zambrano.
Universidad Tcnica de Manab
Facultad de Ciencias Informticas
Aplicacin de Base de Datos

TAREA #15

Instruccin para la lista de padres


LOAD DATA infile "Padres_Lista.txt" INTO TABLE tarea_padres FIELDS
TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n\r';

Una vez que ejecutemos estas instrucciones pasamos a consultar cada una de las tablas.
select * from tarea_padres;

select * from tarea_estudiante;

INTEGRANTE:
- Welington Paul Leones Zambrano.
Universidad Tcnica de Manab
Facultad de Ciencias Informticas
Aplicacin de Base de Datos

TAREA #15

select * from tarea_profesores;

Como podemos observar las tablas alternativas se llenaron correctamente.

INTEGRANTE:
- Welington Paul Leones Zambrano.

Potrebbero piacerti anche