CRUD son siglas comunes de sistemas que permiten crear, leer, actualizar y eliminar información, en esta ocasión te explico como hacer parte por parte un CRUD en prolog, en swi-prolog concretamente.

Base de datos

En este caso usaremos por motivos de simplicidad las bases de datos por defecto de prolog que son bases de datos lógicas en memoria, si te interesa alguna base de datos en particular no dudes en contactarme en mis redes sociales.

:- dynamic cuenta/3.

Con esta línea estamos diciéndole que vamos a tener algunos hechos que pueden ser modificados en tiempo de ejecución en el hecho llamado cuenta en su versión que relaciona tres elementos. Esta parte es crítica para poder tener el CRUD en prolog.

cuenta(1, 'Juan Pérez', 1000).
cuenta(2, 'María González', 2000).
cuenta(3, 'Pedro Martínez', 1500).

Aquí estamos definiendo los valores por defecto para las cuentas con los valores para los campos id, nombre y saldo. Hasta aquí todo relativamente normal e intuitivo. Agregar esta parte es opcional y solamente se recomienda para hacer un programa de demostración para el cliente

Consultar cuenta

Tal vez esta sea la parte más simple, nos permite consultar una cuenta bancaria por su identificador o por el nombre del propietario, en le caso de el saldo monetario no lo regresamos sino que nicamente lo imprimimos usando el predicado write

leerCuenta(ID, Nombre) :-
    cuenta(ID, Nombre, Saldo), write(Saldo).

Crear cuenta

Para crear una cuenta especificamos un nuevo hecho cuenta y para hacer que se agregue justo al final de los datos que tenemos guardados usaremos assertz, si quisieramos que se guardara en la primera posición usaríamos en su lugar asserta.

crearCuenta(ID, Nombre, SaldoInicial) :-
    assertz(cuenta(ID, Nombre, SaldoInicial)).

Eliminar cuenta

Para eliminar un hecho de nuestra base de datos en memoria deberemos de usar el predicado retract.

eliminarCuenta(ID) :-
    retract(cuenta(ID, _, _)).

Cuando en algún predicado usamos un guion bajo estamos indicando que se obtenga el valor, pero que este no se debe de guardar en ninguna variable, es por ello que en nuestro predicado solamente usamos la variable ID

Actualizar cuenta

Para actualizar debemos de hacer dos operaciones, primeramente eliminar el registro y después agregar uno nuevo con el mismo ID y Nombre, pero con un saldo diferente.

actualizarCuenta(ID, NuevoSaldo) :-
    retract(cuenta(ID, Nombre, _)),
    assertz(cuenta(ID, Nombre, NuevoSaldo)).

Código completo del CRUD en Prolog

Como siempre el código fuente lo puedes hallar en mi repositorio de github.

javatlacati

Entradas recientes

Cursos de Código Facilito

Te comparto aquí mis recomendaciones de cursos de Código Facilito. Codigofacilito.com es una plataforma virtual…

2 meses hace

Cursos de LinkedIn Learning

Te comparto aquí mis recomendaciones de cursos de Linkedin Learning. LinkedIn Learning es una plataforma…

4 meses hace

Mockito: Snippets de código

Estos snippets de código para entrevista acerca de mockito espero te sean de mucha utilidad.…

4 meses hace

Expresiones regulares en Java: analizar un String

En este tutorial aprenderá a usar expresiones regulares en Java de manera práctica para contar…

4 meses hace

Preguntas para entrevista de programación Java full-stack

¿Entrevista de programación Java fullstack? No te preocupes, te tengo un compendio de preguntas de…

5 meses hace

SoftSkills: cursos de Udemy

Te recomiendo algunos cursos de Udemy para mejorar tus softskills y así mejorar en tu…

5 meses hace