Skip to content

Commit

Permalink
Update CREATE-BD.sql
Browse files Browse the repository at this point in the history
CREATE TABLE de acordo com novo modelo relacional.
  • Loading branch information
heylisten64 authored Oct 30, 2023
1 parent f166d85 commit d453585
Showing 1 changed file with 159 additions and 92 deletions.
251 changes: 159 additions & 92 deletions sql/CREATE-BD.sql
Original file line number Diff line number Diff line change
@@ -1,156 +1,223 @@
-- Tabela Personagem
CREATE TABLE Personagem (
idPersonagem INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
Alma INT NOT NULL DEFAULT 0,
Local INT DEFAULT 0,
TipoP INT NOT NULL DEFAULT 0
idPersonagem INT PRIMARY KEY AUTO_INCREMENT,
alma INT DEFAULT 0,
local INT UNIQUE,
tipoP INT NOT NULL
);

-- Tabela Loot
CREATE TABLE Loot (
FOREIGN KEY (local) REFERENCES Local (idLocal),
FOREIGN KEY (item) REFERENCES Item (idItem)
);

-- Tabela Coletadas
CREATE TABLE Coletadas (
FOREIGN KEY (personagem) REFERENCES PersonagemJogavel (idPersonagem),
FOREIGN KEY (alma) REFERENCES Alma (nome),
);

-- Tabela Ataque
CREATE TABLE Ataque (
idAtaque INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
tipoAtaque INT NOT NULL DEFAULT 0,
descricao VARCHAR(255) NOT NULL,
idHabilidade INT NOT NULL,
danoFisico INT NOT NULL DEFAULT 0,
danoMagico INT NOT NULL DEFAULT 0
idAtaque INT PRIMARY KEY AUTO_INCREMENT,
tipoAtaque INT NOT NULL,
descrição VARCHAR(255) DEFAULT '',
FOREIGN KEY(idHabilidade) REFERENCES Habilidade (idHabilidade),
danoFisico INT DEFAULT 0,
danoMagico INT DEFAULT 0
);

-- Tabela Item
CREATE TABLE Item (
idItem INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
idInventario INT NOT NULL,
lojista INT NOT NULL,
tipo VARCHAR(255) NOT NULL DEFAULT ''
);
idItem INT PRIMARY KEY AUTO_INCREMENT,
tipo VARCHAR(255) NOT NULL,
FOREIGN KEY(idInventario) REFERENCES Inventario (idInventario),
FOREIGN KEY(lojista) REFERENCES Lojista (idLojista)

-- Tabela Armadura
CREATE TABLE Armadura (
idItem INT NOT NULL PRIMARY KEY,
defesa INT NOT NULL DEFAULT 0,
defesaMagica INT NOT NULL DEFAULT 0,
agilidade INT NOT NULL DEFAULT 0,
descricao VARCHAR(255) NOT NULL,
valor INT NOT NULL DEFAULT 0,
nome VARCHAR(255) NOT NULL,
FOREIGN KEY (idItem) REFERENCES Item (idItem) ON DELETE CASCADE
FOREIGN KEY (idItem) REFERENCES Item (idItem),
defesa INT DEFAULT 0,
defesaMagica INT DEFAULT 0,
agilidade INT DEFAULT 0,
descrição VARCHAR(255) DEFAULT '',
valor INT DEFAULT 0,
nome VARCHAR(255) NOT NULL
);

-- Tabela Local
CREATE TABLE Local (
idLocal PRIMARY KEY AUTO_INCREMENT
);

-- Tabela Estoque
CREATE TABLE Estoque (
FOREIGN KEY (idLojista) REFERENCES Lojista (idLojista),
FOREIGN KEY (idItem) REFERENCES Item (idItem)
);


-- Tabela Arma
CREATE TABLE Arma (
idItem INT NOT NULL PRIMARY KEY,
ataqueFisico INT NOT NULL DEFAULT 0,
ataqueMagico INT NOT NULL DEFAULT 0,
descricao VARCHAR(255) NOT NULL,
valor INT NOT NULL DEFAULT 0,
nome VARCHAR(255) NOT NULL,
FOREIGN KEY (idItem) REFERENCES Item (idItem) ON DELETE CASCADE
);
FOREIGN KEY (idItem) REFERENCES Item (idItem),
ataqueFisico INT DEFAULT 0,
ataqueMagico INT DEFAULT 0,
descrição VARCHAR(255) DEFAULT '',
valor INT DEFAULT 0,
nome VARCHAR(255) NOT NULL
);

-- Tabela Acessorio
CREATE TABLE Acessorio (
idItem INT NOT NULL PRIMARY KEY,
defesa INT NOT NULL DEFAULT 0,
defesaMagica INT NOT NULL DEFAULT 0,
agilidade INT NOT NULL DEFAULT 0,
ataqueFisico INT NOT NULL DEFAULT 0,
ataqueMagico INT NOT NULL DEFAULT 0,
descricao VARCHAR(255) NOT NULL,
valor INT NOT NULL DEFAULT 0,
nome VARCHAR(255) NOT NULL,
FOREIGN KEY (idItem) REFERENCES Item (idItem) ON DELETE CASCADE
FOREIGN KEY (idItem) REFERENCES Item (idItem),
defesa INT DEFAULT 0,
defesaMagica INT DEFAULT 0,
agilidade INT DEFAULT 0,
ataqueFisico INT DEFAULT 0,
ataqueMagico INT DEFAULT 0,
descrição VARCHAR(255) DEFAULT '',
valor INT DEFAULT 0,
nome VARCHAR(255) NOT NULL
);

-- Tabela Lojista
CREATE TABLE Lojista (
idLojista INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
idInventario INT NOT NULL,
idLojista INT PRIMARY KEY AUTO_INCREMENT,
FOREIGN KEY (idInventario) REFERENCES Inventario (idInventario)
agilidade INT DEFAULT 0,
defesaMagica INT DEFAULT 0,
defesa INT DEFAULT 0,
ataque INT DEFAULT 0,
nome VARCHAR(255) NOT NULL
);

-- Tabela Personagem Não Jogável
CREATE TABLE PNJ (
idPnj INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
idPersonagem INT NOT NULL,
nome VARCHAR(255) NOT NULL,
FOREIGN KEY (idPersonagem) REFERENCES Personagem (idPersonagem) ON DELETE CASCADE
FOREIGN KEY (idPersonagem) REFERENCES Personagem (idPersonagem),
tipoPnj NOT NULL
);

-- Tabela Inimigo
CREATE TABLE Inimigo (
idPersonagem INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
nome VARCHAR(255) NOT NULL,
ataque INT DEFAULT 0,
defesa INT DEFAULT 0,
defesaMagica INT DEFAULT 0,
idPersonagem INT PRIMARY KEY AUTO_INCREMENT,
defesa INT DEFAULT 0,
agilidade INT DEFAULT 0,
alma INT DEFAULT 0,
tipo INT DEFAULT 0
ataque INT DEFAULT 0,
nome VARCHAR(255) NOT NULL,
defesaMagica INT DEFAULT 0
);

-- Tabela Legivel
CREATE TABLE Legivel (
idItem INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
nome VARCHAR(255) NOT NULL,
descrição VARCHAR(255) DEFAULT '',
idItem INT PRIMARY KEY AUTO_INCREMENT,
conteúdo VARCHAR(255) DEFAULT '',
efeito VARCHAR(255) DEFAULT '',
valor INT DEFAULT 0
valor INT DEFAULT 0,
descrição VARCHAR(255) DEFAULT '',
nome VARCHAR(255) NOT NULL
);

-- Tabela Consumivel
CREATE TABLE Consumivel (
idItem INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
nome VARCHAR(255) NOT NULL,
idItem INT PRIMARY KEY AUTO_INCREMENT,
adHp INT NOT NULL,
adMente INT NOT NULL,
descrição VARCHAR(255) DEFAULT '',
efeito VARCHAR(255) DEFAULT '',
valor INT DEFAULT 0
);

-- Tabela Parte
CREATE TABLE Parte (
idParte INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
nome VARCHAR(255) NOT NULL,
tipo VARCHAR(255) DEFAULT 'Braço',
idPersonagem INT NOT NULL,
vidaMaxima INT DEFAULT 0,
chanceAcerto INT DEFAULT 0,
vidaAtual INT DEFAULT 0
valor INT DEFAULT 0,
nome VARCHAR(255) NOT NULL
);

-- Tabela Inventario
CREATE TABLE Inventario (
idInventario INT NOT NULL PRIMARY KEY,
idPersonagem INT NOT NULL
idInventario INT PRIMARY KEY AUTO_INCREMENT,
FOREIGN KEY (idPersonagem) REFERENCES Personagem (idPersonagem)
);

-- Tabela Alma
CREATE TABLE Alma (
nome VARCHAR(255) PRIMARY KEY,
personagem INT NOT NULL,
FOREIGN KEY (Personagem) REFERENCES Personagem (idPersonagem) ON DELETE CASCADE
FOREIGN KEY (personagem) REFERENCES Personagem (idPersonagem)
);

-- Tabela Personagem Jogável
CREATE TABLE PersonagemJogavel (
acessorio1 INT,
acessorio2 INT,
arma INT,
armadura INT,
mente INT NOT NULL,
corpo INT NOT NULL,
idPersonagem INT NOT NULL,
FOREIGN KEY (Acessorio1) REFERENCES Acessorio (idItem),
FOREIGN KEY (Acessorio2) REFERENCES Acessorio (idItem),
FOREIGN KEY (Arma) REFERENCES Arma (idItem),
FOREIGN KEY (Armadura) REFERENCES Armadura (idItem),
FOREIGN KEY (idPersonagem) REFERENCES Personagem (idPersonagem)
mente INT NOT NULL,
defesa INT NOT NULL,
agilidade INT NOT NULL,
ataque INT NOT NULL,
nome VARCHAR(255) NOT NULL,
defesaMagica INT NOT NULL,
FOREIGN KEY (idPersonagem) REFERENCES Personagem (idPersonagem),
FOREIGN KEY (acessorio1) REFERENCES Item (idItem),
FOREIGN KEY (acessorio2) REFERENCES Item (idItem),
FOREIGN KEY (Arma) REFERENCES Item (idItem),
FOREIGN KEY (Armadura) REFERENCES Item (idItem)
);

-- Tabela Habilidade
CREATE TABLE Habilidade (
idHabilidade INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
custo INT NOT NULL DEFAULT 0,
alma INT NOT NULL,
idHabilidade INT PRIMARY KEY AUTO_INCREMENT,
custo INT NOT NULL,
FOREIGN KEY (alma) REFERENCES Alma (Nome)
);

-- Tabela Genital
CREATE TABLE Genital (
idParte INT PRIMARY KEY,
FOREIGN KEY (Personagem) REFERENCES Personagem (idPersonagem),
tipoParte INT UNIQUE,
hpMaximo INT NOT NULL,
hitChance INT NOT NULL,
hpAtual INT NOT NULL
);

-- Tabela Cabeca
CREATE TABLE Cabeca (
idParte INT PRIMARY KEY,
FOREIGN KEY (Personagem) REFERENCES Personagem (idPersonagem),
tipoParte INT UNIQUE,
hpMaximo INT NOT NULL,
hitChance INT NOT NULL,
hpAtual INT NOT NULL
);

-- Tabela Olho
CREATE TABLE Olho (
idParte INT PRIMARY KEY,
FOREIGN KEY (Personagem) REFERENCES Personagem (idPersonagem),
tipoParte INT UNIQUE,
hpMaximo INT NOT NULL,
hitChance INT NOT NULL,
hpAtual INT NOT NULL
);

-- Tabela Braco
CREATE TABLE Braco (
idParte INT PRIMARY KEY,
FOREIGN KEY (Personagem) REFERENCES Personagem (idPersonagem),
tipoParte INT UNIQUE,
hpMaximo INT NOT NULL,
hitChance INT NOT NULL,
hpAtual INT NOT NULL
);

-- Tabela Torco
CREATE TABLE Torco (
idParte INT PRIMARY KEY,
FOREIGN KEY (Personagem) REFERENCES Personagem (idPersonagem),
tipoParte INT UNIQUE,
hpMaximo INT NOT NULL,
hitChance INT NOT NULL,
hpAtual INT NOT NULL
);

-- Tabela Perna
CREATE TABLE Perna (
idParte INT PRIMARY KEY,
FOREIGN KEY (Personagem) REFERENCES Personagem (idPersonagem),
tipoParte INT UNIQUE,
hpMaximo INT NOT NULL,
hitChance INT NOT NULL,
hpAtual INT NOT NULL
);

0 comments on commit d453585

Please sign in to comment.