Newsgroup: it.comp.appl.access
Titolo: struttura tabelle e relazioni

Situazione
Varie automobili  (sono patriottico)              Intestatari diversi
diversi utilizzatori per ogni auto
Fiat Punto                                                  Mario Rossi
Luppolo, Beta e Pippo
Lancia Y                                                    Giovanni Bianchi
Pippo, Pluto e Paperino
Alfa 147                                                    Giuseppe Verdi
Pluto, Pisolo e Luppolo
Iveco Daily                                                Giuseppe Verdi
Alfa, Beta e Paperino
Come creare le tabelle e le relative relazioni????
Mi spiego meglio
TABELLA AUTO        TABELLAINTESTATARI      TABELLAUTILIZZATORI
Targa (PK)                    IDIntestatario
IdUtilizzatore
Tipo                              Nome
Nome
Modello                        Cognome
Cognome
IDIntestatario                ecc
Mansione
IDUtilizzatore1
ecc.
IDUtilizzatore2
IDUtilizzatore3
A dover mettere in relazione INTESTATARI.IDIntestatario con
AUTO.IDintestatario ci arrivo.
Devo impostare una relazione tra UTILIZZATORI.IdUtilizzatore e
AUTO.IDUtilizzatore1 , AUTO.IDUtilizzatore2, AUTO.IDUtilizzatore3 o è
superflua????
Ma soprattutto,
è corretta una struttura del genere???

 Come creare le tabelle e le relative relazioni????
 
Se non ho frainteso la situazione che devi modellare (quel patriottico
mi crea grossa crisi) č questa: hai degli intestatari, ognuno possiede
una o piů macchine (giusto)?, ognuna delle quali viene guidata da uno o
piů utilizzatori. Ogni auto ha un solo intestatario, gli intestatari
sono anche utilizzatori giusto? 
In questo caso:
TABELLA AUTO
targa (chiave primaria)
idPersona (chiave esterna)
modello
tipo
... ecc
TABELLA PERSONA
idPersona
cognome
nome
... ecc
TABELLA UTILIZZATORE
targa
idPersona
le relazioni sono tra 
1) auto.idPersona e persona.idPersona
2) auto.targa e utilizzatore.targa
3) persona.idPersona e utilizzatore.idPersona
Nella tabella persona, ci metti sia gli utilizzatori sia gli intestatari. 
La relazione 1) ti permette di stabilire chi č il proprietario di 
un'auto, le relazioni 2) e 3) ti permettono di abbinare le auto con gli 
utilizzatori.
Ciao,
BJ

 IDUtilizzatore3
Stanotte non riesco ad essere + esaudiente.
Se hai dei problemi ad andare avanti fallo sapere.
Ciao.

 BJ
OK. ci sono arrivato.
Ora però altre due situazioni:
1) l'intestatatario può anche essere una ditta (mentre l'utilizzatore
evidentemente no).
Per ora io ho un'unica tabella in cui inserisco sia i dati della ditta che
quelli della persona.
Ovviamente se l'intestatario è una ditta i campi Nome, Cognome ecc.. saranno
vuoti, mentre se è un privato i campi ad essere vuoti saranno Denominazione,
P.iva ecc.
Come fare a sprecare meno spazio?
Credo dovrei separare le tabelle intestatari in INTESTAPRIVATI e
INTESTADITTE, assegnare loro una chiave primaria tipo codice (es. PRI01
oppure SOC01) e mettere questo valore in IDPERSONA della TAB AUTO. In modo
che lui sappia a chi fare riferimento.
Oppure mettere un campo TIPOIntestatario in TAB AUTO che discrimini i valori
delle chiavi primarie e mi permetta di selezionare correttamente il valore
di IDPersona dalle due tabelle (risolvendomi il problema di impostare via
codice le chiavi primarie)
2) Supponiamo voglia limitare il numero di utilizzatori per auto a 6 . E'
una cosa che mi gestisco a livello di maschera o di tabella aggiungendo in
TAB UTILIZZATORI un campo N° che può avere valori da 1 a 6 ?
Grazie ragazzi e Ciao
Marco

 a 6 ? 
Se si tratta di un valore globale per tutte le auto, lo memorizzi come
costante globale in qualche modulo; se si tratta di un valore specifico
di ogni auto, nella tabella auto metterai un campo maxUtilizzatori. 
Comunque sia, la gestione effettiva di questo vincolo la devi fare
tramite maschera. 
Ciao,
BJ