Skip to content

Schema do Banco de Dados

Guilherme Rodrigues edited this page Aug 18, 2025 · 2 revisions

Estrutura do Banco de Dados

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.

Tabela: herois

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

Script SQL (exemplo real)

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
);

Estrutura do Banco de Dados - Inventário

Além da tabela principal de heróis, o projeto utiliza uma tabela de inventário para armazenar os itens de cada personagem.

Tabela: inventario

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

Script SQL (exemplo real)

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)
);

Clone this wiki locally