Le Basi Dati ECDL - Modulo 5 tonio rollo 2013
Access
Concetti generali
toniorollo2013
Cos’è un database e com’è organizzato
✦
In molti ambiti è sentita la necessità di memorizzare e gestire particolari volumi di informazioni; si pensi, ad esempio, alle informazioni anagrafiche relative ai cittadini. Se i dati vengono memorizzati in forma cartacea, come avveniva in passato, la ricerca di dati comporta la consultazione manuale dei registri.
toniorollo2013
Cos’è un database e com’è organizzato
✦
Attualmente la memorizzazione di grosse quantità di informazioni può essere effettuata facendo uso di database, che possono essere definiti come insiemi integrati di dati omogenei.
toniorollo2013
Database Il database è ✦
✦
✦
un insieme di informazioni catalogate e organizzate. Il tipo di database più diffuso è quello relazionale, composto da tabelle che, se poste in relazione tra loro, consentono una gestione complessiva dei dati.
ACCESS della Microsoft è un programma per realizzare database, che gestisce un insieme di dati che stanno su diversi archivi
toniorollo2013
Cos’è un database e com’è organizzato
Un database è più di un elenco o tabella. ✦ Offre la possibilità di ✦
gestire appieno i dati, consentendone: ✦ il recupero, ✦ l'ordinamento, ✦ l'analisi, ✦ il riepilogo ✦ la creazione di report dei risultati in pochi istanti.
toniorollo2013
Cos’è un database e com’è organizzato
✦
È in grado ✦
✦
✦
di combinare i dati provenienti da diversi file, evitando così la necessità di immettere due volte le stesse informazioni. Può rendere più efficiente e precisa l'immissione dei dati.
toniorollo2013
Cos’è un database e com’è organizzato
✦
Una base
di dati o database (DB) è un insieme di informazioni archiviate in maniera strutturata all'interno di tabelle.
toniorollo2013
Cos’è un database e com’è organizzato
✦
Tali informazioni sono organizzate in modo da poter essere facilmente: ✦
consultate,
✦
modificate
✦
cancellate.
toniorollo2013
Cos’è un database e com’è organizzato
I dati memorizzati possono essere interrogati in modo che vengano restituiti (e stampati) solo quelli che rispondono a specifici criteri e sono di particolare interesse.
toniorollo2013
Cos’è un database e com’è organizzato
✦
✦
In un database relazionale le informazioni vengono memorizzate in più tabelle in relazione fra loro. Un database deve possedere alcune caratteristiche fondamentali: ✦
condivisibile;
✦
non ridondante,
✦
persistente.
toniorollo2013
Cos’è un database e com’è organizzato
Il termine dato viene usato al posto di informazione tutte le volte che ci si riferisce ad una informazione rilevante per la gestione del problema specifico, problema che viene gestito con la creazione di una base di dati. Un dato è la registrazione di un qualsiasi oggetto descrivibile, identificabile e classificabile.
toniorollo2013
Cos’è un database e com’è organizzato
✦
Per impostare e definire correttamente un nuovo database occorre: ✦
analizzare tutti gli elementi della realtà da descrivere, identificando innanzitutto due tipi di oggetti: ✦
le entità del database, ossia le diverse strutture necessarie per la memorizzazione dei dati
✦
le relazioni tra le entità del database.
toniorollo2013
Cos’è un database e com’è organizzato
✦
Per ogni entità (skill card, esami, corsi e alunni) deve essere creata una tabella, in cui vengono organizzati i dati in campi (colonne) e
record (righe). ✦
✦
Nei campi si memorizzano tipi di dati diversi (ad esempio il nome o un indirizzo); nei record si raccolgono tutte le informazioni su un elemento da registrare nel database.
toniorollo2013
Cos’è un database e com’è organizzato
✦
Nella figura viene illustrata la distinzione tra campi, record e tabelle. Ciascuna caratteristica di un'entità è definita attributo e rappresenta un campo nella tabella. ✦
✦
Il campo Nome corso è un campo della tabella Corsi; l'insieme dei dati che avvalorano i campi della tabella costituisce un
record ✦
l'insieme dei record costituisce la tabella.
toniorollo2013
Cos’è un database e com’è organizzato
✦
Le relazioni tra le tabelle sono rappresentate da frecce. ✦
Ad esempio, la freccia tra la tabella Alunni e Corsi indica la relazione che lega ciascun alunno al corso che segue o che ha seguito, e la freccia tra la tabella Corsi ed Esami indica la relazione tra gli esami che sono stati sostenuti e i corsi seguiti.
toniorollo2013
Cos’è un database e com’è organizzato
✦
Alcune regole da rispettare per rendere un database più efficace. ✦
✦ ✦
✦
I record devono essere unici, cioè nella stessa tabella non possono essere memorizzate informazioni sullo stesso soggetto.
I campi devono essere unici. Nessun campo deve essere funzione di altri. Ad esempio, se nella tabella è presente il campo Data di nascita, la tabella non deve avere il campo Età.
Ogni campo deve essere scomposto in
parti logiche più piccole possibile (atomiche). ✦
Non c'è un limite massimo al numero di campi che compongono una tabella.
toniorollo2013
La chiave primaria e gli indici ✦
Affinché i record di una tabella siano unici, è necessario definire la chiave primaria della tabella, ossia l'insieme dei campi che identificano ogni record in maniera univoca.
✦
La definizione di una chiave primaria permette di avere record distinti, non duplicati, e di reperirli in maniera più veloce.
La scelta opportuna della chiave è una tra le regole più importanti da seguire per ottenere un database ben progettato.
toniorollo2013
La chiave primaria e gli indici
✦
Continuando con l'esempio del database del Test Center, la chiave primaria della tabella Alunni è il numero
identificativo della skill card, dato che ogni alunno ha una skill card con numero unico. ✦
Per l'accesso alle informazioni di un alunno, è sufficiente utilizzare il valore identificativo della sua skill card; ad esempio, conoscendo il valore 002 dell'identificativo carta (idCarta), che è campo chiave, si può accedere a tutte le informazioni che riguardano l'alunno in possesso di quella determinata skill card.
toniorollo2013
La chiave primaria e gli indici
âœŚ
L'impostazione di un indice su uno o piĂš campi ha lo scopo di velocizzare la ricerca dei dati in essi contenuti. Si pensi a una tabella che contiene i dati anagrafici; molto spesso la ricerca e il reperimento dei dati si basano sul campo data di nascita. Impostando un indice su tale campo viene accelerato l'accesso ai dati.
toniorollo2013
La relazione tra tabelle Si provi a definire le relazioni nel database di esempio Tcecdl alla luce del concetto di chiave primaria. Le relazioni esistenti fra le tabelle di questo database (SkillCard, Esami Superati, Corsi, Alunni per Corso) rappresentano i legami logici tra i record di ognuna di esse. La tabella SkillCard ha come chiave primaria il campo idCarta, che identifica univocamente ogni skill card in possesso di un alunno e la tabella Corsi ha come chiave primaria il campo Cod Corso. âœŚ
toniorollo2013
La relazione tra tabelle Definita la chiave primaria di ciascuna delle quattro tabelle, possono essere impostate le relazioni tra di esse. Ad esempio, sapendo che ciascun alunno può aver sostenuto piĂš corsi, deve essere definita una relazione tra le tabelle Corsi, Esami Superati e SkillCard. âœŚ
toniorollo2013
La relazione tra tabelle È molto importante pianificare le proprietà delle relazioni, pena l'impossibilità di registrazione dei dati o, peggio, l'impossibilità di lettura dei dati archiviati. ✦
Impostare correttamente le proprietà delle relazioni significa riuscire a evitare che un record di una tabella sia messo per errore in relazione con dati diversi. ✦
La scelta del tipo di relazione è basilare per evitare problemi di ✦
incoerenza.
toniorollo2013
La relazione tra tabelle Le relazioni possono essere di tipo: âœŚ
âœŚ
uno-a-uno (1-1): ad ogni record di una
tabella è associato un solo record dell'altra e viceversa;
toniorollo2013
La relazione tra tabelle âœŚ uno-a-molti
(1-M): ad ogni record della prima tabella
possono essere associati piÚ record della seconda e ad ogni record della seconda può essere associato un solo record della prima;
toniorollo2013
La relazione tra tabelle âœŚmolti-a-molti (M-M): ad ogni record della prima tabella possono essere associati diversi record della seconda e ad ogni record della seconda possono essere associati piĂš record della prima.
toniorollo2013
La relazione tra tabelle Rimanendo nell'esempio del database, esempi di relazioni sono: ✦
uno-a-uno (1-1) tra le tabelle Alunni per corso e SkillCard, perché a ogni alunno è associata una sola skill card e viceversa; ✦
uno-a-molti (1-M) tra una skill card e gli esami superati, perché ogni skill card è associata ai 7 esami che completano la certificazione; ✦
molti-a-molti (M-M) tra le tabelle Corsi e Alunni per corso, perché ogni alunno è associato a più di un corso e viceversa. ✦
toniorollo2013
La relazione tra tabelle
Alcune regole da rispettare per rendere un database più efficace. I record devono essere unici, cioè nella stessa tabella non possono essere memorizzate informazioni sullo stesso soggetto. I campi devono essere unici. Nessun campo deve essere funzione di altri. Ad esempio, se nella tabella è presente il campo Data di nascita, la tabella non deve avere il campo Età. Ogni campo deve essere scomposto in parti logiche più piccole possibile (atomiche). Non c'è un limite massimo al numero di campi che compongono una tabella.
toniorollo2013
Gli Oggetti: Tabelle e Query ✦
I database di Access sono costituiti da oggetti: ✦ Tabelle: consentono di memorizzare i dati all'interno di righe e colonne. Tutti i database contengono una o più tabelle. ✦ Query: consentono di recuperare ed elaborare i dati. Tramite le query è possibile combinare dati di tabelle diverse, aggiornare i dati ed eseguire calcoli sui dati.
toniorollo2013
Oggetti: Maschere e Report âœŚ Maschere:
consentono di controllare l'immissione e la visualizzazione dei dati. Le maschere sono strumenti visuali che semplificano l'utilizzo dei dati.
âœŚ
Report: consentono di riepilogare e stampare i dati. I report trasformano i dati delle tabelle e delle query in documenti utili per la distribuzione e lo scambio di informazioni.
toniorollo2013
Impostazione Dati
âœŚ
Per i campi del database sono disponibili impostazioni che consentono di stabilire il tipo di dati che è possibile memorizzare, le modalità di visualizzazione dei dati e le operazioni eseguibili sui dati.