Newsgroup: it.comp.software.database
Titolo: inizio a sviluppare e devo imparare l'uso dei databases.

Salve.
Devo cimentarmi nella programmazione e in particolare nello sviluppo di 
applicazioni web.
Il linguaggio da me scelto e' ruby e il database e' postresql.
La prima applicazione che mi e' stata chiesta e' abbastanza semplice: si 
tratta di permettere ad alcuni utenti il caricamento di un' anagrafica 
fornitori e di categorie merceologiche suddivise per settori.
Ogni fornitore puo' far parte ad una o piu' categorie merceologiche.
Tanto per cominciare ho pensato che mi servirebbero 3 tabelle, una per i 
settori, una per le categore e una per l'anagrafica fornitori.
Le tabelle settori e categorie dovrebbero essere collegate tramite delle 
foreign keys in modo tale da preservare l'integrita' dei dati.
Quindi ad esempio esistera' nella tabella categorie una foreign key 
collegata alla primary key della tabella settori: es. sector_id.
La tabella categorie sara' costituita da un campo relativo al settore di 
appartenenza e da un codice categoria.
I due campi settore e codice dovrebbero essere univoci.
Dico bene fin qui?
Datemi qualche suggerimento, grazie mille.

 applicazioni web.
Ciao, la prima cosa che ti consiglio e` spendere qualche euro in
un libro base di design, possibilmente non orientato ad un dbms
specifico.
Vedrai che ogni design e` dichiarato giusto o sbagliato solo in
relazione alle specifiche concettuali (=realta` da modellare); le
tue che ci hai dato sono:
"...un' anagrafica fornitori e di categorie merceologiche suddivise
per settori. Ogni fornitore puo' far parte ad una o piu' categorie 
merceologiche."
E' davvero molto poco, sono sicuro che ci deve essere dell'altro;
comunque si puo' tranquillamente iniziare con questo, comincia a
buttare giu' lo schema delle tabelle; poi ripercorri ogni requisito
e vedi se il tuo schema riesce a catturare ogni fatto della
realta`; vedrai che una delle cose che hai scritto ti richiedera`
piu` di tre tabelle.

 specifico.
Hai qualche titolo da consigliarmi?

 Hai qualche titolo da consigliarmi?
C'e` una fascia ultra economica attorno ai 10 euro, da sfogliare
in libreria per qualche sano momento di ilarita` e poi abbandonare.
In Italiano, trovi leggeri libretti sulla fascia (e qualita`...) dei
20 euro; devono parlare almeno di SQL, Normalizzazione e un po' di
design, tipo la traduzione di "Database for Dummies".
In Inglese (ma solo tramite internet) ci sono i libri di Celko;
vanno bene come referenze intermedie, e ti introducono a qualche
concetto superiore, o il Fabian Pascal per i duri e
puri (30-40 euro).
Sempre online trovi libri che sono un buon mix di teoria e pratica
applicata ad uno specifico dbms, fascia (50-90 euro).
Questo livello, assieme ad una certificazione specifica, dovrebbe
essere il minimum per un dba.
Poi, se l'argomento ti appassiona veramente, il livello successivo
e` costituito dai libri che si usano come testi alle universita`,
tipo il Date, Atzeni, Elmashri etc... ma tranquillamente leggibili
da tutti con un po' di impegno.
Come approfondimento ci sono libri che parlano di aspetti specifici,
tipo controllo della concorrenza, query optimizer, indici particolari
etc.
Ancora dopo, e se vuoi diventare un guru, ci sono i testi che
descrivono i db dal punto di vista logico-matematico, Mayer, Alice
book etc., e comunque da integrare con studi dei grandi classici
nelle materie pertinenti.
Se vuoi essere un superguru devi essere aggiornato sulle ultime
scoperte nel settore, per cui o comperi i libri che raccolgono i
paper che scaturiscono dai seminari tenuti ogni anno in varie
parti del mondo (100-150 euro ciascuno), o meglio ancora ti abboni
online ai siti che ti vendono tali pdf (prezzo tipo 20-30 euro
ciascuno) tipo Acm, Springerlink.
Dopo la decennale esperienza richiesta per quanto sopra, e quando
avrai raggiunto l'interiore consapevolezza che l'unica cosa che
abbia un senso al mondo e` la figa e i database (non necessariamente
in quest'ordine), c'e` il territorio inesplorato dell'ipotesi, da cui
nuove teorie prendono forma, dove attualmente un manipolo di eroi
lavora lontano dai riflettori alle teorie di un possibile domani...
bye!

 in quest'ordine),
Ma LOL
sono abbastanza sicuro che la maggior parte dei lettori si sia fermata
PRIMA di arrivare a questo punto ;^)
bye!