Newsgroup: it.comp.software.database
Titolo: molti dubbii su progettazione db e normalizzazione... mi aiutate per favore?

buongiorno a tutti! :-)
sto cominciando a studiare MySQL, mi servirà senz'altro in futuro per dei 
siti web, e per il momento sto leggendo un manualetto della serie "pocket" 
della Apogeo; sono arrivata alle tre leggi della robotica, ops della 
normalizzazione, e ho cominciato a soffrire un po', chissà se potreste 
chiarirmi gentilmente un po' le idee?
Ho un db con una tabella principale diciamo di "iscritti a una community", 
anagrafica. Ora all'atto dell'iscrizione queste persone hanno compilato un 
form che ci informerà sui loro hobbies.
Ho quindi una tabella "iscritti" e una "hobbies". Leggo pero' sul manualetto 
che bisogna a tutti i costi evitare campi vuoti nelle tabelle, che se c'e' il 
caso che si creino campi vuoti questi campi incriminati vanno spostati in 
tabelle a parte.
Allora significa che debbo fare una tabella per ogni hobby? che so una 
tabella "giardinaggio" una "cinema" una "lettura"? relazionate agli iscritti 
con gli id?
perche' evidentemente se lascio un'unica tabella hobbies avro' ad ogni 
iscritto, cioe' ad ogni record o riga che sia (dico giusto spero), senz'altro 
alcuni campi vuoti...
e se poi gli iscritti fossero che so, 20.000, ci sarebbe molto spazio 
sprecato e e questo se ho ben capito va evitato... (rallenta poi 
l'interrogare il db da parte degli internauti?)
Quante domande!
ringrazio fin da subito chi avrà la pazienza di rispondermi anche solo in 
parte,
ciao, :)
alcina
==============================================================
 Posted with Hogwasher. Mac first, Mac only:
 
http://www.asar.com/cgi-bin/product.pl?58/hogwasher.html
 
==============================================================

Mentre cercavo di capire la differenza tra una select e un drop database,
alcina ha scritto:

ciao,
la tabella hobbies non sarebbe costituita da tanti campi quanti
i possibili hobbies, ma sarebbe formata da due 
campi uno per identificare l'iscritto e l'altro per l'hobby.
Poi se sul secondo utilizzi il nome (descrizione dell'hobby)
oppure un altro identificativo che lo referenzia in una terza
tabella sono scelte tue.
Così facendo, l'iscritto che ha per es. 4 hobby diversi avrà
4 record e così via.
spero di essere stato chiaro.
ciao

 solo in parte,
Stasera son sul ng, se vuoi puoi farmi altre domande.
ciao

 ha scritto

dipende molto
di solito si userebbero 3 tabelle
ISCRITTI
ID - ISCRITTO
1 - rossi
2 - verdi
HOBBY
ID - HOBBY
1 - giardinaggio
2 - pattinaggio
3 - nuoto
ISCRITTI_HOBBY
idI - idH
1 - 1
2 - 1
2 - 2
2 - 3
cioe' rossi e' un contemplativo, verdi un iperattivo, e tu puoi legare a
ogni iscritto tutti gli hobby che vuoi o nessuno, secondo i casi.
nelle ricerche, dovrai giostrarti un po' fra le varie tabelle, risalendo 
alle descrizioni dagli id.
se invece prevedi un solo hobby per iscritto, personalmente (anche se non e'
molto corretto) cerco di semplificare:
HOBBY
ID - HOBBY
1 - giardinaggio
2 - pattinaggio
3 - nuoto
4 - bridge
5 - narrativa latino americana
ISCRITTI
ID - COGNOME - IDHobby
1 - rossi - 5
2 - verdi - 3
3 - bianchi - 3
in ogni modo, se posso cerco cioe' di non mettere nella tabella iscritti la
descrizione degli hobby, in modo da normalizzare comunque le descrizioni. 
con un
campo numerico lo spreco e' minimo, e semplifichi l'architettura generale.
se inserisci direttamente la descrizione dell'hobby nella tabella iscritti, 
le ricerche sono semplicissime, ma puoi ritrovarti giardinaggio, giadinaggio 
e giardinagio.
ragiona su quello che ti hanno risposto frecho e the man with two watches. 
alla fin fine, pero', solo tu puoi sapere come deve funzionare il tuo db.
-- 
ciao, a.
- hobbits use their real names

 ciao
voglio essere sincera....
l'unica cosa che ho capito della tua risposta è che appena faccio un salto in 
Italia corro a comprarmi un libro un po' piu' consistente sui 
database....(anzi se hai un titolo da suggerirmi per iniziare facilmente 
dimmi!)
e poi tornero' a meditare sul tuo post! :)
grazie per avermi risposto,


 
ciao e grazie per ora!
================================================================
 Hogwasher: You don't have to sacrifice friendliness for power
 
http://www.asar.com/cgi-bin/product.pl?58/hogwasher.html
 
================================================================

):

per ora ti ringrazio, sono appena tornata a casa, mi connettero' piu' tardi 
di sicuro....
==============================================================
 Posted with Hogwasher. For a free Test Drive click on: 
 
http://www.asar.com/cgi-bin/product.pl?58/hogwasher.html
 
==============================================================

 quali?
Ottenere il corretto mappaggio delle specifiche concettuali sullo
schema logico (dato che di questo si tratta, l'argomento normalizzazione
non lo abbiamo ancora trattato).
ciao

 
ciao, e ti ringrazio, spero in qualche altro consiglio supplementare 
quando avrai tempo! (scusami, non riuscivo a postare stasera, sono su un 
altro computer...)

 alcina
:)
quello che ti ho detto io, corrisponde a quanto spiegato con
maggiori dettagli nel post di andrea palazzi.
Leggendo anche le tue risposte agli altri post, mi sa che ti 
serve qualcosa di facile facile, giusto per prendere confidenza
con la materia (lascia stare per adesso i libri troppo teorici).
Io ho il pdf di un libro su oracle che però ha una vasta
parte introduttiva molto molto semplice. Se vuoi te lo posso spedire.
ciao

 ciao
sei veramente gentile :)
il file pdf sarebbe molto gradito se dici che l'introduzione mi puo' 
aiutare a dissipare la fitta nebbia che mi avvolge! (perlomeno, 
cerchero' di provarci)
puoi mandarlo a:
alci...@yahoo.fr
grazie!
se passi in costa azzurra hai un pranzo vegetariano offerto ;-)
ciao!
alcina

 alla fin fine, pero', solo tu puoi sapere come deve funzionare il tuo db.
diciamo che io cerco di immaginare cosa vorrei che facesse, se fossi io 
l'utente del servizio... che ricerche mi piacerebbe poter effettuare... 
ma non so se è il modo giusto di cominciare, e poi sicuramente non so 
come ottenere quello che desidero!
Ora provero' a leggermi l'introduzione del libro che gentilmente freCho 
ha detto che mi inviera', vediamo se mi chiarisco le idee.
Anche per te vale il fatto che se passi dalle mie parti saro' felice di 
accoglierti al mio ristorante... :)
mio marito ed io vediamo sempre volentieri qualche simpatico 
connazionale, e debbo dire che siete stati davvero molto gentili, cosa 
che non capita in altri ng!
grazie ancora
alcina

 altri ng!
sei gentilissima tu, e nizza mi incuriosisce da quand'ero piccolo. se solo 
posso...
ciao e grazie, a.

 
in questo caso, prima una piccola e-mail a:
alci...@yahoo.fr
e ti accoglieremo a braccia aperte!
:-)
ciao,
