Vorrei rivoluzionare il discorso prendendolo da altri punti di vista.
Partirei dal fatto che, quando si conosce una persona, si acquisicono n informazioni, alcune dichiarate esplicitamente (Impiegato, Idraulico, Coniugato con, Telefono, e-mail...), altre elaborate dal proprio cervello ricevente (Alto, Bruno, Capelli lunghi, Progressista/Conservatore, Religioso...). Indipendentemente da questa pre-classificazione, mi preme sottolineare semplicemente che ognuna di queste parole può essere considerata "parola chiave" (o "Etichetta" per usare un termine più socialmente condiviso) per inquadrare una Persona. Tale parola chiave sarà indicata nel campo Indicazione.
Osservare le seguenti 3 strutture che, sostanzialmente, dovrebbero raccontare gli stessi dati, ma impostati diversamente.
Si noti come, a seconda della diversa interpretazione struttura, cambia il nome della tabella "fulcro", cioè
DettagliPersone = Indicazioni = Incontri
Consiglio di tralasciare l'attenzione dalle tabelle Città, Luoghi e TipiContatto e focalizzarla sulle restanti tabelle.
RUBRICA SEMPLICE
Ogni Indicazione viene scritta in base a qualsiasi notizia si acqusisce.
I campi TipoContatto, PrioritàContatto, IDLuogoContatto, AttivoContatto verranno compilati soltanto se il valore nel campo Indicazione corrisponde alla parola chiave "Contatto", altrimenti restano vuoti.
Pregi: semplice concettualmente, facile da compilare e gestire con future query.
Difetti: non normalizzata, con troppi Data-IDLuogoIncontro ripetuti
RUBRICA NORMALIZZATA
Pregi: corretta strutturalmente
Difetti: seccante dover compilare Eventi a monte per poi doverlo sempre richiamare in Indicazioni.IDEvento
RUBRICA COMPROMESSO
Ogni record conterrà Indicazione con parola chiave. Solo nel caso in cui la parole chiave fosse "Contatti" si giustifica l'utilizzo della tabella Contatti.
Mi ritrovo ad essere indeciso su quale scegliere perchè ho considerato che per ogni Persona prevedo una media di 3-5 parole-chiave non Contatto e circa 2-3 Contatti.
Per esempio incontro una Persona in data 10/10/2012 e colgo i seguenti particolari:
Idraulico
Musicista
Cattolico
Pacifista
Contatto / 0804959436
Contatto / 3393604225
Contatto /
In data 22/11/2012 conosco altri particolari:
Coniugato con Paola
Impiegato
Contatto / Casa / IDLuogo digitato a monte nella relativa tabella / 08066666666
Contatto /
Tutti quei valori sono le parole chiave da inserire nel campo Indicazione. Se la parola chiave Indicazione si chiama "Contatto", allora occorre compilare tutti gli altri campi relativi al Contatto vero e proprio.
@Alex ha scritto:
La tabella CITTA mi sembra una tabella di EXCEL... ma li devi vedere tu effettivamente se ha un senso gestire una RELAZIONE o se conviene così...
Per i dati anagrafici, io resto della mia idea... anche se sono dati Ufficio/Casa o altro sono anagrafici e non li vorrei disperdere, come ti ho fatto notare, così come lo hai impostato, se cambi PERSONA devi inserire dati ANAGRAFICI in 2 posti in 2 momenti...
Pur avendo una sua LOGICA, che non condivido ma rimane pur sempre una logica, dal punto di vista OPERATIVO chi sviluppa deve vedere sempre l'azione di chi inserisce i dati...
Nel tuo caso questi aspetti sono di difficle comprensione in quanto tu sei Sviluppatore ed UTENTE... e non noterai mai le difficoltà e la strana logica di inserimento in quanto tu stesso lo hai fatto...!
Se il tuo programma lo usasse un mero INSERITORE, una segretaria per capirci..., forse ti potrebbe insultare
Scherzi a parte, non addentrandomi nello specifico, mi fermo a considerazioni personali per come vedrei la gestione, chiaramente mi può sfuggire il disegno completo.
Questa tua osservazione mi fa molto riflettere. Ma ritengo importante suddividere per Data ogni volta che si acquisiscono nuove Indicazioni siano esse parole-chiave fini a sè stesse o strettamente di Contatto.
Non escludo la possibilità di creare una casella combinata sul campo Indicazione, visto che un valore come "Musicista" o "Impiegato" potrebbe ripetersi spesso.
Premetto che non conosco tutte le regole di normalizzazione, i manuali e siti teorici al riguardo li trovo incomprensibili. Mi lascio semplicemente trasportare dall'istinto, esigenza del momento, esperienza di esempi passati.
Quale struttura mi conviene scegliere?