Newsgroup: it.comp.os.linux.development
Titolo: db a oggetti

Ciao,
la programmazione ad oggetti e' entrata a far parte sempre piu' della vita
dei programmatori (o almeno della mia :P).
Per quanto riguarda i database ad oggetti, invece, manco l'ombra.. tra
l'atro non so nemmeno che cosa sia un db ad oggetti!!!
Con l'immaginazione, mi vien da pensare che e' possibile creare una tabella
con oggetti.. e' proprio cosě?
Mettiamo il caso che abbia una tabella con oggetti istanziati dalla classe
Padre, e che vogliamo, da un certo momento (causa redesign
dell'applicazione), aggiungere un campo alla classe. In OOP, potrei creare
una classe figlio (ad es Figlio) ed assegnare un'istanza della classe
figlio ad una variabile padre, ovvero una cosa cosě in java:
Figlio extends Padre (oppure Figlio(Padre) in python)
Padre unPadre = new Figlio();
Se ho una tabella per contenere istanze di Padre, potrei sbatterci dentro
oggetti Figlio e, quindi, ogni volta che dovrei modificare un database,
potrei semplicemente estendere una classe. Sarebbe bellissimo e mi
semplificherei un sacco di problemi..
La domanda, dunque, č questa: č cosě che funzionano i db ad oggetti??
Quali sono i db ad oggetti liberi?? Quali per Linux?? Si interfacciano con
Python??
grazie
sracatus

 La domanda, dunque, č questa: č cosě che funzionano i db ad oggetti??
per la mia piccola esperienza su postgresql no.

 Python??
Prova qui: 
http://www.zope.org/Wikis/ZODB/FrontPage
-- 
Lawrence "Rhymes" Oluyede
http://loluyede.blogspot.com
rhy...@NOSPAMmyself.com

 Python??
PostgreSQL è Object-Relational, diversamente se vuoi un DB OO puro devi
cercare ZODB.
Io li uso entrambi, e sono entrambi favolosi.
	nicholas


Con google ho trovato questo, ma mi sono addentrato oltre.
http://sal.kachinatech.com/H/2/
All'università di Pisa, qualche annetto fa, spacciavano Galileo (era per
Win).
Se riesci a ritrovarlo...
Ciao,
Ema

con oggetti.. e' proprio cosě?
per quel che so io: no, il punto č che il db inyternamente č a
oggetti, nel senso che esiste ereditarieta etc etc.
Esiste pure un lkinguaggio simile a SQL per l'interrogazione.
cerca su ODMG e google per maggiori info, cmq si, esistono anche FOSS,
anche Postgres dovrebbe essere ad oggetti, sotto sotto.
Diversamente, l'API ad oeggtti stile zodb, pydo, jdo.. č, appunto, un
API :)

 Python??
Non e' un vero e proprio db ad oggetti, ma un "wrapper" che sta' al disopra
di diversi db (Oracle, Firebird, HSQLDB, ...) e che usa oggetti:
http://www.hibernate.org/
In Java. Molto interessante, crei uno schema XML che definisce il tuo DB con
relazioni class-subclass e da questo vengono create automaticamente le
classi (Oggetti) da leggere/scrivere e lo schema della banca dati (Ma puoi
fare anche il contrario).
-- 
gabriele dot giambonini at rcfmedia dot biz

 Python??
Scusa ma non ho voglia di leggere tutto il msg :-)
Sostanzialmente un in db object oriented lo schema della tabella definisce
gli attributi di un oggetto. Ogni istanza ha un OID che funziona come una
chiave primaria. E' supportata l'ereditarieta' (anche in postgres, vedi kw
INHERITS). Inoltre, cosa assai apprezzabile, ci sono dei tipi di dati
aggiuntivi pensati per rendere piu' semplice il relazionamento fra oggetti:
list, set, bag. Rispettivamente gruppo ordinato senza duplicati, non
ordinato senza, non ordinato con.
Sicuramente ci sono tante altre caratteristiche che non ricordo/non so. Non
sono a conoscenza di nessun DB OO, tantomeno free.
Per il momento t'hai da arrangiare con i relazionali. Oppure rimboccati le
maniche e scrivi i tuoi serializzatori.
-- 
  Giuseppe "Cowo" Corbelli \/\ My software: 
http://cowo.yoda2000.net
    **ANTI-SPAM** -- **Substitute IHATESPAM with cowo to reply by mail**
  -<! Take It All, Our Gold, Our Homes, Our Life, But We Didn't Kill 
	    Your Christ! !>- Blind Guardian - The Script For My Requiem

 ha scritto::
nota: comp.database.object potrebbe aiutare :)

 con oggetti.. e' proprio così?
Teoricamente in un ODBMS puro (object DBMS) non esiste il concetto di
"tabella", ma solo di oggetto. Dovrebbe esistere un'API standard, di cui
però non ricordo il nome. Praticamente è una serie di "binding" ai vari
linguaggi ad oggetti. Crei la tua applicazione normalmente, avendo cura
però di far derivare le classi degli oggetti che vuoi rendere
"permanenti", ovvero che
vuoi memorizzare, da una classe base. Poi hai una copia dell'oggetto in
memoria e una su disco, spiegato in parole molto povere. Puoi navigare
attraverso la gerarchia di oggetti in modo molto veloce, perchè non hai
bisogno di fare join tra tabelle, ma in ogni momento hai i riferimenti
precisi agli oggetti. Insomma, una comodità unica, tra l'altro usi tutto
quello che ti permette il paradigma a oggetti, ovvero ereditarietà,
polimorfismo ecc... Però che io sappia (ho
cercato qualche tempo fa) non esistono progetti open source di ODBMS. Solo
qualcuno di RODBMS, cioè un ibrido tra DMBS relazionali ed a oggetti, tipo
ad esempio PostgreSQL, ma a me non piacciono. 

 Con l'immaginazione, mi vien da pensare che e' possibile creare una tabella
