Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/06/2005, 16:51
movil
 
Fecha de Ingreso: octubre-2003
Mensajes: 184
Antigüedad: 20 años, 7 meses
Puntos: 0
Problemas con mysql

He creado la siguiente BD con MySQL:

CREATE TABLE asignatura (nomAsig varchar(20) not null,
curso int not null,
tipoCurso varchar(20) not null,
dniPro varchar(9) not null,
codAsig varchar(20) not null,
nomPro varchar(20) not null,
apePro varchar(20) not null,
primary key (nomAsig, curso, tipoCurso, dniPro, codAsig),
foreign key (dniPro) references profesor(dni) on delete cascade update cascade)
type=InnoDB;

CREATE TABLE profesor (

nombre varchar(20) not null,
apellido1 varchar(20) not null,
apellido2 varchar(20) not null,
dni varchar(9) not null,
curso int not null,
tipoCurso varchar(20) not null,
codAsig varchar(20) not null,
asignatura varchar(20) not null,
corrElec varchar(50) not null,
primary key (dni),
foreign key (curso) references asignatura(curso) on delete cascade on update cascade,
foreign key (tipoCurso) references asignatura(tipoCurso) on delete cascade on update cascade,
foreign key (codAsig) references asignatura(codAsig) on delete cascade on update cascade,
foreign key (asignatura) references asignatura(nomAsig) on delete cascade on update cascade)
type=InnoDB;

CREATE TABLE accesoProf (

nombre varchar(20) not null,
clave varchar(20) not null,
dni varchar(9) not null,
primary key (nomUsu, clave, dni),
foreign key (dni) references profesor(dni) on delete cascade on update cascade)
type=InnoDB;

CREATE TABLE administrador (

nombre varchar(20) not null,
apellido1 varchar(20) not null,
apellido2 varchar(20) not null,
dni varchar(20) not null,
primary key (dni),
foreign key (dni) references profesor(dni) on delete cascade on update cascade)
type=InnoDB;

Lo que quiero conseguir es que el administrador tiene que estar en la tabla profesor y si se intenta insertar un administrador que no esta en la tabla profesor que no se pueda.
Mi duda es si se puede hacer cuando se crea la bd y como se deberia hacer, pense que tal y como habia creado la bd seria suficiente.
Muchas gracias por todo