Boa noite.
Estou com um projeto para entregar segunda-feira, e com dificuldades no meu banco.
Aqui está ele:
–create database geresc
–use geresc
–CREATE TABLE Aluno (nomeAluno VARCHAR(50) UNIQUE NOT NULL,
– matriculaAluno INT PRIMARY KEY NOT NULL,
– dataNascimento VARCHAR(15) NOT NULL,
– responsavelAluno VARCHAR(50) NOT NULL,
– paiAluno VARCHAR(50),
– maeAluno VARCHAR(50) NOT NULL,
– telefoneAluno int NOT NULL,
– enderecoAluno VARCHAR(40) NOT NULL,
– emailAluno VARCHAR(30) NOT NULL,
– turmaAluno VARCHAR(30) FOREIGN KEY REFERENCES Turma(nomeTurma) NOT NULL,
– sexoAluno VARCHAR(20),
– especialAluno VARCHAR(5),
– qtdAprovacoes int,
– ingressoAluno VARCHAR(15) NOT NULL,
– numIdentidade int,
– cpf int,
– tituloEleitor int,
– paiVivo VARCHAR (5),
– maeViva VARCHAR(5),
– moraPais VARCHAR(5),
– ocorrencias VARCHAR(200),
– observacoes VARCHAR(200),
– notas REAL)
–ALTER TABLE Aluno ADD CONSTRAINT FK_TURMA_ALUNO FOREIGN KEY (turmaAluno) REFERENCES Turma(nomeTurma);
–ALTER TABLE Aluno ADD CONSTRAINT FK_NOTAS_ALUNO FOREIGN KEY (notas) REFERENCES Notas(aluno) ON DELETE CASCADE ON UPDATE CASCADE;
–CREATE TABLE Responsavel (nomeResponsavel VARCHAR(50) UNIQUE NOT NULL,
– aluno int FOREIGN KEY REFERENCES Aluno(matriculaAluno) ON DELETE CASCADE ON UPDATE CASCADE NOT NULL,
– cpf int,
– numIdentidade int,
– nascimento VARCHAR(20),
– telefone int,
– parentesco VARCHAR(20),
– profissao VARCHAR(30),
– email VARCHAR(30),
– endereco VARCHAR(50))
–ALTER TABLE Responsavel ADD CONSTRAINT FK_RESPONSAVEL FOREIGN KEY (aluno) REFERENCES Aluno(nomeAluno) ON DELETE CASCADE ON UPDATE CASCADE;
–CREATE TABLE Aprovados (aluno int FOREIGN KEY REFERENCES Aluno(matriculaAluno),
– turma int FOREIGN KEY REFERENCES Turma(codigoTurma),
– quantidadeAprovados int)
–CREATE TABLE Recuperacao (aluno int FOREIGN KEY REFERENCES Aluno(matriculaAluno),
– turma int FOREIGN KEY REFERENCES Turma(codigoTurma),
– quantidadeRecuperacao int)
–CREATE TABLE Reprovados (aluno int FOREIGN KEY REFERENCES Aluno(matriculaAluno),
– turma int FOREIGN KEY REFERENCES Turma(codigoTurma),
– quantidadeReprovados int)
–CREATE TABLE Professor (nomeProfessor VARCHAR(50) NOT NULL,
– codigoProfessor INT PRIMARY KEY NOT NULL,
– identidadeProfessor int NOT NULL,
– cpfProfessor int NOT NULL,
– nascimentoProfessor VARCHAR (15) NOT NULL,
– emailProfessor VARCHAR(30) NOT NULL,
– sexoProfessor VARCHAR(10) NOT NULL,
– enderecoProfessor VARCHAR(40) NOT NULL,
– telefoneProfessor VARCHAR(15) NOT NULL,
– turmaProfessor VARCHAR(30) NOT NULL
– FOREIGN KEY (turmaProfessor) REFERENCES Turma(nomeTurma) ON DELETE CASCADE ON UPDATE CASCADE)
–CREATE TABLE Turma (nomeTurma VARCHAR(30) UNIQUE NOT NULL,
– codigoTurma INT PRIMARY KEY NOT NULL,
– professorResponsavel int,
– quantidadeAlunos INT,
– turno VARCHAR(20) NOT NULL)
–ALTER TABLE Turma ADD CONSTRAINT FK_PROFESSOR_RESPONSAVEL FOREIGN KEY (professorResponsavel) REFERENCES Professor(codigoProfessor);
–CREATE TABLE Notas (aluno VARCHAR(50) FOREIGN KEY(aluno) REFERENCES Aluno (nomeAluno) ON DELETE CASCADE,
– nota REAL,
– disciplina VARCHAR(15),
– competencia VARCHAR(30),
– bimestre VARCHAR(15),
– PRIMARY KEY CLUSTERED (bimestre,competencia,aluno))
Sou novo nesse ramo e peço a ajuda de vocês. Ao cadastrar uma turma dá um erro: “a instrução insert conflitou com a restrição do foreign key”. Além de turma, esse erro acontece em outras inserções.
Peço a ajuda de quem puder. Onde estou errando? O banco está errado?
Grato desde já.