Newsgroup: it.comp.software.database
Titolo: scelta attributi tabelle

assenze (data1,data2,persona,motivo)
persona (codicefiscale, nome,cognome, ... , citta, asl,qualifica)
citta(cap,citta,provincia)
provincia(provincia)
qualifica(qualifica)
1- per persona mi conviene usare id(contatore) come chiave o codicefiscale
2- per assenze mi conviene determinare una chiave con più attributi o
indicare anche in questo caso id
3- stesso discorso per citta provincia e qualifica, cosa mi conviene?


Il mio percorso ch magari non è il migliore ma che non mi crea mai 
problemi è di avere sempre un contatore in ogni tabella, anche se non 
prettamente necessario.
1- l'id non deve essere portatore di informazioni, quindi il CF non è 
una soluzione vantaggiosa. Nel tempo ti accorgerai che dovrai inventarti 
dei trucchi nei casi in cui
- il CF non è disponibile al momento della creazione della tupla
- il CF viene inserito in maniera errata
L'Id ti risparmia queste rogne. E in più si indicizza bene.
2- usa solo l'id. Non servono altre chiavi visto che hai quella esterna 
(persona) e farai eventuali join sfruttando solo quella
3- personalmente eliminerei una tabella con la provincia, amenoché sai 
già di voler fare query di aggregazione su questi campi (dammi chi era 
assente ieri nella provincia di Parma...) o che ti servono altri attributi.
Idem per la città visto anche che una città può avere più CAP (o sbaglio?)
Per qualifica cosa intendi? "dott.", "ing." ecc. oppure "capo reparto", 
"acquisti" ecc.?
In ogni caso l'id su ognuna, così la riporti come chiave esterna in 
persona.citta, persona.provincia e persona.qualifica
Il tutto IMHO
Alex.

 ha scritto nel messaggio 
news:44295e59$0$36925$4faf...@reader3.news.tin.it...


 (persona) e farai eventuali join sfruttando solo quella
Ok questo è il capolinea.
Non ti serve neppure un database, ti basta Excel: il numero di riga
sarà la tua chiave.

 e-r mi daresti qualche consiglio?
Te lo do io qualche consiglio:
1) non ascoltare tali consigli, ti portano fuori strada per l'esame
   e soprattutto per il tuo futuro lavorativo
2) Googla sui miei post passati se vuoi avere qualche esempio negativo
   sulle chiavi ID
3) studia il tuo testo e FAI GLI ESERCIZI DA SOLO! I newsgroup non sono
   il luogo per i compiti!

 ha scritto nel messaggio 
news:V3gWf.54428$A83.1...@twister1.libero.it...


 chiarire la mia confusione a riguardo!
Bhe, no. Se il CF è la tua chiave... visto che siamo in ambito 
accademico e non "pratico" devi usare il campo chiave.
Alex

 sarà la tua chiave.
Beh, non esageriamo. Semplicemente non vedo l'utilità pratica di avere 
mille tabelle se non sono poi necessarie. Ma non avevo inteso che l'OP 
stesse cercando una soluzione di tipo accademico.
Alex.

 magari (ipotizzo) lo potrebbe far incazzare!
Direi che DOVREBBE incazzarsi, non è quello che si insegna a scuola!
Una cosa è la formalità, un'altra il metodo brevimano :-)
Alex.

 bontà di chiarire la mia confusione a riguardo!
Non so se ho dissipato qualche dubbio, ma l'argomento è davvero vasto;
se hai qualche domanda specifica, posta pure, e ti risponderò
compatibilmente con i miei tempi da bradipo ubriaco.
Per quanto riguarda l'esame, comunque fai riferimento prima di tutto
al materiale fornito...
Ciao 

 
Cerchi discussione? ;)
-- 
Fabrizio Magni
fabrizi...@mycontinent.com
replace mycontinent with europe

a questo punto ti porgo un'altra domanda, (approfitto)!!!
Fermo restando quanto precedentemente detto per quanto riguarda ad esempio
la quaifica di un personale!
In questo caso è una relazione caratterizzata da un unico attributo (appunto
la qualifica)!
Nello specifico io posso usare l'id? Mi eviterebbe che l'utente debba
inserire tutta la qualifica, che debba conoscerla, e che non ne idndichi due
uguali ma con nomi differenti! E se si per quanto rigurda lo schema e-r devo
indicare l'id come attributo oppure lo devo indicare solo in fase ogica con
lo schema delle tabelle? 

 Cerchi discussione? ;)
Non necessariamente: sarei disposto ad accontentarmi anche di seminare
un sano e costruttivo dubbio, se fosse sufficiente :-)

 logica con lo schema delle tabelle?
Qua rischio di portarti fuori strada, in quanto ho visto insegnare che
lo schema e/r è lo strato logico e lo schema db è lo strato fisico;
per cui fai innanzitutto come ti hanno insegnato.
Ciao

 non certo nello schema.
Resistance is futile...


Scusa se ti rompo ancora, ma i dubbi si accavallano!
Per quanto riguarda la teoria relazionale c'è un passo che riguarda
l'eliminazione degli attributi multivalore!
"Se un valore dell'attributo può comparire più volte nella ripetizione
occorre introdurre un numero d'ordine"
nel mio caso a qualifica è un attributo mutivalore che si ripete! devo
quindi introdurre un numero d'ordine!

 devo quindi introdurre un numero d'ordine!
Ti stai confondendo: la qualifica non è un attributo multivalore.

 ha scritto nel messaggio 
news:qxdXf.58626$PR2.9...@twister2.libero.it...


 qualifica(n-ord,qualifica)
Qui no! C'è solo 1 valore possibile di qualifica per ogni persona.
Non dovresti normalizzare così: qualifica è un attributo.
Per il discorso principale, ti confermo che di quel testo si può
fare un uso igienico.
Ciao

 ha scritto nel messaggio 
news:3LeXf.58755$PR2.9...@twister2.libero.it...
