Qualche (poche) definizioni preliminari sui data base in una versione per statistici:
1. TABELLA (table) : è la “nostra” matrice dei dati, una riga per ciascuna unità statistica,
una colonna per ciascuna variabile misurata sulle unità statistiche. Naturalmente, di
norma, in una (o più) colonna della tabella c’è un codice IDENTIFICATIVO UNIVOCO
dell’unità (codice, numero progressivo, nome cognome etc..). Tale identificativo
viene denominato CHIAVE
2. RECORD: una riga (intera) di una tabella, cioè il (i) codici dell’unità e i valori che le
variabili assumono per quella unità
3. CAMPO: una colonna intera della tabella, cioè l’insieme dei valori che una variabile
assume nel collettivo
4. DATA BASE: genericamente un insieme di tabelle
5. DATA BASE RELAZIONALE: un insieme di tabelle tra le quali è possibile stabile
relazioni di corrispondenza , mediante i codici identificativi o altri campi
6. QUERY, VISTE, REPORT, MASCHERE: strumenti per selezionare, alimentare,
visualizzare il contenuto di un data base (vedremo in seguito)
Qualche precisazione sulla TIPOLOGIA DELLE RELAZIONI DI CORRISPONDENZA
Supponiamo di avere 2 tabelle: una (A) in cui il record è la famiglia (riporta ad esempio il
reddito famigliare) e una in cui il record rappresenta tutti i componenti delle famiglie del
collettivo (riporta ad esempio l’età di ciascuno).
Le due tabelle sono collegate mediante una CHIAVE che è l’identificativo della famiglia (un
numero) che è presente sia in A che in B.
MA mentre in A i record hanno un identificativo univoco (un numero diverso per ogni
famiglia), in B più record condividono lo stesso identificativo di famiglia (sono i
componenti di un unico nucleo famigliare). Questo tra l’altro significa che per identificare
univocamente i record di B ho bisogno di un’altra chiave (per esempio un numero d’ordine
all’interno del nucleo: primo componente, secondo componente….).
Naturalmente le tabelle hanno un numero di record diverso.
TIPOLOGIA DELLE RELAZIONI DI CORRISPONDENZA (Vedremo presto un esempio)
TRA LE 2 TABELLE (A e B) esiste una relazione che si presenta in due modi:
1. UNO A UNO: ad ogni record di A corrisponde (o può corrispondere) un numero
di record di B compreso tra 0 e 1
(esempio: ad ogni componente corrisponde una e una sola famiglia)
In questo caso le due tabelle hanno una chiave comune che sarà l’identificativo della
famiglia e assocerò ogni componente alla famiglia di cui fa parte sulla base di
questa chiave. Per esempio posso sapere quale reddito famigliare caratterizza
ciascun componente. La tabella derivata avrà tanti record quanti sono i
COMPONENTI DI TUTTE LE FAMIGLIE.
2. UNO A MOLTI (MOLTI A UNO): ad ogni record di A(B) corrispondono (o possono
corrispondere) un numero di record di B(A)  0
(esempio: ad ogni famiglia corrispondono più componenti)
In questo caso utilizzerò ancora la chiave comune “famiglia” per accoppiare le tabelle,
ma la tabella derivata avrà tanti record quante sono le FAMIGLIE, ciò implica che
le informazioni della tabella B vanno in qualche modo sintetizzate. Ad esempio
posso contare quanti record di B hanno la stessa chiave, cioè accoppiare il reddito
con il NUMERO di componenti. Oppure calcolare l’età media o quella massima,
oppure riportare SULLO STESSO RECORD tutte le età dei componenti
Ancora sulla TIPOLOGIA DELLE RELAZIONI DI CORRISPONDENZA
Nell’esempio utilizzato, non rimangono record “isolati” cioè non accoppiati (ogni
componente ha una famiglia e ogni famiglia ha almeno un componente)
Ma non è necessariamente così. Ad esempio la relazione Figli  Padre coabitante
È una relazione UNO a UNO, ma qualche figlio può non coabitare col padre
Mentre la relazione Padre coabitante  Figli
E’ una relazione UNO a MOLTI ma può esiste un padre che non ha figli coabitanti
X= Padri
XY Coabitanti
Y= Figli
Si tratta di decidere se nella tabella derivata ci debba essere X, Y , XY o XY, tranne che
per l’intersezione si avranno record “non accoppiati” cioè con campi “vuoti”
Accesso ai metadati
•
Ricerca Google: “banca italia indagine sui bilanci delle famiglie”
https://www.google.it/?gws_rd=ssl#q=banca+d%27italia+indagine+sui+bilanci+delle+famiglie
• Documentazione per l'utilizzo dei microdati
• Indagine sul 2012
• Descrizione degli archivi
Scegliamo di lavorare sui file:
CARCOM caratteristiche dei componenti la famiglia
RFAM redditi famigliari
RISFAM risparmio e consumo famigliare
RICFAM attività passività della famiglia (patrimonio)
Gli ultimi 3 contengono dati per famiglia, il primo per componente
Accesso ai dati
• Distribuzione dei microdati
• Indagine sul 2012 - ASCII
Importazione dati dal file di testo .csv:
“Dati esterni””File di testo””Selezionare l’origine e la destinazione dei dati”OK
Specifiche di importazione:
“Delimitato””Avanti”Check su ”Nomi di campo nella prima riga”
”Avanzate”in “separatore decimali” inserire “.” (punto)”OK”
”Avanti” ”Avanti” check su “nessuna chiave primaria” ”Avanti” ”Fine”
File da importare:
CARCOM12.csv
RFAM12.csv
RICFAM12.csv
RISFAM12.csv
RPER12.csv
Dati anagrafici sui componenti
Conto del reddito per le famiglie
Conto patrimoniale per le famiglie
Consumi e risparmio per le famiglie
Reddito dei componenti
Chiave: NQUEST NORD
Chiave: NQUEST
Chiave: NQUEST
Chiave: NQUEST
Chiave: NQUEST NORD
Semplifichiamo la tabella CARCOM12, creiamo una QUERY (tabella virtuale) che
contenga solo:
CLETA5 = classe di età (1=fino a 34 anni, 2=35-44, 3=45-54, 4=55-64, 5=oltre 65)
NCOMP = numero di componenti della famiglia
NPERC = numero di percettori della famiglia
PERC
= percettore di reddito
Q
= status del lavoratore (1=dipendente, 2=autonomo, 3=condiz. non profess.)
Naturalmente anche le chiavi NQUEST e NORD
Istruzioni di menù:
“Crea””Struttura Query”Selezionare “CARCOM12””Aggiungi” ”Chiudi”
Compilare (selezionando trascinando i campi di CARCOM nella parte inferiore del
modulo in modo da ottenere la impostazione seguente:
Da menù: “Esegui” !
Risultato:
Chiudere la query con “X”
Rispondere “Si” alla richiesta
di salvataggio
Inserire il nome:
“COMP_RID”
A questo punto la query
“COMP_RID” è una tabella
(virtuale) inserita nel data base
e può essere trattata come una
Tabella quasiasi
Creiamo 2 nuove tabelle che contengono le label dei campi Q e CLETA5
Istruzioni di menù:
“Crea””Struttura Tabella”Inserire i campi “codice” (numerico) e “Label” (testo)
Come segue
Chiudere (“X”) Alla richiesta salvare come “CODQ” (senza chiave primaria)
alimentiamo la tabella: Doppio click su “CODQ”, si apre una griglia su cui possiamo
scrivere per inserire i dati 3 righe con codice e label come segue:
IDEM PER “CODETA” codici e label per le classi di età
Vediamo quanti sono i dipendenti, autonomi e non profess.
Creiamo una query di “SELEZIONE”
“Crea””Struttura Query”Selezionare “query” e “comp_rid””Aggiungi” ”Chiudi”
Selezionare il campo “Q” e inserire nel campo “criteri” il valore “1” così:
“ESEGUI”
Otteniamo:
Quindi ci sono 5380 persone che
Hanno codice =1 (dipendente)
Dovremmo ripetere l’operazione per tutti
I codici ….. Scomodo infatti esiste una
scorciatoia
La query di AGGREGAZIONE
Query di aggregazione:
“Crea””Struttura Query”Selezionare “query” e “comp_rid””Aggiungi” ”Chiudi”
Selezionare il campo “Q” e il campo NQUEST
In alto a dx click su
nella parte bassa compare un’altra riga:
Click sulla nuova riga e sulla colonna NQUEST scegliere “Conteggio” come segue:
“ESEGUI”,
Otteniamo:
Cioè ci sono 5380 codici=1 (dipendenti) 1326 codici=2 (autonomi) e 13316 codici=3 (non prof.)
Cioè è una tavola statistica. Se vogliamo dargli una “forma” più comprensibile aggiungiamo le
label
Con un JOIN alla tabella con le label:
“Crea””Struttura Query”Seelezionare “CODQ”  ”Aggiungi” ” Selezionare “query” e
“comp_rid””Aggiungi” ”Chiudi”
La parte “alta” adesso è così:
Dobbiamo dichiarare quali campi mettono in corrispondenza le tabelle:
Sono il campo “CODICE” di codq e il campo “Q” di comp_rid.
Click su “codice” di codq Trascinare fino a selezionare “Q” di comp_rid
Alla fine dell’operazione vedremo questo:
Ripetiamo la query di aggregazione inserendo anche il campo “label”:
Ricordarsi il click su
La parte “bassa” dovrà essere così:
“ESEGUI”
Otteniamo la tavola con le label:
Che può essere salvata, copiata in Word o Excell.
Altri tipi di query:
CAMPI INCROCIATI
tavole a doppia entrata
ELIMINAZIONE
AGGIORNAMENTO
ACCODAMENTO
elimina i record che soddisfano un criterio
modifica il contenuto dei campi per alcuni o tutti i record
aggiunge record
Query a campi incrociati: esempio qualifica e classe di età sulla tabella “comp_rid”
Occorre costruire una query di aggregazione
E poi specificare “a campi incrociati”
Indicando cosa si vuole in riga, cosa in colonna e cosa nelle celle delle tavola.
La struttura della query sarà la seguente:
E questo il risultato:
Questa la configurazione per avere le label:
E questo il risultato:
Scarica

Diapositiva 1