在我的脚本中错误1215我不知道为什么

时间:2014-07-10 18:54:03

标签: mysql

CREATE DATABASE bd_danca;

use bd_danca;

CREATE TABLE Nivel
(
codigo_nivel INTEGER NOT NULL,
descricao CHAR(18),
PRIMARY KEY(codigo_nivel)
);

CREATE TABLE Aluno
(
codigo_matricula INTEGER NOT NULL UNIQUE,
nome CHAR(30) NOT NULL,
email CHAR(30),
telefone INTEGER(11),
data_nascimento DATE,
uf CHAR(2),
cidade CHAR(20),
endereco CHAR(60),
bairro CHAR(14),
cep CHAR(9),
PRIMARY KEY(codigo_matricula)
);

CREATE TABLE Modalidade
(
codigo_modalidade INTEGER NOT NULL,
descricao CHAR(25),
preco INTEGER(6),
PRIMARY KEY(codigo_modalidade)
);

CREATE TABLE Professor
(
codigo_professor INTEGER NOT NULL,
nome CHAR(30),
telefone INTEGER(11),
email CHAR(30),
PRIMARY KEY(codigo_professor),
);

CREATE TABLE Salario
(
comprovante INTEGER(14) NOT NULL,
valor INTEGER NOT NULL,
data_pagamento DATE NOT NULL,
fk_professor INTEGER NOT NULL,
PRIMARY KEY(comprovante, fk_professor),
FOREIGN KEY(fk_professor) REFERENCES Professor(codigo_professor)
);

CREATE TABLE Turma
(
codigo_turma INTEGER NOT NULL,
dias_da_semana CHAR(20),
horario DATETIME,
codigo_nivel INTEGER NOT NULL,
codigo_modalidade INTEGER NOT NULL,
codigo_professor INTEGER NOT NULL,
PRIMARY KEY(codigo_turma),
FOREIGN KEY(codigo_nivel) REFERENCES Nivel(codigo_nivel),
FOREIGN KEY(codigo_modalidade) REFERENCES Modalidade(codigo_modalidade),
FOREIGN KEY(codigo_professor) REFERENCES Professor(codigo_professor)
);



CREATE TABLE Aluno_turma
(
codigo_matricula INTEGER NOT NULL,
codigo_turma INTEGER NOT NULL,
PRIMARY KEY(codigo_matricula,codigo_turma),
FOREIGN KEY(codigo_matricula) REFERENCES Matricula(codigo_matricula),
FOREIGN KEY(codigo_turma) REFERENCES Turma(codigo_turma)
);



CREATE TABLE Dinheiro
(
codigo_recibo INTEGER(14) NOT NULL,
valor INTEGER,
data_pagamento DATE NOT NULL,
codigo_matricula INTEGER NOT NULL,
PRIMARY KEY(codigo_recibo),
FOREIGN KEY(codigo_matricula) REFERENCES Matricula(codigo_matricula)
);

CREATE TABLE Cartão
(
numero_cartao INTEGER(24) NOT NULL,
bandeira CHAR(12) NOT NULL,
data_pagamento DATE NOT NULL,
codigo_comprovante INTEGER(14) NOT NULL,
vencimento_cartao DATE,
codigo_matricula INTEGER NOT NULL,
PRIMARY KEY(codigo_comprovante),
FOREIGN KEY(codigo_matricula) REFERENCES Matricula(codigo_matricula)
);

1 个答案:

答案 0 :(得分:0)

您正在引用表Matricula而不在一些外键中创建它。您必须在添加对它的引用之前创建该表。