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.
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
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). 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)). 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
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)). Como siempre el código fuente lo puedes hallar en mi repositorio de github.
Te comparto aquí mis recomendaciones de cursos de Código Facilito. Codigofacilito.com es una plataforma virtual…
Te comparto aquí mis recomendaciones de cursos de Linkedin Learning. LinkedIn Learning es una plataforma…
Estos snippets de código para entrevista acerca de mockito espero te sean de mucha utilidad.…
En este tutorial aprenderá a usar expresiones regulares en Java de manera práctica para contar…
¿Entrevista de programación Java fullstack? No te preocupes, te tengo un compendio de preguntas de…
Te recomiendo algunos cursos de Udemy para mejorar tus softskills y así mejorar en tu…