Anda di halaman 1dari 4

CREATE TABLE Arbitro

(
id_arbitro INTEGER NOT NULL ,
sexo VARCHAR2(10) NOT NULL
);
ALTER TABLE Arbitro
ADD CONSTRAINT XPKArbitro PRIMARY KEY (id_arbitro);
CREATE TABLE Escalacao
(
id_jogo INTEGER NOT NULL ,
id_jogador INTEGER NOT NULL
);
ALTER TABLE Escalacao
ADD CONSTRAINT XPKEscalacao PRIMARY KEY (id_jogo,id_jogador);
CREATE TABLE Estadio
(
id_estagio INTEGER NOT NULL ,
endereco VARCHAR2(20) NOT NULL ,
capacidade INTEGER NOT NULL ,
apelido VARCHAR2(20) NULL ,
nome CHAR(20) NULL
);
ALTER TABLE Estadio
ADD CONSTRAINT XPKEstadio PRIMARY KEY (id_estagio);
CREATE TABLE Jogador
(
num_camisa INTEGER NOT NULL ,
posicao VARCHAR2(20) NOT NULL ,
apelido VARCHAR2(20) NULL ,
id_jogador INTEGER NOT NULL ,
id_time INTEGER NULL ,
numero_gols INTEGER NULL
);
ALTER TABLE Jogador
ADD CONSTRAINT XPKJogador PRIMARY KEY (id_jogador);
CREATE TABLE Jogador_punido
(
id_jogador INTEGER NOT NULL
);
ALTER TABLE Jogador_punido
ADD CONSTRAINT XPKJogador_punido PRIMARY KEY (id_jogador);
CREATE TABLE Jogo
(
id_jogo INTEGER NOT NULL ,
data DATE NOT NULL ,
id_time1 INTEGER NULL ,
id_arbitro INTEGER NULL ,
id_time2 INTEGER NULL ,
id_estagio INTEGER NULL
);
ALTER TABLE Jogo
ADD CONSTRAINT XPKJogo PRIMARY KEY (id_jogo);
CREATE TABLE Lance
(
descricao_lance VARCHAR2(20) NOT NULL ,
tempo DATE NOT NULL ,
id_jogo INTEGER NOT NULL ,
id_lance INTEGER NOT NULL
);
ALTER TABLE Lance
ADD CONSTRAINT XPKLance PRIMARY KEY (id_jogo,id_lance);
CREATE TABLE Lesao
(
motivo VARCHAR2(20) NULL ,
id_jogador INTEGER NOT NULL
);
ALTER TABLE Lesao
ADD CONSTRAINT XPKLesao PRIMARY KEY (id_jogador);
CREATE TABLE Pessoa
(
id INTEGER NOT NULL ,
nome VARCHAR2(30) NOT NULL ,
data_nascimento DATE NOT NULL ,
nacionalidade VARCHAR2(20) NOT NULL ,
altura FLOAT NOT NULL ,
peso FLOAT NOT NULL
);
ALTER TABLE Pessoa
ADD CONSTRAINT XPKPessoa PRIMARY KEY (id);
CREATE TABLE Substituicao
(
id_jogo INTEGER NOT NULL ,
id_jogador_entra INTEGER NOT NULL ,
id_jogador_sai INTEGER NOT NULL
);
CREATE UNIQUE INDEX XPKSubstituicao ON Substituicao
(id_jogo ASC,id_jogador_entra ASC,id_jogador_sai ASC);
ALTER TABLE Substituicao
ADD CONSTRAINT XPKSubstituicao PRIMARY KEY (id_jogo,id_jogador_entra,id
_jogador_sai);
CREATE TABLE Tecnico
(
apelido VARCHAR2(20) NULL ,
id_tecnico INTEGER NOT NULL ,
nome_time INTEGER NOT NULL
);
ALTER TABLE Tecnico
ADD CONSTRAINT XPKTecnico PRIMARY KEY (id_tecnico);
CREATE TABLE Time
(
id_time INTEGER NOT NULL ,
cidade VARCHAR2(20) NOT NULL ,
presidente VARCHAR2(20) NOT NULL ,
id_estadio INTEGER NULL ,
nome CHAR(20) NULL
);
ALTER TABLE Time
ADD CONSTRAINT XPKTime PRIMARY KEY (id_time);
ALTER TABLE Arbitro
ADD (CONSTRAINT R_1 FOREIGN KEY (id_arbitro) REFERENCES Pessoa (id) ON D
ELETE CASCADE);
ALTER TABLE Escalacao
ADD (CONSTRAINT R_2 FOREIGN KEY (id_jogo) REFERENCES Jogo (id_jogo));
ALTER TABLE Escalacao
ADD (CONSTRAINT R_28 FOREIGN KEY (id_jogador) REFERENCES Jogador (id_jog
ador));
ALTER TABLE Jogador
ADD (CONSTRAINT R_6 FOREIGN KEY (id_jogador) REFERENCES Pessoa (id) ON D
ELETE CASCADE);
ALTER TABLE Jogador
ADD (CONSTRAINT R_36 FOREIGN KEY (id_time) REFERENCES Time (id_time) ON
DELETE SET NULL);
ALTER TABLE Jogador_punido
ADD (CONSTRAINT R_8 FOREIGN KEY (id_jogador) REFERENCES Jogador (id_joga
dor));
ALTER TABLE Jogo
ADD (CONSTRAINT R_31 FOREIGN KEY (id_time1) REFERENCES Time (id_time) ON
DELETE SET NULL);
ALTER TABLE Jogo
ADD (CONSTRAINT R_32 FOREIGN KEY (id_arbitro) REFERENCES Arbitro (id_arb
itro) ON DELETE SET NULL);
ALTER TABLE Jogo
ADD (CONSTRAINT R_33 FOREIGN KEY (id_time2) REFERENCES Time (id_time) ON
DELETE SET NULL);
ALTER TABLE Jogo
ADD (CONSTRAINT R_34 FOREIGN KEY (id_estagio) REFERENCES Estadio (id_est
agio) ON DELETE SET NULL);
ALTER TABLE Lance
ADD (CONSTRAINT R_11 FOREIGN KEY (id_jogo) REFERENCES Jogo (id_jogo));
ALTER TABLE Lesao
ADD (CONSTRAINT R_12 FOREIGN KEY (id_jogador) REFERENCES Jogador (id_jog
ador));
ALTER TABLE Substituicao
ADD (CONSTRAINT R_20 FOREIGN KEY (id_jogo) REFERENCES Jogo (id_jogo));
ALTER TABLE Substituicao
ADD (CONSTRAINT R_24 FOREIGN KEY (id_jogador_entra) REFERENCES Jogador (
id_jogador));
ALTER TABLE Substituicao
ADD (CONSTRAINT R_27 FOREIGN KEY (id_jogador_sai) REFERENCES Jogador (id
_jogador));
ALTER TABLE Tecnico
ADD (CONSTRAINT R_14 FOREIGN KEY (nome_time) REFERENCES Time (id_time));
ALTER TABLE Tecnico
ADD (CONSTRAINT R_15 FOREIGN KEY (id_tecnico) REFERENCES Pessoa (id) ON
DELETE CASCADE);
ALTER TABLE Time
ADD (CONSTRAINT R_35 FOREIGN KEY (id_estadio) REFERENCES Estadio (id_est
agio) ON DELETE SET NULL);

Anda mungkin juga menyukai