Elementi di gestione di dati
con MS Access
Breve introduzione per il corso ECDL
mod.5
1
Concetti introduttivi
• Un database o base di dati e’ un insieme
organizzato di dati gestito da un sistema di
basi di dati detto DBMS (Data Base
Management System)
• DBMS è un programma che permette di
creare,organizzare e gestire i dati
immagazzinati nel database.
2
Concetti introduttivi
• Un database contiene informazioni correlate suddivise
in gruppi omogenei.
Questi gruppi costituiscono le Tabelle
• Una Tabella è una raccolta di informazioni su uno
specifico tema
• Un database relazionale mette in relazione le
informazioni contenute nelle varie tabelle evitando così
di avere in più tabelle le medesime informazioni.
3
• Una riga delle tabelle corrisponde ad un record
• Un record è costituto da campi
• Un campo è una colonna della tabella
4
Operazione sugli archivi
Manipolazione dei dati: modifica fisica dei dati
sull’archivio
1. Inserimento
2. Modifica
3. Cancellazione
Consultazione dei dati.
1. Visualizzazione dati
2. Stampa
Cosa è Access
• Access e’ un DBMS che permette di progettare
e utilizzare DB relazionali
• Un DB Access e’ basato sui concetti di tabella
e relazioni tra tabelle
6
Gli oggetti di Access
•Tabelle: sono strutture
rettangolari fondamentali che
contengono i dati sottoforma
di record
•Query: sono oggetti che
consentono normalmente di
estrarre delle informazioni
dalle tabelle o da altre query
rispondenti a criteri ben
definiti (query di selezione).
All’occorrenza possono
essere usate per modificare
le informazioni all’interno
del database (query di
comando)
7
Gli oggetti di Access
•Maschere: sono interfacce
grafiche che consentono
all’utente di inserire e/o
visualizzare in modo
semplice le informazioni
contenute nel DB.
•Report: sono oggetti
normalmente utilizzati per
creare una versione
stampabile delle
informazioni provenienti
normalmente da una query.
Possono contenere dati
riassuntivi ottenuti da
formule matematiche.
8
Tabelle
campi
record
Ogni riga identifica un record. I record devono
essere unici all’interno della tabella
9
Tabelle:unicita’ dei record
• i casi di righe identiche devono essere gestiti
in qualche modo:
– aggiungendo campi specifici al soggetto della tabella
che rendano unico il record (e.g., codice fiscale per
persone, codice ISBN per libri)
– aggiungendo identificatori appositamente definiti
(ID)
10
La chiave primaria
• Ogni tabella deve avere una chiave primaria, ossia un
attributo o un insieme di attributi che identifichino
univocamente un record.
• Esempio: in una tabella contenente informazioni anagrafiche
degli studenti di una scuola, promuovere il campo Cognome a
chiave primaria non è una scelta corretta poichè è piuttosto
semplice avere omonimia di cognome (due fratelli..)..
La scelta migliore è quella di promuovere a chiave primaria un
campo univoco per definizione quale il codice fiscale o il
numero della carta d’identità, oppure un campo
appositamente inserito per questo scopo che solitamente
indicheremo con ID o IDStudente (di tipo Contatore).
Un contatore contiene sequenze di numeri,uno per ogni record
della tabella. Quando si aggiunge un record il campo viene
aggiornato automaticamente.
11
Esercizio guida
• Un esercizio ci guidera’ nel corso di questa
lezione:
– la creazione di un database per il cinema, che
raccogliera’ informazioni su film, attori, registi, etc
12
Creiamo un database Cinema: la
finestra principale di ACCESS
Selezionare crea
un nuovo file..
13
Creiamo una tabella
Selezionare Crea
una tabella in
visualizzazione
struttura
14
Inseriamo i campi
Nella colonna
Tipo dati
selezionare il
tipo adatto al
campo
• Nome completo:Testo
• Data di nascita:Data/ora
• Luogo di nascita:Testo
• Foto:Oggetto OLE
15
Scelta chiave primaria
• Promuovere il campo
Nome completo a
chiave primaria
Selezionare uno
o + campi che
costituiranno la
chiave primaria,
quindi la
chiavetta sulla
barra degli
strumenti.
16
Tipi di dato per gli attributi
• Testo: alfanumerici max 255 caratteri
• Memo: alfanumerici senza limite di lunghezza
• Numerico: utile se si vogliono fare conti su quel campo,
altrimenti e’ meglio testo (e.g., per i numeri di telefono
e’ meglio testo)
• Data/ora
• Valuta
• Contatore: assegna automaticamente, in modo
sequenziale, un numero intero diverso a ciascun record
(utile per le chiavi)
• Si/No: valori booleani(cioè del tipo VERO o FALSO)
• Oggetto OLE: immagini, video, audio
• Collegamento ipertestuale: URL o e-mail..
• Ricerca guidata: per selezionare il tipo di attributi di
altre tabelle o query
17
Proprieta’ degli attributi
• Variano al variare
del tipo di dato
• Ad esempio, nel caso
di un campo Testo
abbiamo gli attributi:
dimensione campo,
Formato,…
• Posizionandosi sul
singolo attributo
abbiamo nel
riquadro di destra
una descrizione
sintetica.
18
Inserire dati in una tabella
• quando abbiamo
finito di definire la
tabella passiamo in
visualizzazione
Foglio dati (occorre
salvare)
• L’inserimento
avviene in modo
naturale
spostandosi da un
campo all’altro. Il
record è
automaticamente
salvato quando ci si
sposta nella riga
successiva.
19
Esercizio
• creiamo una tabella
FILM con i seguenti
attributi:
– IDFilm, Titolo, Anno,
nazione, Lunghezza,
Nazione, Regista,
Incasso Italia,
Recensione, Locandina,
Critica
– La chiave primaria?
20
Esercizio
• creiamo una
tabella REGISTI
con i seguenti
attributi:
– Nome, Data di
nascita, Luogo di
nascita, Foto
– La chiave
primaria?
21
Esercizio
• creiamo una
tabella DETTAGLI
ATTORI con i
seguenti attributi:
– Nome completo,
Biografia, Sito
personale
– La chiave
primaria?
22
Arricchire il DB
•
per ora le tabelle che abbiamo creato sono
scollegate e mancano di tante informazioni utili
23
Lista dei desideri
1. aggiungere a FILM un campo GENERE che possa
assumere i seguenti valori
AZIONE,AVVENTURA,ROMANTICO,ORRORE,
SPLATTER,STORICO,FANTASCIENZA.
2. Mettere in relazione i film con i registi.
3. Mettere in relazione gli attori con i dettagli attori.
24
Le relazioni
Le relazioni tra tabelle sono uno degli aspetti più iportanti nella
progettazione di un database. Esse permettono di
suddividere i dati su più tabelle, mantenendo comunque
l’unità logica del DB.
Esistono 3 tipi di relazioni, ma solo i primi due sono realizzabili
con operazioni dirette di access
25
Le relazioni
•
•
•
1 a 1 (uno a uno): si ottiene collegando la chiave primaria
di una tabella con la chiave primaria dell’altra. Si ha questo
tipo di relazione quando un record di una tabella è in
relazione con al più un record dell’altra.
1 a N (uno a molti): si ottiene collegando la chiave primaria
di una tabella (lato 1) con un campo dello stesso tipo
dell’altra (lato molti), detto chiave esterna.Si ha questo tipo
di relazione quando ad ogni record di una tabella
corrispondono più record dell’altra, ma per ogni record di
quest’ultima corrisponde al + un record della prima.
N a N (molti a molti): si ottiene costruendo una apposita
tabella di collegamento che deve necessariamente
contenere dei campi che consentono la connessione con i
campi chiave primaria delle due tabelle in relazione
26
Relazioni tra tabelle
• Access fornisce la posssibilita’ di creare
relazioni tra tabelle in modo da collegare i dati
provenienti da diverse tabelle.
• Due tipi di relazione che si possono creare
direttamente in Access:
– 1a1
– 1 a molti
27
Relazione 1 a 1
• a ogni record di una tabella corrisponde un solo record
dell’altra
• Esempio: voglio aggiungere in una tabella a parte eventuali
dettagli personali sugli attori e creo una tabella DETTAGLI
ATTORI
28
Integrita’ referenziale
• assicura che le relazioni fra i record di tabelle
collegate siano valide e che non si verifichino
accidentali variazioni o cancellazioni di
informazioni
29
Relazione 1 a 1
• a ogni record di una tabella corrisponde un solo record
dell’altra
• Esempio: voglio aggiungere in una tabella a parte eventuali
dettagli personali sugli attori e creo una tabella DETTAGLI
ATTORI
30
Relazione 1 a molti
• a un record della tabella (tabella primaria)
possono corrispondere piu’ record dell’altra.
• sono le relazioni piu’ comuni
• nel nostro esempio se voglio mettere in
relazione FILM a REGISTI (lo stesso regista
puo’ avere piu’ film)
31
Relazione 1 a molti
• nel nostro esempio se voglio mettere in relazione FILM a
REGISTI (lo stesso regista puo’ avere piu’ film)
32
Relazione molti a molti
• esempio: vogliamo modellare le relazioni tra
FILM e ATTORI
– ogni film ha piu’ attori e ogni attore recita in piu’ film
• in Access la modelliamo come una
concatenazione tra due relazioni 1 a molti e
l’aggiunta di una tabella di giunzione
• Nel nostro caso possiamo pensare alla tabella
RECITA_IN che mette in relazione un attore e
un film
• La chiave primaria della tabella di giunzione e’
l’unione delle chiavi primarie delle tabelle che
mette in relazione
33
Tabella di giunzione RECITA_IN
34
Relazione molti a molti
35
Le query: creazione guidata
• strumento utile per accedere alle informazioni
contenute nel database in modo efficace
• Le istruzioni che compongono la query sono
scritte in una variante del linguaggio SQL
(Structured Query Language)
• Access fornisce 3 modi per creare query:
1. creazione guidata (wizard) che permette di
selezionare attributi da una tabella
2. creazione tramite visualizzazione della struttura
3. creazione diretta con comandi SQL (non la
vedremo)
36
Il Wizard delle
query
creiamo una query che estragga i
titoli dei film e i relativi registi
37
Esercizio!
• ordiniamo in modo crescente rispetto al nome
dei registi e poi al titolo del film
• creiamo una query che selezioni tutte le
coppie attori e registi che hanno lavorato
insieme
38
I criteri nelle query
• lista degli attori che recitano in pulp fiction in
ordine crescente rispetto alla data di nascita
39
Esercizi
• lista degli attori che recitano nei film di
Tarantino dopo il 2000 (visualizzando anche il
titolo del film)
40
Le maschere
• Le maschere (o form) sono uno strumento
utile come interfaccia al database
• possono servire come comodo ausilio
all’inserimento dati o per la consultazione dei
risultati ottenuti da query
• analizzeremo solo la modalita’ di design
automatica (tramite Wizard)
41
Le maschere: esempio semplice
selezioniamo i campi
che vogliamo
inserire, stando
attenti a mettere
tutti quelli
obbligatori
42
Le maschere: esempio semplice
scegliamo l’aspetto
della form e il
nome...
43
Le maschere: esempio semplice
per inserire un nuovo record...
44
Maschere con sottomaschere
• per inserire automaticamente dati relativi a
due tabelle collegate
• esempio: creiamo una maschera per
l’inserimento di un nuovo film e di tutti gli
attori che vi recitano
45
Maschere con sottomaschere
• apriamo il Wizard delle form:
– inseriamo tutti i campi relativi alla tabella FILM
– inseriamo tutti i campi relativi alla tabella RECITA_IN
scorro gli attori
di un film
scorro i record
dei film
46