You are on page 1of 3

create database planEstudio;

use planEstudio;

create table materia(


sigla varchar(6) not null,
nombre varchar(50)not null,
credito int not null,
primary key(sigla)
);
create table prerequisito(
siglaM varchar (6)not null,
siglaP varchar (6)not null,
primary key (siglaM,siglaP),
foreign key(siglaM)references materia(sigla)
on update no action
on delete no action,
foreign key(siglaP)references materia(sigla)
on update no action
on delete no action,
);
insert into materia values('inf119','estructuras discretas',4);
insert into materia values('inf110','introduccion a la informatica',5);
insert into materia values('mat101','calculo 1',5);
insert into materia values('fis100','fisica 1',5);
insert into materia values('lin100','ingles tecnico 1',4);
insert into materia values('mat102','calculo 2',5);
insert into materia values('inf120','programacion 1',5);
insert into materia values('lin102','ingles tecnico 2',4);
insert into materia values('fis102','fisica 2',5);
insert into materia values('mat103','algebra lineal',5);
insert into materia values('inf210','programacion 2',5);
insert into materia values('adm100','administracion ',4);
insert into materia values('inf211','arquitectura de computadoras',5);
insert into materia values('fis200','fisica 3',5);
insert into materia values('mat207','ecuaciones diferenciales',5);
insert into materia values('mat202','probabilidades y estadisticas 1',4);
insert into materia values('inf221','programacion ensamblador',5);
insert into materia values('mat205','metodos numericos',4);
insert into materia values('inf220','estructuras de datos 1',5);
insert into materia values('adm200','contabilidad',4);
insert into materia values('mat302','probabilidades y estadisticas 2',5);
insert into materia values('inf310','estructuras de datos 2',5);
insert into materia values('inf312','base de datos 1',5);
insert into materia values('eco300','economia para la gestion',4);
insert into materia values('adm330','organizacion y metodos',4);
insert into materia values('elc002','costos y presupuestos',4);
insert into materia values('inf323','sistemas operativos 1',5);
insert into materia values('inf342','sistemas de informacion 1',5);
insert into materia values('inf322','base de datos 2',5);
insert into materia values('mat329','investigacion operativa 1',5);
insert into materia values('adm320','finanzas para la empresa',4);
insert into materia values('elc003','produccion y marketing',4);

insert into prerequisito values('mat102','mat101');


insert into prerequisito values('inf120','inf110');
insert into prerequisito values('lin102','lin100');
insert into prerequisito values('fis102','fis100');
insert into prerequisito values('mat103','inf119');
insert into prerequisito values('inf211','fis102');
insert into prerequisito values('inf211','inf120');
insert into prerequisito values('inf210','mat103');
insert into prerequisito values('inf210','inf120');
insert into prerequisito values('fis200','fis102');
insert into prerequisito values('mat207','mat102');
insert into prerequisito values('mat202','mat102');
insert into prerequisito values('inf221','inf211');
insert into prerequisito values('inf220','inf210');
insert into prerequisito values('adm200','adm100');
insert into prerequisito values('mat302','mat202');
insert into prerequisito values('inf310','inf220');
insert into prerequisito values('inf312','inf220');
insert into prerequisito values('eco300','adm200');
insert into prerequisito values('adm330','adm200');
insert into prerequisito values('inf323','inf310');
insert into prerequisito values('inf342','inf312');
insert into prerequisito values('inf322','inf312');
insert into prerequisito values('mat329','mat302');
insert into prerequisito values('adm320','adm330');
insert into prerequisito values('mat205','mat207');

-- mostrar todas las materias que no tienen prerequisito


select sigla,nombre
from materia
where sigla not in(select siglaM
from prerequisito);

-- mostrar las materias que son prerequisitos de programacion 2


select siglaM,siglaP, materia.nombre
from materia,prerequisito
where sigla=siglaM and nombre='programacion 2';

select materiapre.sigla, materiapre.nombre


from materia materiab, prerequisito, materia materiapre
where materiab.sigla= prerequisito.siglaM and prerequisito.siglaP = materiapre.
sigla
and materiab.nombre='programacion 2';

select sigla, nombre


from materia
where sigla in ( select siglap
from prerequisito
where siglaM in (select sigla
from materia
where nombre='
programacion 2'
)
)
--mostrar las materias de la cual es prerequisito de datos I
select siglaM, siglaP
from materia,prerequisito
where siglaP = sigla and sigla='inf312';
select materiapre.sigla, materiapre.nombre
from materia materiab, prerequisito, materia materiapre
where materiab.sigla = prerequisito.siglaP and prerequisito.siglaM = materiapre.
sigla and
materiab.nombre = 'estructuras de datos 1';

select sigla, nombre


from materia
where sigla in ( select siglaM
from prerequisito
where siglaP in (select sigla
from materia
where nombre='
estructuras de datos 1'
)
)

select count(*)
from materia
where sigla in ( select siglaM
from prerequisito
where siglaP in (select sigla
from materia
where nombre='
estructuras de datos 1'
)
)

You might also like