Fala Aeh, Junior
O esquema é o seguinte tenho tres tabelas: aluno, turma e aluno_turma, minha duvida é se posso criar um Before Insert para verificar 2 colunas ‘Curso_IdCurso’ e ‘HoraInicio’.
Teria como realizar tal procedimento, verificar essas colunas para que o aluno não se cadastrar-se no mesmo curso e turma?
CREATE TABLE IF NOT EXISTS CursoTDB.Aluno (
IdAluno INT(11) NOT NULL AUTO_INCREMENT,
NomeAluno VARCHAR(100) NOT NULL,
Endereco VARCHAR(255) NOT NULL,
Email VARCHAR(50) NOT NULL,
Telefone VARCHAR(13) NOT NULL,
Cpf VARCHAR(11) NOT NULL,
Status INT(11) NULL DEFAULT NULL,
PRIMARY KEY (IdAluno),
UNIQUE INDEX Cpf_UNIQUE (Cpf ASC))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci;
CREATE TABLE IF NOT EXISTS CursoTDB.Turma (
idTurma INT(11) NOT NULL AUTO_INCREMENT,
DataInicio DATE NOT NULL,
HoraInicio VARCHAR(5) NOT NULL,
Status INT(11) NULL DEFAULT NULL,
Curso_IdCurso INT(11) NOT NULL,
Professor_IdProfessor INT(11) NOT NULL,
PRIMARY KEY (idTurma),
INDEX fk_Turma_Curso_idx (Curso_IdCurso ASC),
INDEX fk_Turma_Professor1_idx (Professor_IdProfessor ASC),
CONSTRAINT fk_Turma_Curso
FOREIGN KEY (Curso_IdCurso)
REFERENCES CursoTDB.Curso (IdCurso)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT fk_Turma_Professor1
FOREIGN KEY (Professor_IdProfessor)
REFERENCES CursoTDB.Professor (IdProfessor)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci;
CREATE TABLE IF NOT EXISTS CursoTDB.Aluno_Turma (
Turma_idTurma INT(11) NOT NULL,
Aluno_IdAluno INT(11) NOT NULL,
INDEX fk_Aluno_Turma_Turma1_idx (Turma_idTurma ASC),
INDEX fk_Aluno_Turma_Aluno1_idx (Aluno_IdAluno ASC),
PRIMARY KEY (Turma_idTurma, Aluno_IdAluno),
CONSTRAINT fk_Aluno_Turma_Turma1
FOREIGN KEY (Turma_idTurma)
REFERENCES CursoTDB.Turma (idTurma)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT fk_Aluno_Turma_Aluno1
FOREIGN KEY (Aluno_IdAluno)
REFERENCES CursoTDB.Aluno (IdAluno)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci;