Está en la página 1de 2

create table colegio (

codigo int not null PRIMARY key ,


nombre varchar(100) not null ,
direccion varchar(100) not null
);

create table carrera (


codigocarrera int not null primary key ,
colegio int not null,
nombre varchar(100) not null ,
FOREIGN key(colegio) REFERENCES colegio(codigo)
);

create table alumno(


carne int not null primary key ,
nombre varchar(100) not null ,
apellido varchar(100) not null ,
gradocarrera int not null ,
colegio int not null ,
FOREIGN key (gradocarrera)REFERENCES carrera(codigocarrera),
FOREIGN key (colegio) REFERENCES colegio(codigo)
);

create table maestro (


clave int not null PRIMARY key ,
nombre varchar(100) not null ,
apellido varchar(100)not null ,
codigo varchar(20)not null,
colegio int not null ,
FOREIGN key (colegio) REFERENCES colegio(codigo)
);
create table cursocda(
codigo int not null PRIMARY key AUTO_INCREMENT,
nombre varchar(100) not null ,
descripcion varchar(100) not null ,
dia int not null ,
horain time not null ,
horafin time not null ,
colegio int not null,
unidad int not null,
maestro int not null ,
cupos int not null ,
FOREIGN key (maestro) REFERENCES maestro (clave),
FOREIGN key (colegio) REFERENCES colegio(codigo)
);

create table asignacda(


codasignacion int not null PRIMARY key AUTO_INCREMENT,
alumno int not null ,
cursocda int not null ,
FOREIGN key (alumno) REFERENCES alumno(carne),
FOREIGN key (cursocda) REFERENCES cursocda(codigo)
);

cREATE TRIGGER tr_asignacion after INSERT ON asignacda


FOR EACH ROW
update cursocda set cupos=(cupos-1) where codigo=new.cursocda
cREATE TRIGGER tr_asignacion after INSERT ON asignacda FOR EACH ROW update cursocda
set cupos=(cupos-1) where codigo=new.cursocda

También podría gustarte