Newsgroup: it.comp.software.database
Titolo: HELP: due campi legati a una stessa tabella

Salve,
sono abbastanza alle prime armi coi DB e mi servirebbe una mano. Sto creando
un database di film con Access. La tabella principale FILM contiene 2 campi
dedicati agli attori (diciamo AttoreI e AttoreII) e vorrei che entrambi
questi campi puntassero ad una tabella ATTORI, attraverso la chiave di
quest'ultima "IdAttore".
Quando disegno le relazioni, Access invece crea automaticamente una specie
di copia della tabella ATTORI, chiamandola ATTORI_1 e lega i due campi della
tabella FILM ciascuno a una di queste due tabelle gemelle.
Come si può evitare questo? Bisogna impostare qualche diversa proprietà
della relazione? Grazie per l'aiuto!
    maghetto

...

Se tu avessi due campi della stessa tabella che puntano ad un'altra tabella,
ogni record della prima avrebbe attaccati due record della seconda, che e'
esattamente come avere due record che puntano su due tabelle diverse. Access
fa' la cosa giusta mostrandoti questo fatto, quindi non c'e' niente di
sbagliato e se non ti piace cambia la struttura del database.
Ti consiglio di leggerti qualche manuale sulla strutturazione dei database
relazionali, in particolare sul fatto che un buon database non dovrebbe
*mai* avere dei campi duplicati o contenenti le stesse informazioni (Attore1
e Attore2).
Davide

 e Attore2).
Ma NON sono le STESSE informazioni: sono i nomi DIVERSI dei due DIVERSI
attori principali del film, ad esempio il protagonista maschile e la
protagonista femminile (ma  non sempre è così, quindi non posso fare due
tabelle diverse "Attori" e "Attrici")
Cosa devo fare allora, mettere due nomi nello stesso campo? Mi sembra
decisamente peggio!
m.

 wrote in message
89qjjc$q8f$1...@pinco.nettuno.it...


 tabella di relazione.
Scusa, ma temo di non avere ben capito (senza contare il fatto che credo di
dover leggere "attore" dove tu scrivi "autore", no?).
Dunquer, la tabella FILM è strutturata come dici tu: ci sono chiaramente
campi legati uno a uno con lo specifico film (es. il titolo originale)
insieme a molti altri campi definiti con una semplice chiave (es. il paese
di produzione o il genere), in quanto il valore in questione è comune ad
altri film in archivio.
La tabella ATTORI fa parte dell'insieme di dati che di volta in volta
richiamo quando inserisco i dati specifici del film: c'è una tabella
REGISTI, una GENERI, una PAESI e così via. In sé la tabella ATTORI (quindi
la seconda  di cui tu parli) è estremamente essenziale, c'è solo un
contatore usato come chiave primaria e un campo Nome. Il problema è che
avrei pensato di poter inserire nella tabella FILM almeno i nomi dei DUE
principali e di poter chiaramente fare poi delle query basate sugli attori.
Fino a qua ci siamo. Non ho capito cosa dovrei mettere nella terza
tabella..stai dicendo forse di creare una id per tutte le possibili
"accoppiate"
(che ne so DeNiro-Pacino = 1 ;  Hanks-Ryan = 2 ; ecc..) e quindi poter
mettere un campo unico nella tabella FILM ? Se è cos' è un lavoraccio (sto
parlando di più di 300 film) e poi soprattutto come potrei fare poi le query
sul singolo attore, cioè estrarre tutti i film cui ha partecipato,
indipendetemente dall'attore con cui faceva coppia?
Se invece mi stai dicendo (come mi sembra di capire dall'ultima tua frase)
di inserire ogni attore in un  singolo campo...beh, è esattamente quello che
ho fatto e non credo che creare questa relazione nella tabella FILM o in
un'altra tabella apposita cambi di molto le cose. O queste "tabelle di
relazione" sono delle cose diverse di cui in quanto pivellino ignoro
l'esistenza?
Grazie!
m.

 wrote in message
89tcjk$m7a$1...@pinco.nettuno.it...
