2014-07-10 2 views
-4
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) 
); 
+4

질문 작성 방법이 아닙니다. 코드를 덤프하지 마십시오. 상황을 설명하고 문제를 일으키는 코드를 넣으십시오. –

+0

좋은 점은'{}'버튼을 클릭하여 코드 형식을 지정하는 것입니다. – tadman

+0

완전한 오류 메시지를 추가하십시오. –

답변

0

Matricula 테이블을 외래 키로 생성하지 않고 참조하고 있습니다. 참조를 추가하기 전에 해당 테이블을 작성해야합니다.

관련 문제