DAM-M3-UF6. Persistència a bases de dades OO
torna M3 - Programació
Contingut
Introducció
Hi ha múltiples maneres de gestionar la persistència des de Java, alguns exemples:
BBDD Relacionals | SQL incrustat (Embedded) | Per exemple SQLJ | Utilitza directament SQL
Molt eficient. Poc usat i amb poc suport (Per exemple Eclipse no) |
|
Intermediari (Driver) | Exemples:
JDBC ODBC |
Les interfícies són lleugeres, aporten mètodes d'utilitat per facilitar la gestió de les tasques més comuns |
|
Eines específiques | Eines d'alt nivell:
Hibernate API de Persistència Java |
Afegeixen gran abstracció respecte la base de dades, i per tant independència de la tecnologia.
En general requereixen d'un procés previ de configuració |
BBDD OO | Llibreries específiques per a cada SGBD OO |
En general depèn del tipus de base de dades, les més comuns les BBDD Relacionals.
Bases de dades OO
Aquests tipus de BBDD emmagatzemen objectes (atributs i mètodes). La persistència és doncs molt més directa, no existeixen les limitacions de les BBDD Relacionals. Des del punt de vista del programador és molt més senzill treballar amb aquest tipus de base de dades (Si es programa amb objectes).
Per contra existeixen poques BBDD OO al mercat, en general no s'utilitzen i conceptualment són difícils d'entendre (com s'emmagatzemen les dades? i els mètodes?...)
Cada objecte guardat s'identifica per un OID (Object Identifier), independent de les dades que conté.
ODBMS : Object Database Management System
http://en.wikipedia.org/wiki/Object_database
http://en.wikipedia.org/wiki/Comparison_of_object_database_management_systems
db4o - Database 4(for) Objects
db4o és un exemple de les múltiples BBDD OO del mercat
Algunes de les seves característiques són:
- De codi obert sota llicència GPL, orientat a Java
- Senzill d'utilitzar i amb bon rendiment,
- La base de dades és un únic fitxer
- Només cal importar una llibreria "db4o-8.0.....-all-java5.jar"
OME (Object Manager Enterprise)
El propi gestor incorpora una utilitat (Plugin per Eclipse) que permet explorar els objectes de la base de dades
Vista OME:
- db4o browser: mostra les classes i els atributs (Botó dret: View All Objects)
- Property View: Propietats de la BBDD, de les classes i dels objecte (OID), permet crear índexs
- Build Query: Crear consultes, arrossegant des del Browser
- Query Results: Mostrar resultat de les consultes i modificar valors
Menú OME
- Connectar i desconnectar de la Base de dades
Connectar i desconnectar
public static void main(String[] args) { new File(BBDDFITXER).delete(); // Obliga a crear nova BBDD cada vegada (Opcional)
ObjectContainer db = Db4oEmbedded.openFile(Db4oEmbedded.newConfiguration(), BBDDFITXER); try {
// Treballar amb la BBDD
} finally { db.close(); } }