Newsgroup: it.comp.software.database
Titolo: OOP e database relazionali

Salve a tutti
devo scrivere un applicativo usando un linguaggio Object Oriented
(specificamente Smalltalk) ma la base dati dovra' essere "relazionale"
(cioe' non usando un database ad oggetti ma un qualcosa di piu' classico
che potrebbe essere Access, SQL Server o, al limite, delle tabelle
.dbf). Comunque sia il mio problema e' di tipo "architetturale": qual'e'
il modo giusto di "wrappare" le tabelle del db con gli oggetti che io ho
nell'applicazione ? Un oggetto = una tabella ? E nel caso di join, per
esempio, qual'e' il modo corretto (o migliore) per "nascondere" il fatto
che ad un oggetto corrispondono piu' tabelle "joinate" ?
E comunque i dubbi sono infiniti. Quello che penso e' pero' che queste
problematiche debbano per forza essersi presentate anche ad altri, visto
che la programmazione ad oggetti e' effettivamente usata (e a mio parere
realmente valida) e che i database ad oggetti sono ancora poco diffusi e
costosi. Oltretutto, a proposito di prezzo, la mi applicazione dovrebbe
essere distribuita ad un prezzo praticamente simbolico e quindi i
database che potro' usare non saranno molti e sicuramente tutti
relazionali (su questa ricerca aspettatevi un prossimo post :-)  )
Ok, se qualcuno fosse cosi' gentile da indicarmi una qualche url sul
tema, od un qualche libro, anche universitario, su come affrontare il
problema in un modo intelligente gli sarei molto grato.... non mi piace
reinventare la ruota ;-)
Grazie ancora
Paolo

che ad un oggetto corrispondono piu' tabelle "joinate" ?
Questo e' un argomento che interessa moltissimo anche a me. Anch'io
vorrei fare la medesima cosa, pero' utilizzando Delphi (per adesso).
Per adesso sono indeciso se implementarmi la mappatura, o usare un
apposito CASE (solo per Delphi), Bold, che fa la stessa cosa, ma
semplifica molto il lavoro.
Soluzioni ce ne sono, e anche molte. Io ti direi di orientarti sui
pattern language che trattano proprio questo argomento.
Un pattern language molto interessante te l'ho spedito nella tua
casella (tra l'altro tratta il problema proprio con smalltalk), poi ti
consiglio di visitare il sito 
www.sdm.de/g/arcus
 e di cercare il
documento "Relational Database Access Layers". Inoltre sul sito
www.ambysoft.com
 troverai diversi altri articoli sul mapping tra
oggetti ed entita'.
Puoi scrivermi in privato se vuoi, potremmo risolverci i dubbi a
vicenda (ma non sono un esperto! :) )
Ciao
--
Piero Bonanno
bop...@libero.it
pie...@tiscalinet.it
bop...@tin.it
bpie...@hotmail.com
______________________________________________
"Madame, lei ha tra le gambe uno strumento
che puo' offrire piacere a migliaia di persone,
e tutto quello che sa fare e' grattarlo"
- Sir Thomas Beechan a una violoncellista

 >(specificamente Smalltalk) ma la base dati dovra' essere "relazionale"


Grazie
E come non interessa? Non stiamo pralando di database? :-)
ciao Michele

 Paolo
interessa molto...come domanda, le risposte fatele in publico
la gestione dei DB relazionali in linguaggi di programmazione si fa in 
genere con SQL e i cursori per la lettura dei dati ottenuti.. e li se 
vuoi li puoi mettere in ogetti
 
vedi un po i cursori 
in questo momento faccio una documentazione per una base dati orientata 
ogetti .. li si che il lavoro che fai sara semplificato 
ciao ciao
Frank