La base de datos SQLite contiene las siguientes tablas.

Tabla Finalidad
tlrutinas Rutinas creadas por el usuario
tlejercicios Ejercicios asociados a una rutina y día
tlhistorial Evolución de repeticiones y peso por ejercicio
tlpesaje Registros de peso corporal
tlcalendar Estado de las fechas en el calendario
tlimagenes Ruta privada de la imagen asociada a cada ejercicio

Esquema principal

CREATE TABLE tlrutinas (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    nombre TEXT UNIQUE,
    dias INTEGER
);

CREATE TABLE tlejercicios (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    nombre TEXT,
    dia INTEGER,
    idrutinas INTEGER,
    series INTEGER,
    repes INTEGER,
    peso INTEGER
);

CREATE TABLE tlhistorial (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    idejercicio INTEGER,
    repes INTEGER,
    peso INTEGER,
    date TEXT
);

CREATE TABLE tlpesaje (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    peso INTEGER,
    date TEXT
);

CREATE TABLE tlcalendar (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    date TEXT UNIQUE,
    estado INTEGER
);

CREATE TABLE tlimagenes (
    idejercicio INTEGER NOT NULL UNIQUE,
    ruta TEXT NOT NULL UNIQUE,
    PRIMARY KEY (idejercicio, ruta)
);

Las imágenes no se almacenan como bytes dentro de SQLite. Solo se guarda su ruta privada; esto reduce el tamaño de la base de datos.