BULMA

Bulma se une a la protesta contra SOPA y PIPA

Bergantells Usuaris de GNU/Linux de Mallorca i Afegitons   |   Bisoños Usuarios de GNU/Linux de Mallorca y Alrededores
CONTENIDOS
. Jornadas de software libre
. Version para PDA
. Enlaces breves
. La asociacion
. Los mas leidos
. Autores [Actividad]
. Ultimos Comentarios
. Todos los titulares!
. Estadisticas
. Guia de estilo
. ¿Sugerencias?
. Wiki
. XML [Ayuda]
Listas de correo
. Archivos bulmailing
. Archivos BulmaGes
Radio libre :-)
. Des de la Xarxa (Archivos)
. Mallorca en Xarxa
Busquedas

+ Enlaces Linux
Ultimos kernels
(23/05/2013 19:25:14)
    
Google


En bulma.net
En internet
Bases de dades empotrables (III) (7181 lectures)
Por Antoni Aloy López
aaloy (http://trespams.com)
Creado el 21/11/2004 23:12 modificado el 21/11/2004 23:12

Tercera entrega de la sèrie damunt bases de dades empotrables per Linux i Python. Aquesta vegada li toca el torn a gadfly una base de dades feta en i per Python .

Pagina1/1

Bases de dades empotrables (III)

En aquesta nova entrega de les bases de dades empotrables veurem les possibilitats d'una base de dades escrita en Python i que per tant s'integra perfectament en aquest excel·lent llenguatge: gadfly

Gadfly compleix una bona part de les especificacions de l'SQL-92, i és la base de dades per defecte del projecte Zope, la qual cosa ens pot donar ja una idea de la seva potència i versatilitat.

Gadfly amagatzema la base de dades activa en memòria i això pot representar una limitació important en algunes aplicacions en termes de capacitat de la pròpia base de dades.

Instal·lació

Podem instal·lació de gadfly es pot fer directament des d'un dels paquets que hi ha fets en la majoria de distribucions, en Debian per exemple ens bastarà fer un apt-get install python-gadfly per a tenir-la disponible. També es pot fer la instal·lació directament des del codi font que ens podem descarregar del lloc web de gadfly . Des del codi font la instal·lació també és molt senzilla: es descarrega el fitxer, es descomprimetix (un tar xvzf fixer.tgz serà suficient) i després ja com a root teclejar i executar

python setup.py install

Encara que no sigui estrictament necessari, hi ha una utilitat que ens ajudarà amb el nostre dia a dia amb gadfly i que convé instal·lar, el gfplus, una utilitat de lína de comandes que ens permetrà accedir a bases de dades gadfly, crear-ne consultes, etc.

Què és pot fer amb gadfly?

Com ja hem comentat amb gafly es pot fer servir un bon conjunt d'instruccions d'ODBC 2.0 SQL. Presenta limitacions respecte al tipus de dades que es poden fer servir, limitats a INTEGER, FLOAT i VARCHAR, però que són suficients per a la majoria d'aplicacions. Alguna de les omissions més imporants d'aquesta base de dades és l'abasència de NULL, la qual cosa afecta també a una altra sentència important ALTER TABLE i que fa que no es pugui modificar fàcilment l'estructura d'una taula.

Pel demés la senzillesa d'aquesta base de dades el l'ample subconjunt de l'SQL que soporta fa que aquestes mancances es puguin compensar de sobres pel fet de no tenir que dependre de que hi hagi instal·lat un aplicatiu de bases de dades de tercers. Gadfly és l'elecció ideal per aquell aplicatius fets en Python i que necessitin una plataforma d'amagatzament portable, que pugui correr en els mateixos llocs que el propi Python.

Creació d'una base de dades.

Podem crear una base de dades fàcilment des de l'utilitat gfplus
> gfplus test

gfplus $Revision: 1.6 $ -- Interactive gadfly shell  [readline]

Sunday November 21, 2004 02:59 PM
Using:
DB Name: test
DB Location:

a DB Location hi posarem el camí on volem posar la base de dades, a partir d'aquí ja podem utilitzar les sentències habituals de l'SQL per anar creant les taules que necessitem.

No oblidem però que gafly està escrita amb i per Python, així no es gens sorperent que poguem fer totes aquestes operacions des de Python, bé des de la línea de comandes o des d'un script.
>python
Python 2.3.4 (#2, Nov 13 2004, 18:58:41)
[GCC 3.3.5 (Debian 1:3.3.5-2)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import gadfly
>>> connection = gadfly.gadfly()
>>> connection.startup("test","/tmp/test/")
>>> connection.commit()

Creació i accés a les dades.

Una vegada hem creat la base de dades és hora de crear les taules que necessitem, anar introduïnt-hi les dades, actualitzar-les, esborrar-les, etc. Fent servir gfplus la cosa és tan senzilla com executar les corresponents sentències SQL soportades per gafly, per codi l'estratègia passa per realitzar la connexió a la base de dades, crear un cursor, excecutar les sentències SQL i, si convé, recuperar-ne els resultats. Vegem-ho:
>>> cursor = connection.cursor()
>>> cursor.execute("create table bulmeros(nick varchar, nom varchar, articles integer)")
>>> cursor.execute("""insert into bulmeros(nick, nom, articles) values
...                     ('aaloy','antoni aloy',1)""")
>>> cursor.execute("select nick, nom, articles from bulmeros")
>>> for bulmero in cursor.fetchall():
...     print bulmero[0], bulmero[1], bulmero[2]
...
aaloy antoni aloy 1

Conclusions

En aquest article hem presentat una altra alternativa de base de dades empotrades, resumim-ne alguna de les seves principals caracterítiques:

  • Portabilitat. Funcionarà allà on funcioni Python
  • Independència de solucions de tercers.
  • Compatibilitat parcial SQL i soport de transaccions.
  • Possibilitat de establir un sistema Client/Servidor
  • Monousuari i dependent de la memòria del sistema.

A la documentació de gadfly hi ha molta més informació damunt les característiques d'aquesta base de dades i del seu soport SQL, aquí sols l'hem introduïda en societat.Happy coding!


Imprimir
Version para
imprimir

Imprimir
Version
PDF
Comentarios
Es posible que se hayan omitido algunos comentarios considerados poco constructivos
1.  Re: Bases de dades empotrables (III) (22/11/2004 23:11, #24415)
  Por: Marcos
[No sé escribir en catalán] Sólo quería indicar que hay un modo cliente/servidor que sí que es multi-usuario (bueno, mono-servidor y multi-cliente). Aun así, los bloqueos son muy gruesos (no sé si por tabla o por base de datos). Pero es suficiente si mucha gente lee y pocos escriben.
No es pot respondre
 
2.  Re: Bases de dades empotrables (III) (25/11/2004 11:39, #24460)
  Por: Anónimo
Alguien me puede decir si existe alguna base de datos empotrable para Java? Lo que busco es algo como SQLite pero con API para Java.

Gracias
No es pot respondre
 
3.  Re: Bases de dades empotrables (III) (25/11/2004 21:34, #24471)
  Por: aaloy

Per exemple Derbi, uuna donació recent d'IBM a la fundació Apache.

No es pot respondre
 
GRACIAS
Distribuciones Universal
Por el servidor
Dpto. de Matematicas e Informatica
Calificacion
***0
Vots: 9
Danos tu opinion:
**** Excelente
***0 Muy Bueno
**00 Bueno
*000 Regular
0000 Malo
Relacionados
. Bases de datos empotrables (II)
. Bases de datos empotradas (I)
SECCIONES
Noticia
Breve
Truco
Enlace
Participa
Proyecto
Articulo
Webbulma
Manoletada :-)
Seguridad
Modificado: 10/5/2007 18:38:57 | Tiempo Total: 0.032 segs | Kernel: Linux - i686 - 2.6.26-2-686 | Last boot: too much time ago!!
Powered by Apache    MySQL    PHP    Gimp