Sie sind auf Seite 1von 5

PRACTICO DE BASE DE DATOS II

create database Practica1


create table alumno(
registro int primary key,
nombre varchar (30),
paterno varchar (30),
materno varchar (30),
mail varchar (30),
fecha_nac date not null
)

create table materia(


sigla varchar (10) primary key,
nombre varchar(30) not null
)

create table prerequisito(


sigla varchar(10),
requisito varchar(10),
primary key(sigla,requisito),
foreign key (sigla)references materia(sigla),
foreign key (requisito)references materia(sigla)
)

create table Alumno_Materia(


registro int,
sigla varchar (10),
nota float (10)
primary key(registro,sigla),
foreign key (registro) references alumno(registro),
foreign key (sigla) references materia(sigla)
)

select *from alumno


insert into alumno values (212125834, 'messi' , 'visca' , 'barsa','','16/07/1993')
insert into alumno values (211024568, 'cristiano' , 'ronaldo' , 'alamadrid','cr7_rm@gmail.com' ,
'12/02/1995')
insert into alumno values (214025693, 'benzema' , 'frances' , 'alamadrid',
'ben10_00@hotmail.com' , '23/10/1984')
insert into alumno values (278512541, 'garet' , 'bale' , 'gales','','05/05/1990')
insert into alumno values (223647893, 'lucas' , 'modrid' , 'croata', '' ,'23/03/1994')
insert into alumno values (276621825, 'samuel' , 'umtiti' , 'viscabarsa',
'samy_barsa@hotmail.com' , '30/03/1994')
insert into alumno values (298542130, 'tonny' , 'croos' , 'alamadrid','' ,'25/12/1990')
insert into alumno values (211245698, 'marcelo' , 'alamadrid' , 'brazil','' ,'13/12/1991')
insert into alumno values (202365445, 'sergio' , 'ramos' , 'espn','' ,'13/12/1989')
insert into alumno values (298521034, 'pepe' , 'alamadrid' , 'portugues',
'alamadrid6@gmail.com' ,'13/12/1994')
insert into alumno values (278532146, 'lucas' , 'vasquez' , 'madrilista',
'rm22_alamadri@hotmail.com' ,'13/12/1999')
insert into alumno values (245647585, 'james' , 'rodriguez' , 'colombiano','' ,'10/12/1998')
insert into alumno values (278532100, 'varane' , 'madril' , 'brasil',
'var22_alamadri@hotmail.com' ,'30/10/1995')
insert into alumno values (278532101, 'zinedine' , 'zidane' , 'madrilista',
'zinedine_alamadri@hotmail.com' ,'13/11/1999')

select *from materia


insert into materia values ('INF110' , 'informatica')
insert into materia values ('MAT101' , 'calculo I')
insert into materia values ('FIS100' , 'fisica I')
insert into materia values ('INF119' , 'estructura discretas')
insert into materia values ('LIN100' , 'ingles tecnico I')
insert into materia values ('INF120' , 'programacion I')
insert into materia values ('MAT102' , 'calculo II')
insert into materia values ('FIS102' , 'fisica II')
insert into materia values ('MAT103' , 'algebra lineal')
insert into materia values ('LIN101' , 'ingles tecnico II')
insert into materia values ('INF210' , 'programacion II')
insert into materia values ('MAT207' , 'ecuaciones diferenciales')
insert into materia values ('FIS200' , 'fisica III')
insert into materia values ('INF211' , 'arquitectura de computadoras')

select *from prerequisito


insert into prerequisito values ('INF120' , 'INF110')
insert into prerequisito values ('MAT102' , 'MAT101')
insert into prerequisito values ('FIS102' , 'FIS100')
insert into prerequisito values ('MAT103' , 'INF119')
insert into prerequisito values ('LIN101' , 'LIN100')
insert into prerequisito values ('INF210' , 'INF120')
insert into prerequisito values ('INF210' , 'MAT103')
insert into prerequisito values ('MAT207' , 'MAT102')
insert into prerequisito values ('FIS200' , 'FIS102')
insert into prerequisito values ('INF211' , 'INF120')

select *from Alumno_Materia


insert into Alumno_Materia values (212125834,'INF110','60')
insert into Alumno_Materia values (212125834,'FIS102','90')
insert into Alumno_Materia values (298521034,'INF110','65')
insert into Alumno_Materia values (278512541,'INF120','78')
insert into Alumno_Materia values (212125834,'INF120','51')
insert into Alumno_Materia values (202365445,'LIN100','65')
insert into Alumno_Materia values (214025693,'MAT103','45')
insert into Alumno_Materia values (211024568,'MAT102','69')
insert into Alumno_Materia values (212125834,'MAT102','85')
insert into Alumno_Materia values (276621825,'LIN101','70')
insert into Alumno_Materia values (276621825,'MAT101','70')
insert into Alumno_Materia values (276621825,'INF110','60')
insert into Alumno_Materia values (276621825,'INF110','40')
insert into Alumno_Materia values (278532100,'LIN101','55')
insert into Alumno_Materia values (278532101,'MAT103','100')
insert into Alumno_Materia values (278532101,'MAT101','99')
insert into Alumno_Materia values (278532101,'LIN100','97')
insert into Alumno_Materia values (278532101,'INF110','98')

--1--
--MOSTRAR NOMBRE Y PATERNO Y EDAD DE LOS ESTUDIANTES QUE SON MAYORES A 20
AÑOS.

select nombre,paterno, (DATEDIFF(YEAR,fecha_nac,GETDATE()))as edad


from alumno
where fecha_nac < '04/04/1996'

--2--
--Mostrar nombre, paterno, mail y edad de los alumnos que tienen 18 años y tienen correo en
hotmail.com

select nombre,paterno, mail, (DATEDIFF(YEAR,fecha_nac,GETDATE()))as edad


from alumno
where (DATEDIFF(YEAR,fecha_nac,GETDATE()))=18 and alumno.mail like'%hotmail.com'

--3--
--Mostrar sigla y nombre de todas las materias donde su nombre empieza con i

select materia.sigla, materia.nombre


from materia
where materia.nombre like 'i%'

--4--
-- Mostrar nombre y paterno de los alumnos donde su paterno empieza con la letra a, b ó c y
ordenarlos
--alfabéticamente por paterno.

select alumno.nombre, alumno.paterno


from alumno
where alumno.paterno like '[a,b,c]%'
ORDER BY paterno

--5--
--Mostrar nombre y paterno del alumno, sigla y nombre de la materia y nota de los estudiantes
que
--aprobaron todas las materias que llevaron.

select alumno.nombre, paterno, materia.sigla,materia.nombre, Alumno_Materia.nota


from alumno, materia, Alumno_Materia
where Alumno_Materia.nota>50 and alumno.registro=Alumno_Materia.registro and
materia.sigla=Alumno_Materia.sigla

--6--
--Mostrar nombre y paterno del alumno, sigla y nombre de la materia y nota de los alumnos
que aprobaron
--la materia informática

select alumno.nombre, alumno.paterno, materia.sigla,materia.nombre, Alumno_Materia.nota


from alumno, materia, Alumno_Materia
where Alumno_Materia.nota>50 and alumno.registro=Alumno_Materia.registro and
materia.sigla=Alumno_Materia.sigla
and materia.nombre='informatica'

--7--
--Mostrar nombre y paterno del alumno, sigla y nombre de la materia y nota de los alumnos
que aprobaron
--la materia informática, ingles 1 y calculo 1

select alumno.nombre, alumno.paterno, materia.sigla,materia.nombre, Alumno_Materia.nota


from alumno, materia, Alumno_Materia
where Alumno_Materia.nota>50 and alumno.registro=Alumno_Materia.registro and
materia.sigla=Alumno_Materia.sigla
and materia.nombre='informatica'
and materia.nombre='ingles tecnico I'
and materia.nombre='calculo I'

--8--
--Mostrar nombre y paterno del alumno, sigla y nombre de la materia y nota de los alumnos
que reprobaron
--con nota entre 40 y 50.
select alumno.nombre, alumno.paterno, materia.sigla, materia.nombre, Alumno_Materia.nota
from alumno, materia, Alumno_Materia
where Alumno_Materia.nota>=40 and nota<=50 and
alumno.registro=Alumno_Materia.registro and materia.sigla=Alumno_Materia.sigla

--9--
--mostrar sigla y nombre de las materias en la q ningun alumno aun no tiene nota(no ha dado
examen)
select materia.sigla, materia.nombre
from materia, Alumno_Materia
where Alumno_Materia.nota=0
and materia.sigla=Alumno_Materia.sigla

--10--
--mostrar nombre de la materia y cantidad de reprobados,
-- en cada materia mostrar solo las materias que tiene mas de dos reprobados
select materia.nombre ,count(materia.sigla)
from materia, Alumno_Materia
where nota>51 and materia.sigla=Alumno_Materia.sigla
group by materia.nombre
having COUNT(materia.sigla) >2

--11--
--mostrar nombre y cantidad de materias reprobadas por el alumno que ha reprobado mas de
una materia

select materia.nombre ,Alumno_Materia.sigla,max(materia.sigla)


from materia,Alumno_Materia
where Alumno_Materia.nota < '51'

--12--
--añadir una tabla que permita registrar los prerequisitos que tiene una materia y las materias
que lentanta
--una materia respectiva. (introducir registros)

--13--
--dado el monbre de una materia, mostrar sus prerequisitos
select nombre,requisito from materia, prerequisito
where materia.nombre and prerequisito.requisito

--14--
--dado el nombre de una materia, mostrar las materias que levanta.

Das könnte Ihnen auch gefallen