Habilitar claves foráneas en SQLite3

Hoy vamos a ver cómo habilitar las foreign keys de SQLite3 ya que en ocasiones las mismas no funcionan incluso al especificar el on delete y on update.

Esto es porque debemos habilitar las claves foráneas de SQLite3 al momento de abrir la base de datos o cambiar el PRAGMA.

Veamos cómo hacerlo al abrir la base de datos.

(más…)

Combinar y ordenar 2 tablas de base de datos

El día de hoy veremos cómo extraer datos de 2 tablas SQL distintas, combinarlos y extraer solo los primeros de ellos a partir de un parámetro de ordenamiento.

El ejemplo que mostraré va a mostrar los productos más vendidos en una tienda, pero esos productos se venden al contado o en apartado, y cada uno está en una tabla distinta.

Lo que se requiere es obtener los productos más vendidos sin importar a cuál tabla pertenecen, ordenándolos, combinándolos y extrayendo solo los primeros N.

(más…)

Tabla de productos comprados para mostrar como JSON

SQL: obtener varias filas de subconsulta en una sola, simulando JSON para agrupar

Hace tiempo te mostré cómo “encapsular” varias filas de datos en una sola fila usando JSON con PostgreSQL y las funciones que de JSON que este motor ofrece.

Hoy te enseñaré a obtener varias filas “comprimidas” dentro de una fila simulando un JSON concatenando los resultados, por lo que será compatible con varios motores de bases de datos.

En pocas palabras ingresaremos un arreglo de filas en una fila, agrupando varias filas en una sola, o mejor dicho, colocar resultados de una subconsulta como JSON.

(más…)

Subiendo Sublime POS 3 a servidor Ubuntu

Ya escribí un artículo indicando cómo usar Sublime POS 3 en internet de manera resumida, pero en este post te enseñaré una pequeña guía específica de cómo subirlo a un servidor con Linux Ubuntu alojado en DigitalOcean.

Te recomiendo leer primero el post que cité anteriormente y después volver a este. También te sugiero que veas cómo compilar el código fuente para que entiendas los conceptos aquí mostrados.

(más…)

Usar dispositivo Android como servidor de sistema de ventas

Compilar Sublime POS 3 en Android

En este post te mostraré cómo puedes usar Sublime POS 3 (punto de venta) en Android compilando por ti mismo el código fuente.

Al final vas a poder usar el sistema nativamente y en modo local en una tableta o teléfono, además de que podrás usarlo como servidor y permitir que otros dispositivos se conecten al mismo.

Por lo tanto, si cuentas con el source code de este sistema de ventas podrás usarlo nativamente en Android sin depender de un servidor, y podrás usarlo en teléfonos o tabletas.

(más…)

Agregar columna a tabla si no existe en SQLite3 con Golang

En el tutorial de hoy te mostraré una pequeña función que te permite agregar una columna a una tabla solo si la misma no existe.

El motor de base de datos que vamos a usar será SQLite3 pero me imagino que debe funcionar para otros como PostgreSQL o MySQL.

Esto es necesario porque en ocasiones el cliente no puede hacer los cambios a la base de datos (no puede ejecutar sentencias SQL) y además se desean conservar los datos ya existentes.

Por ello es que hoy veremos cómo agregar una columna a una tabla conservando sus datos, y agregarla solo si no existe, verificando la tabla con PRAGMA en SQLite3.

(más…)

Por parzibyte, hace
Abrir base de datos SQLite3 cifrada

Abrir base de datos SQLite3 cifrada

En este post te mostraré cómo abrir una base de datos de SQLite3 cifrada o protegida por contraseña (obviamente tomando en cuenta que cuentas con la clave de cifrado).

Suele pasar que intentamos abrir una base de datos de SQLite 3 cifrada, pero al abrirla con el programa DB Browser for SQLite3 nos marca el error de: file is not a database.

Esto sucede porque no se reconoce como una base de datos normal, ya que está cifrada. Así que hoy te enseñaré a explorar una base de datos de SQLite3 cifrada usando DB4S.

(más…)

Por parzibyte, hace
Escritorio de sistema de ventas - Mostrar resumen general

Sistema de ventas gratuito para Windows

En este post te mostraré un sistema de ventas gratuito para descargar, fácil de usar e instalar. Es más enfocado en el usuario final que en el programador.

No es un post falso ni nada de esas cosas. Realmente te enseñaré un sistema POS que he programado hace tiempo, compilado para Windows y empaquetado para que tú puedas descargarlo y comenzar a usarlo.

El sistema PDV que te enseñaré está pensado para comerciantes, dueños de negocios, tiendas de ropa, abarrotes, etcétera, pues solo necesita una computadora para ejecutarse.

Por cierto, si te lo preguntas, el sistema es uno que ya presenté anteriormente en la nube, solo que ahora lo quitaré de la nube y será gratis para descargar.

Nota: hoy 4 de mayo de 2022 he publicado la versión de este sistema para Android, igualmente es gratuita.

Nota 2: en noviembre de 2022 he publicado este punto de venta gratis para Raspberry Pi. Totalmente gratis.

(más…)

Python y SQLite3 - Ejercicio de diccionario con palabras y su significado

Python – Diccionario de palabras y significados con SQLite3

En este post te enseñaré un ejercicio de programación simple con Python y la base de datos SQLite3. Se trata de implementar un diccionario de palabras en esta base de datos a través de una aplicación por consola.

El programa debe permitir agregar una nueva palabra con su significado, ver las palabras, editar el significado de una palabra, ver el significado de una palabra y eliminar una palabra.

Todas las palabras serán guardadas en una tabla dentro de una base de datos de SQLite3 usando Python, además de que no se van a permitir palabras repetidas.

Veamos cómo resolver este ejercicio de programación.

(más…)

API REST con Python, Flask y SQLite3

En este tutorial de programación con Python aprenderás a crear una API REST usando Flask, SQLite 3 (para los datos) y JSON para la comunicación de datos.

Al final tendrás una API que puedes consumir desde cualquier cliente, ya sea una aplicación para Android, un navegador con JavaScript o incluso otro lenguaje de servidor.

Te mostraré cómo crear una API que se comunica usando JSON y guarda los datos en SQLite 3. La API estará creada con Flask, y usaremos el lenguaje de programación Python para manejar todos los datos.

(más…)