Página principal
Gambas
Base de datos de libros
SQLite
Hace unos años realicé una base de datos
sobre películas que tenía grabadas. Estaba realizado en Gambas
(visual Basic para Linux), y utilizaba SQLite para manejar los
datos.
Buscando por internet encontré una base de datos de libros, estaba
realizada para access microsoft. Era del programa abies
2 que se utilizaba para una gestión de bibliotecas
escolares.
La página del proyecto es
http://www.abies.es/web/ , ahora el proyecto se basa en web,
por lo que faltan en mi base de datos muchos libros desde hace 10
años hasta ahora.
Me puse manos a la obra y la base de datos en formato mdb la
pase a formato sqlite.
La base de datos consta de 388.000 libros, 200.000 autores, y 50.000
editoriales.
Por lo que podéis ver es bastante grande, era una experiencia nueva
trabajar con tanta cantidad de libros, por lo que lo tome como un
reto.
En primer lugar hice pruebas con los autores, y me dí cuenta que era
un problema las mayúsculas y los acentos, en las búsquedas.
Había autores que los habían escrito de diferentes formas, Garcia,
García, GARCIA, GARCÍA.
En MySQL había una solución, pero en SQLite no funcionaba.
Esto era un problema en las búsquedas, por lo que tome la solución
mas drástica, poner todo en mayúsculas y quitar acentos.
También me pasó con las editoriales, por lo que también pasé todo a
mayúsculas y quitar acentos.
El programa lo he realizado solo para consultas, por lo que no se
puede añadir nada a la base de datos.
En la versión 2 existe una casilla donde se puede escanear el con un
lector de código de barras.
La base de datos consta de 3 tablas o bases de datos,
Fondos,Autores,Editoriales.
La base de datos principal es Fondos, en esta se encuentran
los los libros con su IdAutor y
IDEDITORIAL, que son numeros enteros.
Los campos IdAutor y IDEDITORIAL
enlazan a las bases de datos o tablas, de Autores y Editoriales,
donde se encuentran los nombres de cada autor y editorial.
En resumen son 3 bases de datos con datos enlazados o datos
vinculados.
El programa me ha quedado digno, aunque con una espina en la
velocidad al inicio. Cuando se emplea la orden TablaFondos =
Conexion.Exec("Select * from Fondos") tarda unos 5
segundos en actualizar la base de datos. Ya sé que es grande pero he
visto en otros programas que lo hacen mas rápido. Existe un truco,
pero no lo he querido emplear de momento.
Los dos diferentes diálogos para seleccionar autor y
editorial.
El que quiere ver como funciona el programa antes de bajarlo, he
realizado un video de funcionamiento.
VIDEO
PROGRAMA
BINARIO CON BASE DE DATOS DE LIBROS V2
PROGRAMA FUENTE V2
Saludos.
Juan Galaz
Como curiosidad existe una página web donde se encuentra una base de
datos de libros inmensa.
REBECA:
registros bibliográficos para bibliotecas públicas españolas
Bibliografía:
Para aprender utilizar SQLite con gambas he
utilizado los siguientes enlaces:
http://gambas.sourceforge.net/es/main.html
Página oficial de gambas
http://www.gambas-es.org/index.php
Foro de gambas
http://help-gambas.blogspot.com/
Página con algún tutorial de gambas
https://jsbsan.blogspot.com/
Blog Mis Proyectos en Gambas
http://gambeando.wordpress.com/
Página donde existen buenos tutoriales explicados de gambas.
http://www.fidojones.com/category/gambas/
Página sobre programas en gambas y algún otro programa
relacionado con facturación. Me mando un programa hecho en gambas
que me ayudo mucho en la realización del mio, gracias.
http://gambaswiki.org/wiki/howto/databasesqlite