@Alex ha scritto:
mypipe ha scritto:
hm.....
Curiosità, come si chiama l'autore ed il libro che sconsiglia l'uso di relazioni?
Se in un database hai solo una tabella certo che puoi non utilizzare le relazioni, ma se hai due tabelle come fai a concatenare i dati e sopratutto come fai a fare le query?
Esercizio semplicissimo.
Fai due tabelle, una con i cognomi ed un'altra con i nomi.
Metti i cognomi della tua famiglia ed i nomi sempre della tua famiglia.
Poi cerca di creare una query che ti estrapoli il cognome ed il nome unito in modo corretto, senza usare le relazioni.
Mi pare che questo esempio non sia calzante...
Prova a fare tu queste 2 Tabelle così come le hai descritte e prova a Relazionarle...!
Se non definisci le Chiavi Esterne direi che è banale il discorso... in quanto non potrai relazionare nulla... ma se definisci le Chiavi esterne e le rispetti... non hai l'obbligo di relazionare le tabelle e le Query(JOIN) funzionanno benissimo.
Prova a fare tutto per bene e poi CANCELLA LE RELAZIONI ne sarai sorpreso...!
Saluti.
Concordo su tutti gli interventi fatti e sul fatto che non si può generalizzare il discorso e che il tutto va valutato di volta in volta ed in base anche alle capacità e le conoscenze di colui che sta sviluppando.
Per quanto riguarda il mio discorso, il fatto di mettere delle chiavi esterne era implicito, altrimenti, giustamente come dici, non si riuscirebbe a relazionare un bel niente.
Il fatto è che per me relazionare le tabelle è sinonimo di chiave esterna e del rispetto delle stesse e quindi quando parlo di relazioni non mi riferisco al semplice trigger visuale delle linee e sopratutto quando parlo di relazioni per me significa avere lo strumento per rispettare l'integrità referenziale, senza dover scrivere codice che lo faccia. Cosa che ad un certo punto potrebbe diventare scomoda e pericolosa per gli inevitabili errori che si potrebbero commettere in fase di stesura del codice o di approccio logico alla modifica e gestione dei dati.
Penso che sopratutto per uno sviluppatore di basso/medio livello, l'uso delle relazioni nel termine classico del termine (non come le intendo io) sia indispendabile per non sbagliare e sopratutto per capire a fondo come usare le chiavi esterne e come creare un database scevro da errori.
Poi è normale che più si va avanti con le competenze e le conoscenze e più si affinano le tecniche di sviluppo e di programmazione e quindi si passi a livelli superiori tanto da poter usare sistemi più sofisticati, ma sicuramente più complicati da gestire.
Per un neofita trovo poco conveniente non usare le relazioni. Poi è normale che le chiavi vadano rispettate, con o senza le relazioni.
Questo naturalmente è un mio pensiero personale.