todas estas tablas llevaran estos campos: estado INT NULL DEFAULT (1) creado_por INT NULL fecha_hora_creado DATETIME NULL DEFAULT (GETDATE()) modificado_por INT NULL fecha_hora_modificado DATETIME NULL #tarjetas .id_tarjeta .id_tarjeta_propietario .id_tarjeta_tipo .id_banco .numero .mes_vencimiento .anio_vencimiento .cvv .titular_nombre .comentarios #tarjetas_propietarios .id_tarjeta_propietario .id_tarjeta_propietario_id .id_tarjeta_propietario_tipo #tarjetas_propietarios_tipos -usuario (los hay empresas y los hay usuarios) -empleado -empresa departamento .id_tarjeta_propietario_tipo .nombre .descripcion #empresas_empleados .id_empresa_empleado .nombres .apellidos .identidad .celular .email .direccion .id_empresa #empresas_departamentos .id_empresa_departamento .nombre .descripcion .id_empresa #tarjetas_tipos -débito -crédito -prepago .id_tarjeta_tipo .nombre .descripcion #bancos .id_banco .nombre .id_region (pais) .direccion #tarjetas_beneficios_asignaciones .id_tarjeta_beneficio_asignacion .id_tarjeta .id_tarjeta_beneficio #tarjetas_beneficios .id_tarjeta_beneficio .nombre (ej: "Cashback 5%", "Millas x2", "Descuentos 2%") .descripcion (opcional, ej: "Válido en supermercados") .monto (ej: 200 lps descuento) .tasa (ej: 15.5 para 15.5%) .suma_o_resta #tarjetas_intereses_asignaciones .id_tarjeta_interes_asignacion .id_tarjeta .id_tarjeta_interes #tarjetas_intereses .id_tarjeta_interes .nombre (ej: "Ordinario", "Moratorio", "Promociones", "Especiales") .descripcion (opcional, ej: "Válido en supermercados") .monto (ej: 200 lps adicionales) .tasa (ej: 15.5 para 15.5%) .suma_o_resta #cuentas .id_cuenta .codigo_contable .nombre .descripcion #cuentas_gastos_asignaciones .id_cuenta_gasto_asignacion .id_cuenta .id_tarjeta_gasto #tarjetas_gastos .id_gasto .id_tarjeta .id_tarjeta_gasto_categoria .url_foto .monto #tarjetas_gastos_categorias -comida -transporte -suministros, etc .id_tarjeta_gasto_categoria .nombre .descripcion #tarjetas_pagos .id_tarjeta_pago .id_tarjeta .id_tarjeta_gasto (opcional, si está vinculado a un gasto) .monto .descripcion #presupuestos .id_presupuesto .id_presupuesto_recipiente_id .id_presupuesto_recipiente_tipo .monto #presupuestos_recipientes_tipos -tarjeta -categoría .id_presupuesto_recipiente_tipo .nombre .descripcion [ permisos: administrador general, todos los usuarios administrador general, todas las tarjetas administrador general, todos los reportes administrador empresarial, usuarios de la empresa administrador empresarial, tarjetas de la empresa usuarios regular, permiso de consultar gastos usuarios regular, permiso de registrar gastos ] (estas tabla no lleva los 5 campos base) #backups .id_backup .id_usuario .hash_verificacion (TEXT) - - SHA -256 del archivo .tamano_mb (DECIMAL(10,2)) - - Tamaño en MB .fecha_hora_creacion (TIMESTAMP) .estado (ENUM) - - 'TERMINADO'/'INICIADO'/'FALLIDO' .estado_descripcion (TEXT, NULL) - - Detalles si falló .id_backup_tipo #backups_tipos -manual -automático .id_backup_tipo .nombre .descripcion #audit_log .id_audit_log .id_usuario .entidad_afectada (ej: "tarjetas", "tarjetas_gastos", "tarjetas_presupuestos") .id_entidad (ej: id_tarjeta, id_tarjeta_gasto) .accion (CREATE/UPDATE/DELETE/ACCESS) .ip_origen (para trazabilidad) .dispositivo (informacion del navegador del cliente o metadata referencial al usuario)