Branzi ha scritto:
Colgo l'occasione per chiederti una cosa che tutt'ora non ho ben capito, non rimanere scioccato dalla mia poca conoscenza di Access ma è poco che lo sto usando.
OK, qualcosa l'avevo intuita. Procediamo piano piano, passo passo e poi vedrai tutto volare ad alta quota.
Branzi ha scritto:
A cosa mi serve la relazione tra due tabelle? Cosa mi cambia nel db se due tabelle sono relazionate oppure no?
Le relazioni sono l'anima di Access. Le Tabelle sono il primo passo indispensabile (se no i dati dove andiamo a metterli?). Dopo di che, occorre fare una analisi di ciò che andiamo a inserire. Quando abbiamo la sensazione che alcuni valori di campi si ripeteranno inesorabilmente, vale la pena costruire una tabella di livello superiore (madre) da relazionare con quella figlia mediante una relazione uno-a-molti. Es.: Tu vuoi avere una lista di tutti gli Artcoli di tutta la tua collezione di Giornali. Se volessi archiviare solo nella tabella Articoli, saresti costretta ad avere un campo Giornale che si ripete-ripete-ripete tante volte. E per te utente, vale la pena di stare a digitare sempre "Il Sole 24 ore" con il rischio che qualche volta digiti male? Ecco che nasce l'esigenza di creare una tabella Giornali a monte da relazionare con Articoli...vabbè ma cosa cambia? diresti tu! I vantaggi li scoprirai dopo, quando sfrutterai maschere/sottomaschere...ecc...il discorso si apre su molti fronti, ma occorre non sottovalutare anche un altro importantissimo fattore. Access lavora molto meglio e più velocemente se sfrutta al meglio una organizzazione ottimale di tabelle correlate. Ti consiglio di studiare bene questo aspetto. Capisco che gli esempi che si leggono nei manuali poco si assomigliano ai campi del tuo database autocostruito...però cerca di cogliere/studiare bene la questione relazioni.
Branzi ha scritto:
Perchè la relazione con integrità referenziale si applica con più difficoltà di quella senza?
Se hai trovato difficoltà in questo senso, vuol dire che è mancato qualcosa di coerente nell'assetto campi. Purtroppo può accadere più facilmente quando hai già inserito dati e ti sei accorto dopo che occorre creare altre tabelle da relazionare, magari proprio per quel problema di falsa digitazione che ti segnalavo prima.
Ad ogni modo, si impara sbagliando. Se hai l'accortezza di creare prima tutte le tabelle con le corrette relazioni, anche la proprietà "Applica integrità referenziale" salterà fuori facilmente.
Branzi ha scritto:
Rispondo alla tua domanda su cosa intendo per campo Numero: è un numero che mi identifica il giornale, non è collegato con il numero effettivo stampato sul giornale come nel tuo esempio Corriere della sera, n.10. Per questo è numerazione automatica, perchè ogni volta che inserisco un giornale nuovo Access gli deve assegnare un valore univoco che mi permette di capire l'ordine di inserimento dei giornali.
Allora avrebbe più senso chiamarlo IDGiornale...anzi IDPubblicazione se quella tabella dovesse cambiare nome.
Invece un campo Numero, ma di tipo numerico (da digitare manualmente) nella tabella Pubblicazioni, avrebbe senso per dare univocià alla coppia NomeGiornale/Numero