pokedex sql

1049 palavras 5 páginas
CREATE TABLE cidade ( cidadeid Number(4) NOT NULL PRIMARY KEY, nome Varchar2(100) NOT NULL, ginasio Varchar2(100)
);

CREATE TABLE treinador ( treinadorid Number(4) NOT NULL PRIMARY KEY, nome Varchar2(100) NOT NULL, cidadeid Number(4), idade Number(3) NOT NULL, rank Number(3) NOT NULL,
FOREIGN KEY(cidadeid) REFERENCES cidade (cidadeid)
);

CREATE TABLE pokemon ( pokemonid Number(4) NOT NULL PRIMARY KEY, nome Varchar2(100) NOT NULL, evolucaoid Number(4),
FOREIGN KEY(evolucaoid) REFERENCES pokemon (pokemonid)
);

CREATE TABLE tipo ( tipoid Number(4) NOT NULL PRIMARY KEY, nome Varchar2(100) NOT NULL
);

CREATE TABLE pokemon_tipo ( tipoid Number(4) NOT NULL, pokemonid Number(4) NOT NULL,
FOREIGN KEY(tipoid) REFERENCES tipo (tipoid),
FOREIGN KEY(pokemonid) REFERENCES pokemon (pokemonid),
PRIMARY KEY (tipoid, pokemonid)
);

CREATE TABLE pokemon_treinador ( treinadorid Number(4) NOT NULL, pokemonid Number(4) NOT NULL, estaPortando Number(1) NOT NULL,
FOREIGN KEY(treinadorid) REFERENCES treinador (treinadorid),
FOREIGN KEY(pokemonid) REFERENCES pokemon (pokemonid),
PRIMARY KEY (treinadorid, pokemonid),
CONSTRAINT estaPortando CHECK (estaPortando IN (0,1))
);

CREATE TABLE pokemon_fraquesas ( tipovantagemid Number(4) NOT NULL, tipodesvantagemid Number(4) NOT NULL,
FOREIGN KEY(tipovantagemid) REFERENCES tipo (tipoid),
FOREIGN KEY(tipodesvantagemid) REFERENCES tipo (tipoid),
PRIMARY KEY (tipovantagemid, tipodesvantagemid)
);

CREATE TABLE batalha ( batalhaid Number(4) NOT NULL PRIMARY KEY, treinadorid Number(4) NOT NULL, oponenteid Number(4) NOT NULL,
FOREIGN KEY(treinadorid) REFERENCES treinador (treinadorid),
FOREIGN KEY(oponenteid) REFERENCES treinador (treinadorid)
);
/* CIDADES */
INSERT INTO cidade (cidadeid, nome, ginasio) VALUES (1,'Pallet', '');
INSERT INTO cidade (cidadeid, nome, ginasio) VALUES (2,'Viridian', 'Giovanni');
INSERT INTO cidade (cidadeid, nome, ginasio) VALUES (3,'Pewter', 'Brock');
INSERT INTO cidade (cidadeid, nome, ginasio) VALUES (4,'Cerulean',

Relacionados