Filippo Cerulo ha scritto:
> Micron Engineering ha scritto:
>> per questo esistono le query. Le tabelle non devono essere pensate in
>> funzione dei dati da presentare in un report o in una maschera, devono
>> essere un sistema efficiente di memorizazione, diciamo il livello più
>> basso, il livello intermedio sono le query che forniscono i dati che
>> servono per maschere e report.
> Ah, ma a te sfugge sempre qualche piccolo particolare.....
>
> La possibilità di editare i dati di una Maschera basata su una Query
> non è disponibile sempre.
Dai adesso non diciamo stupidaggini... tutt'al più devi scrivere 2 righe
di codice
>
> Dipende in effetti dal Front End utilizzato, ed inoltre non è quasi
> mai possibile (a meno di giri di valzer...) su query uno a molti.
Insisto è solo questione di codice...
> Senza contare che l'aggiunta di un Record presuppone, nella tua
> ipotesi, comunque un lavoro su più Tabelle, passando magari per
> qualche sana istruzione Sql.
Per definizione un record si riferisce solo ad una tabella; nella mia
ipotesi per aggiungere un nuovo cliente devi aggiungere un nuovo record
nella tabella clienti, un nuovo record nella tabella indirizzi e così
via un record in tutte le tabelle in relazione con la tabella cliente
(che abbia un senso per l'operazione che stai eseguendo dalla maschera).
Considerando che l'inserimento di nuovi record in una tabella costa O(1)
in n tabelle costa n * O(1) quindi le prestazioni sono comunque preservate.
> Tutto per risparmiare campi? No, perchè strutturare i Db come si è
> proposto in questa discussione non è certo un modello di semplicità....
Non risparmi dati, risparmi spazio disco e soprattutto sei più agile per
modificare il db. Supponi che in seguito devi aggiungere ad es. un
contatto skype che non avevi inizialmente previsto: devi modificare
tutte le tabelle dov'è richiesto il dato.
Nel mio caso devi solo aggiungere un tipo di contatto e quindi non devi
nemmeno modificare la/e tabelle; se organizzi le maschere delle
anagrafiche tipo master/dettagli (maschera + elenco dati o
sottomaschera) per ogni tabella collegata dovrai solo aggiungere un
controllo di testo o altro per il nuovo dato (se usi una griglia neppure
quello).
>> Purtroppo tu come molti altri vi concentrate troppo sulla presentazione
>> dei dati e non sull'implementazione/gestione. Un pattern molto utile da
>> seguire è MVC che razionalizza la struttura dell'applicazione.
>>   
> Vabbè, se ti astenessi di fare ipotesi sul metodo di lavoro degli
> altri senza conoscere i particolari, magari sarebbe meglio.
Non era una critica (in ogni caso sarebbe costruttiva) ma un invito a
pensare senza essere condizionati dalle "buone pratiche" presenti sui
testi di basi di dati (ormai superati) e passare al pensiero object
oriented che ha cominciato a farsi strada anche tra i db (vedi PostgreSql).
> Qui stiamo facendo una discussione puramente teorica, comunque OT, su
> un'ipotesi di partenza abbastanza banale.
> Nei casi reali ho vistro strutture di Db di Gestionali anche famosi,
> tenute insieme col super attack.
Certo, modificare costa, progettare pensando alle modifiche future è un
pò più lungimirante.
> Ognuno ha il suo metodo, e io li rispetto tutti.
Idem, se non volessi condividere la mia esperienza me ne starei zitto.
>
> Ciao.
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Rispondere a