-
Notifications
You must be signed in to change notification settings - Fork 2
Schema do Banco de Dados
Guilherme Rodrigues edited this page Aug 18, 2025
·
2 revisions
O projeto utiliza um banco de dados SQLite para persistência dos dados dos heróis. O banco possui uma tabela principal chamada herois, que armazena todos os atributos relevantes do personagem e seu progresso.
| Nome da Coluna | Tipo de Dado | Descrição |
|---|---|---|
id |
INTEGER | Chave Primária. Identificador único para cada herói, auto-incremento |
nome |
TEXT | Nome do herói (único) |
vida_atual |
INTEGER | Pontos de vida atuais |
vida_maxima |
INTEGER | Pontos de vida máximos |
ataque |
INTEGER | Valor base de ataque |
defesa |
INTEGER | Valor base de defesa |
chance_critico |
INTEGER | Chance de acerto crítico (%) |
multiplicador_critico |
REAL | Multiplicador de dano crítico |
chance_esquiva |
INTEGER | Chance de esquiva (%) |
energia |
INTEGER | Energia atual |
forca |
INTEGER | Atributo base |
agilidade |
INTEGER | Atributo base |
vigor |
INTEGER | Atributo base |
presenca |
INTEGER | Atributo base |
intelecto |
INTEGER | Atributo base |
nivel |
INTEGER | Nível atual |
experiencia_atual |
INTEGER | XP atual |
experiencia_para_proximo_nivel |
INTEGER | XP necessário para o próximo nível |
O arquivo db/schema.sql contém o comando CREATE TABLE usado para gerar esta estrutura:
CREATE TABLE IF NOT EXISTS herois (
id INTEGER PRIMARY KEY AUTOINCREMENT,
nome TEXT NOT NULL UNIQUE,
vida_atual INTEGER,
vida_maxima INTEGER,
ataque INTEGER,
defesa INTEGER,
chance_critico INTEGER,
multiplicador_critico REAL,
chance_esquiva INTEGER,
energia INTEGER,
forca INTEGER,
agilidade INTEGER,
vigor INTEGER,
presenca INTEGER,
intelecto INTEGER,
nivel INTEGER DEFAULT 1,
experiencia_atual INTEGER DEFAULT 0,
experiencia_para_proximo_nivel INTEGER DEFAULT 100
);Além da tabela principal de heróis, o projeto utiliza uma tabela de inventário para armazenar os itens de cada personagem.
| Nome da Coluna | Tipo de Dado | Descrição |
|---|---|---|
id |
INTEGER | Chave Primária. Identificador único do item no inventário |
heroi_nome |
TEXT | Nome do herói proprietário do item (chave estrangeira) |
item_nome |
TEXT | Nome do item |
tipo_item |
TEXT | Tipo do item (ex: espada, poção, armadura) |
quantidade |
INTEGER | Quantidade do item |
atributo_modificado |
TEXT | Qual atributo o item modifica (ex: ataque, defesa, vida) |
valor_modificacao |
INTEGER | Valor do bônus/modificação do item |
descricao |
TEXT | Descrição do item |
O arquivo db/schema.sql contém o comando CREATE TABLE usado para gerar esta estrutura:
CREATE TABLE IF NOT EXISTS inventario (
id INTEGER PRIMARY KEY AUTOINCREMENT,
heroi_nome TEXT NOT NULL,
item_nome TEXT NOT NULL,
tipo_item TEXT,
quantidade INTEGER DEFAULT 1,
atributo_modificado TEXT,
valor_modificacao INTEGER,
descricao TEXT,
FOREIGN KEY (heroi_nome) REFERENCES herois(nome)
);