Você está na página 1de 13

DROP DATABASE IF EXISTS BD_SistemaAcademico;

CREATE DATABASE BD_SistemaAcademico;

USE BD_SistemaAcademico;

CREATE TABLE TALUMNO (


CodAlumno CHAR(6) NOT NULL PRIMARY KEY,
NombreAlumno varchar(20) NOT NULL,
ApellidoPaternoAlumno varchar(20) NOT NULL,
ApellidoMaternoAlumno varchar(20) NOT NULL,
DNIAlumno numeric(8),

FechaNacimiento date,
DireccionAlumno varchar(45),
Sexo char(1),
TelefonoAlumno char(10),
EstadoAlumno varchar(15)

)ENGINE=InnoDB;
;

CREATE TABLE TSEMESTRE (


CodSemestre char(6) NOT NULL,
FechaInicio date NOT NULL,
FechaTermino date NULL,
Observacion varchar(50) NULL,
PRIMARY KEY (CodSemestre)
)ENGINE=InnoDB;

CREATE TABLE TESCUELAPROFESIONAL (


CodEscuelaProfesional char(3) NOT NULL,
NomEscuelaProfesional varchar(45) NOT NULL,
Observaci�n varchar(50),
PRIMARY KEY (CodEscuelaProfesional)
) ENGINE=InnoDB;

CREATE TABLE TDOCENTE (


CodDocente numeric(6) NOT NULL,
CodEscuelaProfesional char(3) NOT NULL,
NomDocente varchar(20) NOT NULL,
ApellidoPaternoDocente varchar(20)NOT NULL,
ApellidoMaternoDocente varchar(20)NOT NULL,
DireccionDocente varchar(45),
TelefonoDocente char(10),
Sexo char(1),
FechaNacimiento date,
DNIDocente numeric(8,0) NOT NULL,
CategoriaDocente varchar(12) NOT NULL,
CondicionDocente char(1),
PRIMARY KEY (CodDocente),
FOREIGN KEY (CodEscuelaProfesional)
REFERENCES TESCUELAPROFESIONAL(CodEscuelaProfesional)
)ENGINE=InnoDB;
CREATE TABLE TASIGNATURA (
CodAsignatura char(5) NOT NULL,
NomAsignatura varchar(50)NOT NULL,
NumeroCreditos smallint NOT NULL,
HorasTeoricas smallint NOT NULL,
HorasPractica smallint NOT NULL,
HorasLaboratorio smallint NOT NULL,
CategoriaAsignatura char(4) NOT NULL,
PRIMARY KEY (CodAsignatura)
)ENGINE=InnoDB;

CREATE TABLE TASIGNATURAPROGRAMADA (


IDAsignaturaProgramada int NOT NULL,
CodAsignatura char(5) NOT NULL,
CodSemestre char(6) NOT NULL,
CodDocente numeric(6)NOT NULL,
CodEscuelaProfesional char(3) NOT NULL,
Observacion varchar(50),
PRIMARY KEY (IDAsignaturaProgramada),
FOREIGN KEY (CodAsignatura)
REFERENCES TASIGNATURA (CodAsignatura),
FOREIGN KEY (CodSemestre)
REFERENCES TSEMESTRE (CodSemestre),
FOREIGN KEY (CodDocente)
REFERENCES TDOCENTE(CodDocente),
FOREIGN KEY (CodEscuelaProfesional)
REFERENCES TESCUELAPROFESIONAL (CodEscuelaProfesional)
)ENGINE=InnoDB;

CREATE TABLE TMATRICULA (


IDMatricula int NOT NULL,
CodAlumno CHAR(6) NOT NULL,
CodEscuelaProfesional char(3) NOT NULL,
CodSemestre char(6) NOT NULL,
FechaMatricula date,
TotalCreditos smallint NOT NULL,
Observacion varchar(50),
PRIMARY KEY (IDMatricula),
FOREIGN KEY (CodAlumno)
REFERENCES TALUMNO (CodAlumno),
FOREIGN KEY (CodEscuelaProfesional)
REFERENCES TESCUELAPROFESIONAL(CodEscuelaProfesional),
FOREIGN KEY (CodSemestre)
REFERENCES TSEMESTRE (CodSemestre)
)ENGINE=InnoDB;

CREATE TABLE TDETALLEMATRICULA (


IDMatricula int NOT NULL,
IDAsignaturaProgramada int NOT NULL,
FechaActas date,
Nota Char(3),
observacion char(35),
PRIMARY KEY (IDMatricula, IDAsignaturaProgramada),
FOREIGN KEY (IDAsignaturaProgramada)
REFERENCES TASIGNATURAPROGRAMADA (IDAsignaturaProgramada),
FOREIGN KEY (IDMatricula)
REFERENCES TMATRICULA (IDMatricula)
) ENGINE=InnoDB;

CREATE TABLE TREQUISITO (


CodAsignatura char(5) NOT NULL,
CodRequisito char(5) NOT NULL,
PRIMARY KEY (CodAsignatura,CodRequisito),
FOREIGN KEY (CodAsignatura)
REFERENCES TASIGNATURA (CodAsignatura)
)ENGINE=InnoDB;

-- TSemestre

INSERT INTO TSEMESTRE VALUES('2014-1','14/04/04','14/08/30','Res.Rectoral N�056-


2014');
INSERT INTO TSEMESTRE VALUES('2014-2','14/08/31','14/12/24','Res.Rectoral N�238-
2014');
INSERT INTO TSEMESTRE VALUES('2015-1','14/04/15','14/08/15','Res.Rectoral N�040-
2015');
INSERT INTO TSEMESTRE VALUES('2015-2','15/08/15','15/12/25','Res.Rectoral N�129-
2015');
INSERT INTO TSEMESTRE VALUES('2016-1','16/04/04','16/08/30','Res.Rectoral N�109-
2016');
INSERT INTO TSEMESTRE VALUES('2016-2','16/09/01','16/12/26','Res.Rectoral N�209-
2016');
INSERT INTO TSEMESTRE VALUES('2017-1','17/04/07','17/07/31','Res.Rectoral N�206-
2017');
INSERT INTO TSEMESTRE VALUES('2017-2','17/09/02','17/12/31','Res.Rectoral N�336-
2017');

-- Tabla TAlumno

INSERT INTO TALUMNO VALUES('091001','Anyinson


Cristofer','Acharte','Quispe','32496210',null,'Jr. Lima 420','M','','Egresado');
INSERT INTO TALUMNO
VALUES('091002','Jessica','Blanco','Cordova','32459213',null,'Jr. Lima
430','F','','Egresado');
INSERT INTO TALUMNO VALUES('091003','Axel
Andree','Caceres','Cansaya','32956215',null,'Jr. Puno 320','M','','Egresado');
INSERT INTO TALUMNO
VALUES('092001','Marbeli','Gutierrez','Franco','32486245',null,'Jr. Junin
320','F','','Regular');
INSERT INTO TALUMNO VALUES('092002','Margot','Huayta','Pati�o','38456255',null,'Jr.
Lima 123','F','','Regular');
INSERT INTO TALUMNO
VALUES('101001','Julian','Abarca','Ezequilla','32486298',null,'Jr. Lima
850','M','','Regular');
INSERT INTO TALUMNO
VALUES('101002','Yuri','Argamonte','Huamani','21536212',null,'Jr. Lima
420','M','','Regular');
INSERT INTO TALUMNO
VALUES('051010','Marco','Aguilar','Estrada','46556215',null,'Av. Peru
458','M','','Egresado');
INSERT INTO TALUMNO
VALUES('051005','Javier','Paredes','Montes','47556211',null,'Jr. Lima
458','M','','Egresado');
INSERT INTO TALUMNO
VALUES('052001','Olivia','Trujillo','Casas','48456212',null,'Jr. Lima
450','F','','Egresado');
INSERT INTO TALUMNO VALUES('111036','Yalu','Garay','Santos','32456120',null,'Av.
Peru 480','M','','Regular');
INSERT INTO TALUMNO
VALUES('111005','Veronica','Palomino','Montalvo','35556212',null,'Av. Peru
436','F','','Regular');
INSERT INTO TALUMNO VALUES('112046','Olga
Zarepta','Cuchillo','Caytuiro','32356222',null,'Av. Arequipa 40','F','','Regular');
INSERT INTO TALUMNO
VALUES('112047','Jose','Hurtado','Casaverde','32456262',null,'Av. Peru
420','M','','Regular');
INSERT INTO TALUMNO VALUES('121001','Jaime','Ojeda','Arriaga','26566212',null,'Jr.
Lima 120','M','','Ingresante');
INSERT INTO TALUMNO VALUES('141010','Luz','Vilca','Calvo','26002136',null,'Jr. Lima
120','M','','Regular');

-- TEscuelaProfesional

INSERT INTO TESCUELAPROFESIONAL VALUES('IiS','Ingenier�a Inform�tica y


Sistemas','');
INSERT INTO TESCUELAPROFESIONAL VALUES('IM','Ingenier�a de Minas','');
INSERT INTO TESCUELAPROFESIONAL VALUES('IAG','Ingenier�a Agroindustrial','');
INSERT INTO TESCUELAPROFESIONAL VALUES('IC','Ingenier�a Civil','');

-- TDocente

INSERT INTO TDOCENTE VALUES


(10801,'IIS','Jorge','Serrano','Quispe','','','M',null,'23421563','Auxiliar','C');
INSERT INTO TDOCENTE VALUES (10802,'IIS','Jose
Luis','Merma','Aroni','','','M',null,'23789456','Asociado','N');
INSERT INTO TDOCENTE VALUES
(10803,'IIS','Wilber','Colque','Candia','','','M',null,'23894561','Auxiliar','C');
INSERT INTO TDOCENTE VALUES
(10804,'IIS','Evelyn','Luque','Ochoa','','','F',null,'46892310','Auxiliar','N');
INSERT INTO TDOCENTE VALUES
(10805,'IIS','Erech','Ordo�ez','Ramos','','','M',null,'00496385','Auxiliar','N');
INSERT INTO TDOCENTE VALUES
(10806,'IM','Shermila','Santos','Guerra','','','F',null,'45612378','Asociado','N');
INSERT INTO TDOCENTE VALUES
(10807,'IM','Jhon','Zegarra','Sierra','','','M',null,'78945612','Asociado','C');
INSERT INTO TDOCENTE VALUES
(10808,'IAG','Rosa','Marrufo','Lude�a','','','F',null,'23964521','Principal','N');

-- TAsignatura
INSERT INTO TASIGNATURA VALUES ('IS101','Introducci�n a la Inform�tica y
Sistemas',4,3,0,2,'AFPO');
INSERT INTO TASIGNATURA VALUES ('IS102','Matem�tica Discreta I',4,3,2,0,'AFPB');
INSERT INTO TASIGNATURA VALUES ('IS103','Matem�ticas B�sicas',4,3,2,0,'AFG');
INSERT INTO TASIGNATURA VALUES ('IS201','Algoritmica I',5,3,0,4,'AFPO');
INSERT INTO TASIGNATURA VALUES ('IS202','Matem�tica Discreta II',4,3,2,0,'AFPB');
INSERT INTO TASIGNATURA VALUES ('IS203','Geometr�a Anal�tica',4,3,2,0,'AFG');
INSERT INTO TASIGNATURA VALUES ('IS301','Algotitmica II',5,3,0,4,'AFPO');
INSERT INTO TASIGNATURA VALUES ('IS302','Sistemas Operativos',4,3,0,2,'AFPO');
INSERT INTO TASIGNATURA VALUES ('IS303','Calculo I',4,3,2,0,'AFPB');
INSERT INTO TASIGNATURA VALUES ('IS401','Algoritmica III',5,3,0,4,'AFPO');
INSERT INTO TASIGNATURA VALUES ('IS402','Base de Datos I',4,3,0,2,'AFPO');
INSERT INTO TASIGNATURA VALUES ('IS405','Calculo II',4,3,2,0,'AFPB');
INSERT INTO TASIGNATURA VALUES ('IS501','Taller de Programaci�n I',2,0,2,2,'AFPO');
INSERT INTO TASIGNATURA VALUES ('IS502','Base de Datos II',4,3,0,2,'AFPO');

-- TAsignaturaProgramada

INSERT INTO TASIGNATURAPROGRAMADA VALUES(1,'IS101' , '2014-2' , '10802', 'IIS','');


INSERT INTO TASIGNATURAPROGRAMADA VALUES(2,'IS102' , '2014-2' , '10803', 'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(3,'IS103' , '2014-2' , '10803', 'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(4,'IS101' , '2015-1' , '10802', 'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(5,'IS102' , '2015-1' , '10808', 'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(6,'IS103' , '2015-1' , '10808', 'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(7,'IS201' , '2015-1' , '10801', 'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(8,'IS202' , '2015-1' , '10808', 'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(9,'IS203' , '2015-1' , '10803', 'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(10,'IS101' , '2015-2' , '10802',
'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(11,'IS102' , '2015-2' , '10808',
'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(12,'IS103' , '2015-2' , '10802',
'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(13,'IS201' , '2015-2' , '10801',
'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(14,'IS202' , '2015-2' , '10806',
'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(15,'IS203' , '2015-2' , '10808',
'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(16,'IS301' , '2015-2' , '10804',
'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(17,'IS302' , '2015-2' , '10805',
'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(18,'IS303' , '2015-2' , '10808',
'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(19,'IS303' , '2016-1' , '10808',
'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(20,'IS101' , '2016-1' , '10802',
'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(21,'IS102' , '2016-1' , '10808',
'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(22,'IS103' , '2016-1' , '10802',
'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(23,'IS201' , '2016-1' , '10801',
'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(24,'IS202' , '2016-1' , '10806',
'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(25,'IS203' , '2016-1' , '10808',
'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(26,'IS301' , '2016-1' , '10804',
'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(27,'IS302' , '2016-1' , '10805',
'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(28,'IS303' , '2016-1' , '10808',
'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(29,'IS401' , '2016-1' , '10802',
'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(30,'IS402' , '2016-1' , '10808',
'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(31,'IS103' , '2016-2' , '10802',
'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(32,'IS201' , '2016-2' , '10801',
'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(33,'IS202' , '2016-2' , '10806',
'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(34,'IS203' , '2016-2' , '10808',
'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(35,'IS301' , '2016-2' , '10804',
'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(36,'IS302' , '2016-2' , '10805',
'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(37,'IS303' , '2016-2' , '10808',
'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(38,'IS302' , '2016-2' , '10805',
'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(39,'IS303' , '2016-2' , '10808',
'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(40,'IS401' , '2016-2' , '10805',
'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(41,'IS402' , '2016-2' , '10808',
'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(42,'IS501' , '2016-2' , '10805',
'IIS','');
INSERT INTO TASIGNATURAPROGRAMADA VALUES(43,'IS502' , '2016-2' , '10808',
'IIS','');

-- Tmatricula

INSERT INTO TMATRICULA VALUES(1,'091001','IIS','2014-2','14/08/14',12,'');


INSERT INTO TMATRICULA VALUES(2,'091002','IIS','2014-2','14/08/14',12,'');
INSERT INTO TMATRICULA VALUES(3,'091001','IIS','2015-1','15/05/15',12,'');
INSERT INTO TMATRICULA VALUES(4,'091002','IIS','2015-1','15/05/15',12,'');
INSERT INTO TMATRICULA VALUES(5,'092001','IIS','2015-1','15/05/15',12,'');
INSERT INTO TMATRICULA VALUES(6,'092002','IIS','2015-1','15/05/15',12,'');
INSERT INTO TMATRICULA VALUES(7,'091001','IIS','2015-2','15/09/02',0,'');
INSERT INTO TMATRICULA VALUES(8,'092001','IIS','2015-2','15/09/02',0,'');
INSERT INTO TMATRICULA VALUES(9,'101001','IIS','2015-2','15/09/02',0,'');
INSERT INTO TMATRICULA VALUES(10,'101002','IIS','2015-2','15/09/02',0,'');
INSERT INTO TMATRICULA VALUES(11,'092001','IIS','2016-1','16/04/03',0,'');
INSERT INTO TMATRICULA VALUES(12,'092001','IIS','2016-2','16/09/02',0,'');
INSERT INTO TMATRICULA VALUES(13,'091001','IIS','2016-1','16/04/03',12,'');
INSERT INTO TMATRICULA VALUES(14,'091001','IIS','2016-2','16/09/02',12,'');
INSERT INTO TMATRICULA VALUES(15,'101002','IIS','2016-1','16/04/03',8,'');
INSERT INTO TMATRICULA VALUES(16,'101002','IIS','2016-2','16/09/02',8,'');
INSERT INTO TMATRICULA VALUES(17,'121001','IIS','2016-2','16/09/02',8,'');
-- TDetalleMatricula

INSERT INTO TDETALLEMATRICULA VALUES (1,1,NULL,10,'');


INSERT INTO TDETALLEMATRICULA VALUES (1,2,NULL,13,'');
INSERT INTO TDETALLEMATRICULA VALUES (1,3,NULL,13,'');
INSERT INTO TDETALLEMATRICULA VALUES (2,1,NULL,15,'');
INSERT INTO TDETALLEMATRICULA VALUES (2,2,NULL,09,'');
INSERT INTO TDETALLEMATRICULA VALUES (2,3,NULL,13,'');
INSERT INTO TDETALLEMATRICULA VALUES (3,4,NULL,12,'');
INSERT INTO TDETALLEMATRICULA VALUES (3,8,NULL,12,'');
INSERT INTO TDETALLEMATRICULA VALUES (3,9,NULL,10,'');
INSERT INTO TDETALLEMATRICULA VALUES (4,7,NULL,12,'');
INSERT INTO TDETALLEMATRICULA VALUES (4,5,NULL,13,'');
INSERT INTO TDETALLEMATRICULA VALUES (4,9,null,13,'');
INSERT INTO TDETALLEMATRICULA VALUES (5,4,null,13,'');
INSERT INTO TDETALLEMATRICULA VALUES (5,5,null,15,'');
INSERT INTO TDETALLEMATRICULA VALUES (5,6,null,14,'');
INSERT INTO TDETALLEMATRICULA VALUES (6,4,null,12,'');
INSERT INTO TDETALLEMATRICULA VALUES (6,5,null,15,'');
INSERT INTO TDETALLEMATRICULA VALUES (6,6,null,05,'');
INSERT INTO TDETALLEMATRICULA VALUES (11,18,null,05,'');
INSERT INTO TDETALLEMATRICULA VALUES (13,30,null,10,'');
INSERT INTO TDETALLEMATRICULA VALUES (14,35,null,10,'');
INSERT INTO TDETALLEMATRICULA VALUES (14,40,null,12,'');
INSERT INTO TDETALLEMATRICULA VALUES (14,42,null,14,'');
INSERT INTO TDETALLEMATRICULA VALUES (11,19,null,10,'');
INSERT INTO TDETALLEMATRICULA VALUES (11,30,null,10,'');
INSERT INTO TDETALLEMATRICULA VALUES (12,35,null,10,'');
INSERT INTO TDETALLEMATRICULA VALUES (12,40,null,12,'');
INSERT INTO TDETALLEMATRICULA VALUES (12,41,null,13,'');
INSERT INTO TDETALLEMATRICULA VALUES (12,42,null,14,'');
INSERT INTO TDETALLEMATRICULA VALUES (15,30,null,13,'');
INSERT INTO TDETALLEMATRICULA VALUES (16,41,null,11,'');
INSERT INTO TDETALLEMATRICULA VALUES (16,43,null,13,'');
INSERT INTO TDETALLEMATRICULA VALUES (16,42,null,14,'');
INSERT INTO TDETALLEMATRICULA VALUES (17,31,null,11,'');
INSERT INTO TDETALLEMATRICULA VALUES (17,32,null,13,'');
INSERT INTO TDETALLEMATRICULA VALUES (17,33,null,14,'');

delimiter $$
-- drop procedure if exists sp_insertsemestre$$
create procedure sp_insertsemestre(CodSemestre char(6), fechain date, fechafin date
,observ varchar(100))
begin
insert into tsemestre
values(CodSemestre,fechain,fechafin,observ);
end $$
delimiter ;

call sp_insertsemestre('2018-1','2018-04-01','2018-07-31','s/r');

-- crear un procedimiento para insertar registros a la tabla asignatura


select *from tasignatura
delimiter $$
-- drop procedure if exists sp_asignatura$$
create procedure sp_asignatura(Codasignatura char(5), nombre_asignatura
varchar(50), numeroCreditos int ,
horasteoricas int ,horasPraticas int ,horasLaboratori int
,categoriaAsignatura char(4))
begin
insert into tasignatura
values(Codasignatura, nombre_asignatura ,numeroCreditos,
horasteoricas,horasPraticas,horasLaboratori,categoriaAsignatura);
end $$

delimiter ;

call sp_asignatura ('256po','algebra linear',5,3,2,0,'AFPO');

select *from tdocente order by 1 desc;


describe tdocente;

delimiter $$
create procedure sp_interdocente(codescuelprofecinal char(3),nomdoc varchar(20),AP
varchar(20),AM varchar(20),dni int, cat varchar(12))
begin
set @codigo=(select max(CodDocente) + 1 from tdocente);
insert into
tdocente(CodDocente,CodEscuelaProfesional,NomDocente,ApellidoPaternoDocente,Apellid
oMaternoDocente,DNIDocente,CategoriaDocente)
values(@codigo,codescuelprofecinal,nomdoc,AP,AM,dni,cat);

end $$

delimiter ;

call sp_interdocente ('iis','carlos','ampuero','juro',46743045,'principal');

-- crear un procedimiento almacenado para l tabla semestre


select *from tsemestre;

set SQL_SAFE_UPDATES=0;
delimiter $$
drop procedure if exists sp_updatesertsemestre$$

create procedure sp_updatesertsemestre(CodSemes char(6), fechain date, fechafin


date ,observ varchar(100))
begin
update tsemestre
set FechaInicio=fechain,FechaTermino=fechafin,
Observacion=observ
where CodSemestre=CodSemes;

end $$
delimiter ;

call sp_updatesertsemestre('2018-1','2018-04-01','2018-07-31','RESOLUCION N12-


2016xxxx');

select*from tsemestre
-- CREAR U PARA LA TABLA SEMESTRE
DELIMITER $$
DROP PROCEDURE IF EXISTS SP_UPDATESEMESTRE $$
CREATE PROCEDURE SP_UPDATESEMESTRE
(CODSEMES CHAR(6), FECHAIN DATE, FECHAFIN DATE,
OBSERV VARCHAR(100))
BEGIN
UPDATE TSEMESTRE
SET FECHAINICIO=FECHAIN,FECHATERMINO=FECHAFIN,OBSERVACION=OBSERV
WHERE CODSEMESTRE=CODSEMES;

END $$
DELIMITER ;
-- LLAMAR
CALL SP_UPDATESEMESTRE ('2018-1','2018-04-01','2018-07-30','RESOLUCION N15-
2019yyyyy');

select *from tmatricula;

select FechaMatricula,year(now()) as a�o ,


case when month(FechaMatricula)<7 then'primer semeste'
else 'segundo semestre' end as semestre

, case when month(FechaMatricula)<3 then'primer trimestre'


when month(FechaMatricula) between 4 and 6 then 'segundo
semestre'
when month(FechaMatricula) between 7 and 9 then 'trecer
semestre'
else 'cuarto semestre' end as trimestre
,monthname(FechaMatricula) as mes
from tmatricula;

-- cod alumno nombre promedio ponderado rendimiendo


select ta.CodAlumno,concat(NombreAlumno,' ',ApellidoPaternoAlumno,'
',ApellidoMaternoAlumno) as alumno,
floor(sum(NumeroCreditos* Nota)/sum(NumeroCreditos))as promedio_ponderado,
case when floor(sum(NumeroCreditos* Nota)/sum(NumeroCreditos)) <11 then
'bajo'
when floor(sum(NumeroCreditos* Nota)/sum(NumeroCreditos))
between 11 and 13 then 'regular'
else 'bueno' end as rendimiendo
from talumno ta inner join tmatricula tm
on ta.CodAlumno=tm.CodAlumno
inner join tdetallematricula td
on td.IDMatricula=tm.IDMatricula
inner join tasignaturaprogramada tas
on tas.IDAsignaturaProgramada=td.IDAsignaturaProgramada
inner join tasignatura tasi
on tasi.CodAsignatura=tas.CodAsignatura
group by ta.CodAlumno,alumno;
-- si el numero de alumnos de la asignatura de bd 1 es menor a 7 alumnos
entoces debe visualizar un mensaje que
-- indique no se apertura la asignatura caso contrario asignatura programada
select count(*) as alumnos_matriculados,
case when(count(*))>7 then 'no se apretura la asignatura'
else 'se apertura la asignatura' end as mensaje
from tmatricula tm inner join tsemestre ts
on tm.CodSemestre=ts.CodSemestre
where ts.CodSemestre='2016-1'

delimiter $$
create procedure Sp_reportealumnos()
begin
select *from talumno;
end $$
delimiter ;

call Sp_reportealumnos;

delimiter $$
drop procedure if exists sp_reportebd2 $$
create procedure sp_reportebd2()
begin
select concat(NombreAlumno,' ',ApellidoPaternoAlumno,' ',ApellidoMaternoAlumno) as
nombre,Nota
from talumno ta inner join tmatricula tm
on ta.Codalumno=tm.Codalumno
inner join tdetallematricula td
on td.IdMatricula=tm.IdMatricula
inner join tasignaturaprogramada tap
on tap.IDAsignaturaProgramada=td.IDAsignaturaProgramada
inner join tasignatura tg
on tg.CodAsignatura=tap.CodAsignatura
where NomAsignatura='base de datos II ' and tm. CodSemestre='2016-2';
end $$
delimiter ;

call sp_reportebd2

SET LC_TIME_NAMES = 'ES_PE';

-- NOW(): FECHA ACTUAL DEL SISTEMA


-- A�O / MES / DIA

SELECT NOW()AS FECHA;

-- FUNCION: YEAR(), ME DEVUELVE EN A�O


-- MONTH() ME DEVUELVE EL MES
-- DAY() ME DEVUELVE EL DIA
SELECT YEAR(NOW()) AS A�O;
SELECT MONTH(NOW()) AS MES;
SELECT DAY(NOW()) AS DIA;

-- LA FUNCION MONTHNAME(): RETORNA EL NOMBRE DEL MES


SELECT monthname('2010-09-23');

-- DAYNAME(): RETORNA EL DIA DE LA SEMANA


SELECT DAYNAME('2010-09-23');

-- VISUALIZA EL NOMBRE DEL MES, DIA


SELECT DAYNAME(NOW()) AS NOMBRE_DIA;
SELECT monthname(NOW()) AS NOMBRE_MES;

-- DATE(): RETORNA SOLO LA FECHA


SELECT NOW() AS FECHA;
SELECT DATE (NOW()) AS FECHA;

-- CURDATE(): RETORNA SOLO LA FECHA ACTUAL


SELECT CURDATE() AS FECHA;

-- RETORNA LA FECHA EN UN FORMATO ESPECIFICO


SELECT date_format(NOW(), '%d / %m / %y') AS FECHA ;
SELECT date_format(NOW(), '%d / %M / %Y') AS FECHA ;

-- ABANCAY, 22 OCUBRE DEL 2019


SELECT CONCAT('ABANCAY,',date_format(NOW(), '%d / %M / %Y')) AS FECHA ;

-- ABANCAY, 22 de octubre de 2019


SELECT CONCAT('ABANCAY,',date_format(NOW(), '%d de %M de %Y')) AS FECHA ;

-- ABANCAY, 22 de octubre de 2019


-- utilizar las funciones day , monthname, year
SELECT CONCAT ( 'ABANCAY, ', DAY(NOW()) ,' de ',monthname(NOW()),' de ',
YEAR(NOW()) ) AS FECHA;

-- DATE_ADD: AGREGA CIERTO VALOR A UNA PARTE ESPECIFICA


-- DE UNA FECHA
-- INCREMENTAR EL A�O EN 2 A�OS
SELECT date_add(NOW(), INTERVAL 2 YEAR) AS A�O;
SELECT date_add(NOW(), INTERVAL 2 DAY) AS DIA;
SELECT date_add(NOW(), INTERVAL 2 MONTH) AS MES;

SELECT YEAR(date_add(NOW(), INTERVAL 2 YEAR)) AS A�O;

-- CALCUAR NUESTRA EDAD

SELECT YEAR(NOW()) - YEAR('2000-05-07') AS EDAD;

-- VISUALIZAR EL DIA ,MES Y A�O MES YLA FECHA DE LA TABLA MATRICULA

SELECT * FROM TMATRICULA;

SELECT FECHAMATRICULA, DAY(FECHAMATRICULA) AS DIA,


MONTH(FECHAMATRICULA) AS MES, YEAR(FECHAMATRICULA) AS A�O
FROM TMATRICULA;

-- VISUALIZAR O LISTAR A LOS ALUMNOS QUE SE HAN MATRICULADO EN EL A�O 2016


SELECT * FROM TALUMNO;
SELECT * FROM TMATRICULA;

SELECT DISTINCT TA.CODALUMNO AS CODIGO, CONCAT(NOMBREALUMNO,'


',APELLIDOPATERNOALUMNO,' ',APELLIDOMATERNOALUMNO) AS ALUMNO
FROM TALUMNO TA INNER JOIN TMATRICULA TMA
ON TA.CODALUMNO=TMA.CODALUMNO
WHERE YEAR(FECHAMATRICULA)=2016;

-- CUANTOS ALUMNOS SE HAN MATRICULADO POR A�O

SELECT YEAR(FECHAMATRICULA), COUNT(DISTINCT CODALUMNO) AS TOTAL


FROM TMATRICULA
GROUP BY YEAR(FECHAMATRICULA);

-- FUNCONES DE CARACTER

-- UPPER: CONVERTIR TECTO DE MINISCULA A MAYUSCULA


-- LOWER: CONVERTIR TECTO DE MAYUSCULA A MINISCULA

-- EJM
-- SELECT 'hola'
SELECT UPPER ('hola') as MAYUSCULA;
SELECT LOWER ('HOLA') AS Minuscula;

-- SUBSTRING: PERMITE SUBSTRAER UNA CADENA DE CARACTERES (texto, ubicacion,


nro_caracteres)

SELECT SUBSTRING('HOLA',3,2);

-- LEFT : SUSTRAER CARACTERES DEL LADO IZQUIERDO (TEXTO, NRO_CARACTERES)


-- RIGHT: SUBSTRAER CARACTERES DEL LADO DERECHO (TEXTO, NRO_CARACTERES)

SELECT RIGHT('HOLA', 2);


SELECT LEFT('HOLA', 2);

-- LTRIM: ELIMINAR LOS ESAPACIOS VACIOS POR EL LADO IZQUIERDO


-- RTRIM: ELIMINAR LOS ESAPCIOS VACIOS POR EL LADO DERECGO

SELECT ' Hola';


SELECT LTRIM(' Hola') AS ESPACIO_VACIO;
SELECT CONCAT('HOLA ','MARIA') AS NOMBRE;
SELECT CONCAT (RTRIM('HOLA '),' ', 'MARIA') AS
NOMBRE;

-- LENGTH: PERMITE DETERMINAR LA LONGITUD DE UN TEXTO

SELECT 'HOLA';
SELECT LENGTH('HOLA') AS LONGITUD;
SELECT LENGTH('HOLA ') AS LONGITUD; -- CUENTA LOS
ESPACIOS
SELECT CONCAT(' HOLA ', 'MARIA') AS
LONGITUD;
SELECT CONCAT (RTRIM(LTRIM(' HOLA
')),' ', 'MARIA') AS NOMBRE; -- ELIMINA ESPACIOS

-- TRIM: ELIMINA ESPACIOS VACIOS


SELECT CONCAT (TRIM(' HOLA '),' ',
'MARIA') AS NOMBRE;

-- CONSULTAS CON FUNCIONES DE CARACTER


-- VISUALIZAR EL CODIGO DEL ESTUDIANTE
-- CODIGO_ESTUDIANTE ESTUDIANTE DNI
-- 19AN56
-- DOS ULTIMOS PRIMER CARACTERER DE PRIMER CARACTERER DE
-- DIGITOS DEL A�O APELLIDO PATERNO APELLIDO MATERNO
SELECT CONCAT ( RIGHT(YEAR(NOW()),2), LEFT(APELLIDOPATERNOALUMNO,1),
LEFT(APELLIDOMATERNOALUMNO,1), substring(DNIALUMNO, 4, 2)) AS CODIGO_ESTUDIANTE,
NOMBREALUMNO AS ESTUDIANTE, DNIALUMNO AS DNI
FROM TALUMNO

Você também pode gostar