Well, I tried to normalize the maximum of this table of data, however I got a failure to get the code, where I am not identifying the error in the user:
Error:
Error 2:
-- Geração de Modelo físico
-- Sql ANSI 2003 - brModelo.
CREATE TABLE Data_Evento (
id_data_evento INTEGER PRIMARY KEY,
data_inicio DATE,
data_fim DATE
);
CREATE TABLE Hora_Evento (
id_hora INTEGER PRIMARY KEY,
id_evento INTEGER,
hora_inicio TIME,
hora_fim TIME
);
CREATE TABLE Usuario (
id_usuario INTEGER PRIMARY KEY,
id_aluno INTEGER,
CPF VARCHAR(),
RG VARCHAR(),
usuario VARCHAR(255),
senha VARCHAR(255),
imagem LONGTEXT
);
CREATE TABLE Controle (
id_controle INTEGER PRIMARY KEY,
id_aluno INTEGER,
CPF VARCHAR(),
RG VARCHAR(),
data_cadastro DATETIME,
data_entrada DATETIME,
data_saida DATETIME
);
CREATE TABLE aluno_curso (
id_aluno_curso INTEGER PRIMARY KEY,
id_aluno INTEGER,
CPF VARCHAR(),
RG VARCHAR(),
id_curso INTEGER
);
CREATE TABLE Noticia (
id_noticia INTEGER PRIMARY KEY,
titulo VARCHAR(255),
autor VARCHAR(255),
descricao LONGTEXT,
data DATE,
fonte LONGTEXT,
imagem LONGTEXT,
imagem_2 LONGTEXT,
imagem_3 LONGTEXT
);
CREATE TABLE Telefone_Professor (
id_telefone_professor INTEGER PRIMARY KEY,
id_professor INTEGER,
telefone VARCHAR(9),
celular VARCHAR(10)
);
CREATE TABLE Evento (
id_evento INTEGER PRIMARY KEY,
id_data_evento INTEGER,
id_hora INTEGER,
titulo VARCHAR(255),
descricao LONGTEXT,
preco VARCHAR(10),
imagem LONGTEXT,
FOREIGN KEY(id_data_evento) REFERENCES Data_Evento (id_data_evento),
FOREIGN KEY(id_hora) REFERENCES Hora_Evento (id_hora)
);
CREATE TABLE Professor (
id_professor INTEGER PRIMARY KEY,
id_especialidade INTEGER,
id_telefone_professor INTEGER,
id_aula INTEGER,
nome VARCHAR(255),
sobrenome VARCHAR(255),
email VARCHAR(255),
Imagem LONGTEXT,
descricao LONGTEXT,
FOREIGN KEY(id_telefone_professor) REFERENCES Telefone_Professor (id_telefone_professor)
);
CREATE TABLE Aula (
id_aula INTEGER PRIMARY KEY,
tipo VARCHAR(255),
data DATE,
duracao TIME
);
CREATE TABLE Promocao (
id_promocao INTEGER PRIMARY KEY,
id_curso INTEGER,
titulo VARCHAR(255),
promocao VARCHAR(255),
validade DATE,
descricao LONGTEXT,
imagem LONGTEXT
);
CREATE TABLE Curso (
id_curso INTEGER PRIMARY KEY,
titulo VARCHAR(255),
descricao LONGTEXT,
carga VARCHAR(255),
imagem LONGTEXT
);
CREATE TABLE Aluno_Evento (
id_aluno_evento INTEGER PRIMARY KEY,
id_aluno INTEGER,
id_evento INTEGER,
CPF VARCHAR(),
RG VARCHAR(),
FOREIGN KEY(id_evento) REFERENCES Evento (id_evento)
);
CREATE TABLE Endereco (
id_endereco INTEGER PRIMARY KEY,
id_aluno INTEGER,
CPF VARCHAR(),
RG VARCHAR(),
rua LONGTEXT,
numero VARCHAR(10),
cep VARCHAR(14),
pais VARCHAR(255),
estado VARCHAR(2),
cidade VARCHAR(255)
);
CREATE TABLE Aluno (
id_aluno INTEGER,
CPF VARCHAR(14),
RG VARCHAR(12),
id_usuario INTEGER,
id_controle INTEGER,
id_aluno_promocao INTEGER,
nome VARCHAR(255),
sobrenome VARCHAR(255),
email VARCHAR(255),
nacionalidade VARCHAR(255),
PRIMARY KEY(id_aluno,CPF,RG),
FOREIGN KEY(id_usuario) REFERENCES Usuario (id_usuario),
FOREIGN KEY(id_controle) REFERENCES Controle (id_controle)
);
CREATE TABLE Telefone (
id_telefone INTEGER PRIMARY KEY,
id_aluno INTEGER,
CPF VARCHAR(),
RG VARCHAR(),
telefone VARCHAR(9),
celular VARCHAR(10),
FOREIGN KEY(RG,,,) REFERENCES Aluno (id_aluno,CPF,RG)
);
CREATE TABLE Modulo (
id_modulo INTEGER PRIMARY KEY,
id_curso INTEGER,
id_professor INTEGER,
titulo VARCHAR(255),
descricao LONGTEXT,
conteudo LONGTEXT,
imagem LONGTEXT,
imagem_2 LONGTEXT,
preco VARCHAR(100),
FOREIGN KEY(id_curso) REFERENCES Curso (id_curso),
FOREIGN KEY(id_professor) REFERENCES Professor (id_professor)
);
CREATE TABLE Especialidade (
id_especialidade INTEGER PRIMARY KEY,
especialidade LONGTEXT,
formacao LONGTEXT
);
CREATE TABLE Aluno_Promocao (
id_aluno_promocao INTEGER PRIMARY KEY,
id_aluno INTEGER,
CPF VARCHAR(),
RG VARCHAR(),
id_promocao INTEGER,
FOREIGN KEY(RG,,,) REFERENCES Aluno (id_aluno,CPF,RG),
FOREIGN KEY(id_promocao) REFERENCES Promocao (id_promocao)
);
ALTER TABLE Hora_Evento ADD FOREIGN KEY(id_evento) REFERENCES Evento (id_evento)
ALTER TABLE Usuario ADD FOREIGN KEY(/*erro: ??*/) REFERENCES Aluno (id_aluno,CPF,RG)
ALTER TABLE aluno_curso ADD FOREIGN KEY(id_curso) REFERENCES Curso (id_curso)
ALTER TABLE Telefone_Professor ADD FOREIGN KEY(id_professor) REFERENCES Professor (id_professor)
ALTER TABLE Professor ADD FOREIGN KEY(id_especialidade) REFERENCES Especialidade (id_especialidade)
ALTER TABLE Professor ADD FOREIGN KEY(id_aula) REFERENCES Aula (id_aula)
ALTER TABLE Promocao ADD FOREIGN KEY(id_curso) REFERENCES Curso (id_curso)
ALTER TABLE Aluno ADD FOREIGN KEY(id_aluno_promocao) REFERENCES Aluno_Promocao (id_aluno_promocao)
You are reporting a user error