he publicado otros temas y me han ayudado a resolverlos guiandome al resultadi, pero ahora al parecer nadie ha visto el tema o simplemente no les interesa...bueno...he tenido que recurrir a otros foros y han resolvido mis dudas, ahora les comento he cambiado la estructura un poco e implemente el uso de UNIQUE en lugar de las compuestas y he probado inserciones y todo esta bien.les dejo el codigo
Código SQL:
Ver originalCREATE TABLE usuarios(
id_usuario INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
login VARCHAR(20) NOT NULL,
clave VARCHAR(16) NOT NULL,
nivel VARCHAR(20) NOT NULL,
UNIQUE (login)
) engine = innodb;
CREATE TABLE materia(
id_materia INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
nombre VARCHAR(30) NOT NULL,
duracion DATE NOT NULL,
UNIQUE (nombre)
) engine = innodb;
FOREIGN KEY(editorial) REFERENCES editoriales(codigoeditorial) ON UPDATE cascade ON DELETE cascade
CREATE TABLE alumno(
id_alumno VARCHAR(11) PRIMARY KEY ,
nombre VARCHAR(20) NOT NULL,
apellidos VARCHAR(40) NOT NULL,
direccion VARCHAR(30) NOT NULL,
telefono INT,
email VARCHAR(40),
login_alu VARCHAR(20) NOT NULL,
clave_alu VARCHAR(16) NOT NULL,
materia_alu VARCHAR(30) NOT NULL,
FOREIGN KEY(login_alu) REFERENCES usuarios(login) ON UPDATE cascade ON DELETE cascade,
FOREIGN KEY(materia_alu) REFERENCES materia(nombre) ON UPDATE cascade ON DELETE cascade
) engine = innodb;
CREATE TABLE docente(
id_docente VARCHAR(11) PRIMARY KEY ,
nombre VARCHAR(20) NOT NULL,
apellidos VARCHAR(40) NOT NULL,
direccion VARCHAR(30) NOT NULL,
telefono INT,
email VARCHAR(40),
login_doc VARCHAR(20) NOT NULL,
clave_doc VARCHAR(16) NOT NULL,
materia_doc VARCHAR(30) NOT NULL,
FOREIGN KEY(login_doc) REFERENCES usuarios(login) ON UPDATE cascade ON DELETE cascade,
FOREIGN KEY(materia_doc) REFERENCES materia(nombre) ON UPDATE cascade ON DELETE cascade
) engine = innodb;
Ahora solo me necesito ua tabla llamada carga la cual contendra:
id_carga auto_increment es el numero de folio de la carga
alu---nombre del alumno referenciado al nombre de algun alumno registrado
doc--nombre de docente referenciado al nombre de un docente registrado
materia-nombre de materia registrada
fecha_inicio--cuando inicio el curso
calificacion int---para asignar un calificacion una vez terminado el curso...
¿Alguna idea de como se podria implementar?...¿esa tabla me obligaria a cambiar algun otro campo de las otras materias para referenciarla?.....escucho sugerencias, de antemano muchas gracias...