You are on page 1of 6

create database BDACADEMICO_CUSCO

go
Create table [CARRERA]
(
[Cod_Carrera] Char(2) NOT NULL,
[nombre] Varchar(30) NOT NULL,
[facultad] Varchar(30) NOT NULL,
Primary Key ([Cod_Carrera])
)
go
Create table [ALUMNO]
(
[Cod_Alumno] Varchar(11) NOT NULL,
[Nombre] Varchar(30) NOT NULL,
[AP_Paterno] Varchar(30) NOT NULL,
[AP_Materno] Varchar(30) NOT NULL,
[DNI] Char(8) NOT NULL,
[LM] Char(8) NULL,
[Telefono] Varchar(12) NOT NULL,
[Direccion] Varchar(30) NOT NULL,
[Email] Varchar(30) NULL,
[Cod_Carrera] Char(2) NOT NULL,
Primary Key ([Cod_Alumno])
)
go
Create table [SEMESTRE]
(
[Cod_Semestre] Varchar(10) NOT NULL,
[Tipo] Varchar(10) Default 'Regular' NOT NULL Check (Tipo in ('Regular',
'Vacaional') ),
[Fecha_Inicio] Datetime NOT NULL,
[Fecha_Fin] Datetime NOT NULL,
Primary Key ([Cod_Semestre])
)
go
Create table [ASIGNATURA]
(
[Cod_Asignatura] Char(7) NOT NULL,
[Nombre_Asignatura] Varchar(50) NOT NULL,
[Credito] Integer NOT NULL Check (Credito>0 and Credito<11 ),
[Categoria] Varchar(5) NOT NULL,
Primary Key ([Cod_Asignatura])
)
go
Create table [DETALLE_MATRICULA]
(
[Nota] Integer Default 0 NOT NULL Check (Nota>=0 and Nota<=20 ),
[Fecha_Entrega] Datetime NOT NULL,
[Cod_Alumno] Varchar(11) NOT NULL,
[Cod_Semestre] Varchar(10) NOT NULL,
[Cod_Asignatura] Char(7) NOT NULL,
Primary Key ([Cod_Alumno],[Cod_Semestre],[Cod_Asignatura])
)
go
Create table [MATRICULA]
(
[Fecha] Datetime NOT NULL,
[Cod_Alumno] Varchar(11) NOT NULL,
[Cod_Semestre] Varchar(10) NOT NULL,
[Num_Asignatura] Integer NOT NULL,
[Num_Creditos] Integer Default 0 NOT NULL Check (Num_Creditos >=0 and Nu
m_Creditos <=30 ),
[Estado] Char(1) Default 'R' NOT NULL Check (Estado in ('R', 'N') ),
Primary Key ([Cod_Alumno],[Cod_Semestre])
)
go
Alter table [ALUMNO] add foreign key([Cod_Carrera]) references [CARRERA] ([Cod_
Carrera]) on update no action on delete no action
go
Alter table [MATRICULA] add foreign key([Cod_Alumno]) references [ALUMNO] ([Cod
_Alumno]) on update no action on delete no action
go
Alter table [MATRICULA] add foreign key([Cod_Semestre]) references [SEMESTRE] (
[Cod_Semestre]) on update no action on delete no action
go
Alter table [DETALLE_MATRICULA] add foreign key([Cod_Asignatura]) references [A
SIGNATURA] ([Cod_Asignatura]) on update no action on delete no action
go
Alter table [DETALLE_MATRICULA] add foreign key([Cod_Alumno],[Cod_Semestre]) re
ferences [MATRICULA] ([Cod_Alumno],[Cod_Semestre]) on update no action on delet
e no action
go
Set quoted_identifier on
go
Set quoted_identifier off
go
-- INGRESAMOS DATOS A LA TABLA ASIGNATURA
INSERT INTO ASIGNATURA VALUES ('SI101','LENGUAJE DE PROGRAMACION',3,'AFG')
INSERT INTO ASIGNATURA VALUES ('SI102','MATEMATICA',4,'AFG')
INSERT INTO ASIGNATURA VALUES ('SI103','REALIDAD NACIONAL',3,'AFG')
INSERT INTO ASIGNATURA VALUES ('SI201','INGENIERIA DE SISTEMAS',4,'AFG')
-- INGRESAMOS DATOS A LA TABLA CARRERA
INSERT INTO CARRERA VALUES ('IS','INGENIERIA DE SISTEMAS','INGENIERIA')
INSERT INTO CARRERA VALUES ('IC','INGENIERIA CIVIL','INGENIERIA')
INSERT INTO CARRERA VALUES ('IA','INGENIERIA AMBIENTAL','INGENIERIA')
INSERT INTO CARRERA VALUES ('ED','EDUCACION','EDUCACION')
INSERT INTO CARRERA VALUES ('DE','DERECHO','CIENCIAS POLITICAS')
-- INGRESAMOS DATOS A LA TABLA SEMESTRE
--FORMATO DE FECHA: M/D/Y
INSERT INTO SEMESTRE VALUES ('2008-1','REGULAR','12/04/2008','11/08/2008')
INSERT INTO SEMESTRE VALUES ('2013-2','REGULAR','07/10/2013','11/12/2013')
INSERT INTO SEMESTRE VALUES ('2007-1','REGULAR','12/04/2007','11/08/2007')
INSERT INTO SEMESTRE VALUES ('2006-2','REGULAR','07/10/2006','11/12/2006')
SELECT * FROM SEMESTRE
-- INGRESAMOS DATOS A LA TABLA ALUMNO
INSERT INTO ALUMNO VALUES ('022288-H','LUIS','PAZ','BENITES','12345678','','9527
01691','AV. CIRCUNBALACION','LUISPAZ400@HOTMAIL.COM','IS')
INSERT INTO ALUMNO VALUES ('061151-J','MAGALI','LOAYZA','VELASQUE','48124349',''
,'983796501','URB. SAN MARTIN','MAGUITA@HOTMAIL.COM','IS')
INSERT INTO ALUMNO VALUES ('031443-B','JOSE CARLOS','NUES','DEL SOLAR','47837376'
,'','952708760','PLANETA MELMAN','ALF@HOTMAIL.COM','IS')
INSERT INTO ALUMNO VALUES ('031556-D','JAVIER','CRUZ','VIDAL','41171415','','555
645455','PLANETA MELMAN','ALF@HOTMAIL.COM','IS')
INSERT INTO ALUMNO VALUES ('031111-D','NOMBRE1','APEPART1','VIDAL','41171401',''
,'555645455','PLANETA MELMAN','ALF@HOTMAIL.COM','IC')
INSERT INTO ALUMNO VALUES ('031113-D','NOMBRE2','APEPART2','VIDAL','41171402',''
,'555645455','PLANETA MELMAN2','ALF@HOTMAIL.COM','IA')
INSERT INTO ALUMNO VALUES ('031114-D','NOMBRE3','APEPART3','VIDAL','41171403',''
,'555645455','PLANETA MELMAN3','ALF@HOTMAIL.COM','DE')
INSERT INTO ALUMNO VALUES ('031115-D','NOMBRE4','APEPART4','VIDAL','41171494',''
,'555645455','PLANETA MELMAN4','ALF@HOTMAIL.COM','DE')
INSERT INTO ALUMNO VALUES ('031116-D','NOMBRE6','APEPART6','VIDAL','41171496',''
,'555645455','PLANETA MELMAN4','ALF@HOTMAIL.COM','ED')
INSERT INTO ALUMNO VALUES ('034443-D','JULIO','BERNE','ALGO','31171234','','5556
45455','PLANETA MELMAN4','ALF@HOTMAIL.COM','DE')
-- INGRESAMOS DATOS A LA TABLA MATRICULA
INSERT INTO MATRICULA VALUES ('04-14-2008','022288-H','2008-1',1,4,'R')
INSERT INTO MATRICULA VALUES ('04-12-2008','061151-j','2008-1',2,7,'R')
INSERT INTO MATRICULA VALUES ('02-15-2008','031443-b','2008-1',1,4,'R')
INSERT INTO MATRICULA VALUES ('02-28-2008','031556-D','2013-2',1,4,'R')
INSERT INTO MATRICULA VALUES ('10/07/2013','031443-b','2013-2',1,4,'R')
INSERT INTO MATRICULA VALUES ('10/07/2013','022288-H','2013-2',1,4,'R')
INSERT INTO MATRICULA VALUES ('10/08/2013','061151-J','2013-2',2,3,'R')
---MATRICULAMOS AL LOS ALUMNOS DE DERECHO
INSERT INTO MATRICULA VALUES ('10/05/2007','031114-D','2007-1',2,3,'R')
INSERT INTO MATRICULA VALUES ('11/05/2007','034443-D','2007-1',2,3,'R')
-- INGRESAMOS DATOS A LA TABLA DETALLE_MATRICULA
INSERT INTO DETALLE_MATRICULA VALUES (13,'08-13-2008','022288-H','2008-1','SI101
')
select * from alumno
select * from ASIGNATURA
select * from CARRERA
select * from DETALLE_MATRICULA
select * from MATRICULA
select * from SEMESTRE
--Pregunta 1 NMBRE DE LOS ALUNNOS Q PERTENECENA LA CARRERA DE DERECHO
select a.Nombre + ' ' + a.AP_Paterno +' '+ a.AP_Materno as 'Nombre Completo', c.
nombre
from ALUMNO a, CARRERA c
where a.Cod_Carrera=c.Cod_Carrera and c.Cod_Carrera='DE'
--pregunta 2 CUANTAS CARRERAS PROFESIONALES PERTENECEN A CADA FACULTAD DE LA UN
IVERSIDAD
select c.facultad, COUNT(c.nombre)
from CARRERA c
group by c.facultad
--pregunta 3 EL CODIGOY NOMBRE DE LOS ALUMNOS MATRICULADOS
select a.Cod_Alumno, a.Nombre + ' ' + a.AP_Paterno +' '+ a.AP_Materno as 'Nombre
Completo', c.nombre as 'Carrera'
from MATRICULA m, CARRERA c, ALUMNO a
where m.Cod_Alumno = a.Cod_Alumno and a.Cod_Carrera=c.Cod_Carrera
and c.Cod_Carrera ='DE' and m.Cod_Semestre='2007-1'
-- PREGUNTA 4
select a.Cod_Alumno, a.Nombre + ' ' + a.AP_Paterno +' '+ a.AP_Materno as 'Nombre
Completo'
from ALUMNO a, MATRICULA m, DETALLE_MATRICULA d, ASIGNATURA aa, CARRERA c
where aa.Cod_Asignatura=d.Cod_Asignatura and d.Cod_Alumno=m.Cod_Alumno
and d.Cod_Semestre = m.Cod_Semestre and m.Cod_Alumno = a.Cod_Alumno and a.Cod_Ca
rrera=c.Cod_Carrera
and aa.Cod_Asignatura='SI101' and c.facultad='INGENIERIA'
union
select a.Cod_Alumno, a.Nombre + ' ' + a.AP_Paterno +' '+ a.AP_Materno as 'Nombre
Completo'
from ALUMNO a, MATRICULA m, DETALLE_MATRICULA d, ASIGNATURA aa, CARRERA c
where aa.Cod_Asignatura=d.Cod_Asignatura and d.Cod_Alumno=m.Cod_Alumno
and d.Cod_Semestre = m.Cod_Semestre and m.Cod_Alumno = a.Cod_Alumno and a.Cod_Ca
rrera=c.Cod_Carrera
and aa.Cod_Asignatura='SI201' and c.facultad='INGENIERIA'

--PREGUNTA 5
select a.Cod_Alumno, a.Nombre + ' ' + a.AP_Paterno +' '+ a.AP_Materno as 'Nombre
Completo',
COUNT(m.Cod_Semestre) as 'Cantidad de Semestremes Matriculados'
from MATRICULA m, ALUMNO a, CARRERA c
where m.Cod_Alumno=a.Cod_Alumno and a.Cod_Carrera=c.Cod_Carrera and c.Cod_Carrer
a='ED'
group by a.Cod_Alumno, a.Nombre, a.AP_Materno, a.AP_Paterno
--pregunta 9
select AVG(d.Nota) as 'Promedio Aritmetico'
from DETALLE_MATRICULA d, MATRICULA m, ALUMNO a, CARRERA c
where d.Cod_Alumno=m.Cod_Alumno and d.Cod_Semestre = m.Cod_Semestre and m.Cod_Al
umno=a.Cod_Alumno
and a.Cod_Carrera=c.Cod_Carrera and m.Cod_Semestre='2007-1' and c.Cod_Carrera='I
S'
--pregunta 10
select A.Cod_Alumno, a.Nombre + ' ' + a.AP_Paterno +' '+ a.AP_Materno as 'Nombre
Completo', c.nombre
from MATRICULA m, ALUMNO a, CARRERA c
where m.Cod_Alumno=a.Cod_Alumno and a.Cod_Carrera = c.Cod_Carrera
and m.fecha BETWEEN '07/10/2006' AND '11/10/2006'
CREATE VIEW DATOS_MATRICULA
AS
SELECT A.Cod_Alumno,A.Nombre , A.AP_Paterno ,A.AP_Materno,A.Cod_Carrera , m.Cod_
Semestre
FROM ALUMNO A , MATRICULA M
WHERE A.Cod_Alumno=M.Cod_Alumno
create view alumnos_en_curso_lenguajes_programacion
as
select c.nombre as 'Carrera', a.Cod_Alumno, a.AP_Paterno, a.AP_Materno, a.Nombre
, aa.Nombre_Asignatura
from ASIGNATURA aa, DETALLE_MATRICULA d, MATRICULA m, ALUMNO a, CARRERA c
where aa.Cod_Asignatura = d.Cod_Asignatura and m.Cod_Semestre = d.Cod_Semestre a
nd
m.Cod_Alumno = d.Cod_Alumno and m.Cod_Alumno = a.Cod_Alumno and c.Cod_Carrera=a.
Cod_Carrera
and aa.Cod_Asignatura='SI101'
CREATE TRIGGER DISMINUIR_CREDITO
ON DETALLE_MATRICULA
FOR DELETE
AS
DECLARE @COD_ALUMNO VARCHAR (10)
DECLARE @COD_SEMESTRE VARCHAR (10
BEGIN
SELECT @COD_ALUMNO =Cod_Alumno, @COD_SEMESTRE =Cod_Semestre
FROM deleted
UPDATE MATRICULA
SET Num_Asignatura =Num_Asignatura-1
WHERE Cod_Alumno= @Cod_Alumno AND
Cod_Semestre=@Cod_Semestre
END

You might also like