Newsgroup: it.comp.appl.access
Titolo: Relazioni in Access

Salve a tutto il newsgroup.
E' da tempo che mi pongo questa domanda: che importanza ha in Access
definire le relazioni fra le tabelle? E' solo una questione di comodità (es.
elimino la testata ordine e vengono in automatico eliminate le righe) oppure
le prestazioni vengono influenzate in maniera sensibile?
Grazie per le eventuali risposte
Fabio

 wrote in message
8ttsoo$5cm$1...@pinco.nettuno.it...

In database particolarmente complessi, in cui i record sono legati con
relazioni piuttosto complicate è sicuramente auspicabile inserire le
relazioni, per garantire i controlli di integrità refernziale in maniera
automatica.
Su database semplici, io, personalmente, preferisco gestirmi questi
controlli a manina, quindi per esempio andando io a cancellare, con query,
record correlati a quello eliminato dall'utente e così via...
Ma de gustibus...
Antonio

 ha scritto nel messaggio
news:8ttsoo$5cm$1...@pinco.nettuno.it...

Nel creare un database, io dò molta importanza alla fase progettuale e
dedico tempo a definire in dettaglio l'architettura delle tabelle (dedico
molta attenzione anche nel definire le proprietà di campo). Così facendo mi
si riducono i tempi di sviluppo e scrivo molto meno codice VBA, usufruendo
di tutti gli automatismi che Access mi mette a disposizione, specie in fase
di controllo.
Insomma è un problema di metodo; scegli quello che più ti si confà: tutti e
due presentano pro e contro.
Poi, mano a mano che diventerai più padrone del mezzo, ti creerai da solo
una discriminante.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://members.xoom.it/it_db_access/
---------------------------------------------

 ha scritto nel messaggio
news:oVxM5.8034$fx4.2...@news.infostrada.it...

Io credo che l'utilità più importante sia quella di poter scomporre i dati
in più tabelle.
Vale a dire, se non utilizzassi le relazioni, come dovrei comportarmi
nell'ipotetica realizzazione di un programma di fatturazione (classico)?;
Credo che sarei costretto a creare un mastodontica tabella per contenere
tutti i dati della fattura (nr, data, importi, articoli, cliente, ecc)
mentre con
una tabella "Clienti", una "Fatture", ecc, mettendo in relazione "uno a
molti" l'ipotetico campo "IDCliente" della tabella "Clienti"e l'ipotetico
campo "IDFattura" della tabella "Fatture" otterrei una miglior
configurazione delle tabelle, riducendo la duplicazione delle informazioni.
Io credo che questa sia la spiegazione più utile a capire il significato
delle relazioni in genere.
E voi?
Ciao, Alfio

 Io credo che questa sia la spiegazione più utile a capire il significato
Questo lo puoi fare anche senza creare delle relazioni.
La relazione fra le due tabelle permette, tramite l'integrita' 
referenziale, di controllare automaticamente la congruenza dei dati (es. 
per ogni rigo di fattura devo avere gia' inserito la testata) e di 
effettuare automaticamente modifiche ed eliminazioni a catena.
Ciao
-- 
JBad

 Ciao, Alfio
Ciao



Bene, mi avete chiarito le idee.
Ciao.
Alfio

definire le relazioni fra le tabelle? 
A mio parere e' fondamentale, ritengo che sia veramente il punto di
forza di Access.
Access e' stato il primo ambiente di sviluppo a basso costo a offrirti
queste prerogative che trovavi solo nei costosi Database Server.
Lavorare con le relazioni con integrita' referenziale (tranne rari
casi per progetti sia grandi che piccoli), ti costringe ad una analisi
corretta, blinda il database impedendo disallineamenti relazionali
anche in caso di problemi di import di dati o un errore di programma.
Non sempre i percorsi che immagini tu sono quelli fatti dal cliente
per cui in caso di logiche di processo impreviste potenzialmente
dannose il sistema blocca facendo emergere il problema subito.
Chi ha lavorato in DBase o in altri linguaggi sa che casini succedono
in caso di corruzione di una o piu' catene di relazioni.
Io lo consiglio vivamente, se non riesci a farlo il problema non sta
nel database ma in una analisi non corretta.
----------------------------------------------------------
Paolo Hölzl
Gruppo Tekup Software developer (Bologna)
----------------------------------------------------------
ATTENTION!, antispam 
For reply, substitute xxx with gruppotekup