I Database con
ACCESS
Prof. Michele SIMONE
• Archivi tradizionali
• Database
Prof. Michele SIMONE
Definizione di ARCHIVIO
Un archivio è un insieme organizzato di
informazioni tra cui esiste un nesso
logico, cioè una raccolta di dati correlati
tra loro.
Es:
Schedario, Rubrica telefonica,
Archivio studenti di una scuola,
Archivio anagrafico di un comune
Prof. Michele SIMONE
Differenza tra
DATI ed INFORMAZIONI
I dati si immagazzinano,
le informazioni si reperiscono
Prof. Michele SIMONE
Rappresentazione Dati
• BYTE
(8 bit = 1 carattere)
• CAMPO
(insieme di byte)
• RECORD (insieme di campi)
• FILE
(insieme di record)
Prof. Michele SIMONE
Tipi di ARCHIVIO
Archivio cartaceo:
Il supporto è la carta
Archivio elettronico (FILE):
Il supporto è una memoria di massa
Operazioni:
•
•
•
•
•
•
•
Creazione
Inserimento
Aggiornamento
Cancellazione
Interrogazione
Visualizzazione
Stampa
Prof. Michele SIMONE
Elementi di un ARCHIVIO
Le informazioni vengono raggruppate
secondo una struttura di dati:
RECORD (registrazione)
Rappresenta un’unità logica del File
L’insieme di più record (TABELLA)
formano un File
Cognome
Prof. Michele SIMONE
Nome
Indirizzo
CAMPI
Telefono
Tabella strutturata
AUTO
Prof. Michele SIMONE
ARCHIVI TRADIZIONALI
BIBLIOTECA
SEGRETERIA
RIDONDANZA
Rossi, via dell’allegria, …, 054202020
ROSSI CAMBIA NUMERO DI
TELEFONO E COMUNICA LA
VARIAZIONE
ALLIEVI
ALLIEVI
054343434
Rossi, …, 054202020
Rossi, …, 054343434
INCONGRUENZA
INCONSISTENZA
Prof. Michele SIMONE
Definizione di DATABASE
Un database è un insieme integrato
di archivi (correlati) utilizzabili da
utenti diversi per applicazioni diverse
Es:
Database di un’azienda (magazzino,
contabilità, dati clienti e fornitori, …)
Database dei conti correnti di una banca
Database dei cittadini di un comune,
Database degli studenti di una scuola
Prof. Michele SIMONE
DATABASE
BIBLIOTECA
SEGRETERIA
Rossi, via dell’allegria, …, 054202020
ROSSI CAMBIA NUMERO DI TELEFONO
E COMUNICA LA VARIAZIONE
ALLIEVI
054343434
Rossi, …, 054343434
Prof. Michele SIMONE
Indice
DBMS
Access
Esempio
Prof. Michele SIMONE
Prova tu!
Che cos’ è un gestore di database?
DBMS
DataBase
Management
System
Base di Dati
Gestione (di una)
Sistema (per la)
Uno strumento capace di gestire informazioni,
cioè catalogare, ordinare, ricercare dei dati.
Prof. Michele SIMONE
Definizione di DBMS
Un sistema per la gestione di database è
un'applicazione (software) che permette di
gestire i dati mediante operazioni di:
• Creazione
•
•
•
•
•
•
Inserimento
Aggiornamento
Cancellazione
Interrogazione
Visualizzazione
Stampa
Prof. Michele SIMONE
Vantaggi
• Il ritrovamento dei dati è veloce
• I dati occupano meno spazio
• I dati possono essere condivisi da più utenti
• I dati ridondanti sono minori
• L' inconsistenza dei dati può essere evitata
• La sicurezza può essere controllata
Prof. Michele SIMONE
Software specifico per
la gestione di database
DBMS
(Data Base Management System)
Access
(Estensione dei file mdb sta per Microsoft Database)
RELAZIONALE
Prof. Michele SIMONE
Creare in Access
Si può creare un database:
 Vuoto
 Attraverso la creazione guidata
 Da un modello già esistente
Access chiede di salvare il database
appena lo si crea !!
Prof. Michele SIMONE
Creare in Access
• Access chiede di salvare il
database appena lo si crea !!
• Si possono creare oggetti mediante
Visualizzazione Struttura
Creazione Guidata
Prof. Michele SIMONE
Oggetti di un Database

Tabelle
= Rappresentano la base su cui costruire il
database

Maschere = “ Interfacce ”

Query
= Sono il mezzo con il quale si interroga il
database

Report
= Servono per la stampa
Prof. Michele SIMONE
Le Tabelle
Ogni tabella è costituita da campi
Un campo è uno spazio che contiene un’ unità di informazione,
come un nome, un numero di telefono, una data,…
Per questo ogni campo ha un tipo di dati (Testo, Memo,
Numerico, Data/Ora, Valuta, Contatore, Si/No,…)
Ad esempio un nome ha come tipo di dati Testo, una data
avrà un tipo di dati Data/Ora,…
Prof. Michele SIMONE
TABELLA
CAMPO o ATTRIBUTO
RECORD
I record di una tabella sono unici.
Prof. Michele SIMONE
Tabelle
Attributi
Record
Ogni riga identifica un record.
I record di una tabella sono unici.
Prof. Michele SIMONE
Tabelle: unicita’ dei record
Casi di righe identiche devono essere
gestiti in qualche modo:
– aggiungendo campi specifici al soggetto della
tabella che rendano unico il record (codice
fiscale per persone, codice ISBN per libri)
– aggiungendo identificatori appositamente
definiti
Prof. Michele SIMONE
La chiave primaria
Ogni tabella deve avere una chiave primaria,
ossia
un attributo o un insieme di attributi
che identifichi univocamente un
record
Prof. Michele SIMONE
L’Indice
Definita una chiave primaria, viene costruito
un indice simile all’indice di un libro.
L’indice contiene le chiavi e accanto ad ogni
chiave il numero del record corrispondente, così come
nel libro accanto ad ogni parola è indicata una pagina.
L’indice è ordinato alfabeticamente.
Velocizza le operazioni di ricerca e ordinamento
Tutti i campi di una tabella si possono indicizzare
Prof. Michele SIMONE
Esercizio guida
Creare un database di nome
CINEMA
che raccoglie informazioni su
• Film
• Attori
• Registi
Prof. Michele SIMONE
Esercizio guida
Modello Entità / Relazione
Regista
1
Dirige
N
Film
Numerofilm
Nazionalità
Nazionalità
Durata
Colore
Nome
Anno
Titolo
Cognome
Prof. Michele SIMONE
Esercizio guida
Modello Entità / Relazione
N
Film
Recita
Nazionalità
Durata
Colore
M
Anno
Titolo
Attore
Foto
Cachet
Datadinascita
Nome
Cognome
Prof. Michele SIMONE
Esercizio guida
Modello Entità / Relazione
Regista
1
Dirige
N
Film
Numerofilm
Nazionalità
Nazionalità
Durata
Colore
Nome
Anno
Titolo
Cognome
Attore
Foto
Cachet
Datadinascita
Nome
Cognome
Prof. Michele SIMONE
Creiamo il database CINEMA:
la finestra principale di ACCESS
Prof. Michele SIMONE
Creiamo una tabella
Prof. Michele SIMONE
Creiamo una tabella
•
•
•
•
nome attributo
tipo attributo
(numerico, testo,
data, ...)
proprieta’ attributo
scelta chiave primaria
Prof. Michele SIMONE
Tipi di dato per gli attributi
testo: alfanumerico max 255 caratteri
memo: alfanumerico senza limite di lunghezza
numerico: utile se si vogliono fare conti su
quel campo, altrimenti e’ meglio testo (per i
numeri di telefono e’ meglio testo)
Data/ora
Valuta
…
Prof. Michele SIMONE
Tipi di dato per gli attributi
contatore: assegna automaticamente, in modo
sequenziale, un numero diverso a ciascun
record (utile per le chiavi)
si/no: valori booleani
oggetto OLE: immagini, video, audio
collegamento ipertestuale: URL o e-mail..
ricerca guidata: per selezionare il tipo di
attributi di altre tabelle
Prof. Michele SIMONE
Proprieta’ degli attributi
Variano al variare del tipo di dato
Ad esempio, nel caso del tipo testo:
Prof. Michele SIMONE
Scelta chiave primaria
Prof. Michele SIMONE
Inserire dati in una tabella
Quando abbiamo finito di definire la tabella la
chiudiamo e le assegnamo un nome: Attore
Per l’inserimento dati clicchiamo due volte sul nome
della tabella per aprirla
Prof. Michele SIMONE
Esercizio
Creiamo una tabella FILM con i seguenti attributi:
– titolo, anno, colore, nazione, lunghezza
– il colore assume valori SI o NO
Definiamo la chiave
Salviamo
Prof. Michele SIMONE
Esercizio
Inseriamo alcuni dati:
Prof. Michele SIMONE
Le Relazioni:
Access permette di creare Database Relazionali, cioè in grado
di gestire più tabelle legate tra loro da relazioni.
Le relazioni sono associazioni tra tabelle stabilite in base alla
chiave primaria
Ci sono tre tipi di relazioni:
 Uno a Uno
 Uno a Molti
 Molti a Molti
Prof. Michele SIMONE
RELAZIONE
Prof. Michele SIMONE
Relazioni tra tabelle
Possiamo creare relazioni tra tabelle
collegando i dati di tabelle diverse.
Due tipi di relazione che si possono
creare direttamente in Access:
–1a1
– 1 a molti
Prof. Michele SIMONE
Relazione 1 a 1
Ad 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
Prof. Michele SIMONE
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
Prof. Michele SIMONE
Relazione 1 a 1
Prof. Michele SIMONE
Relazione 1 a molti
Ad un record di una tabella (tabella primaria) possono
corrispondere piu’ record dell’altra.
Sono le relazioni piu’ comuni
nel nostro esempio posso mettere in relazione FILM a REGISTI
(lo stesso regista può dirigere più film)
Prof. Michele SIMONE
Relazione 1 a molti
Prof. Michele SIMONE
Relazione molti a molti
Esempio: vogliamo modellare la relazione 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
Prof. Michele SIMONE
Tabella di giunzione RECITA_IN
Prof. Michele SIMONE
LAYOUT delle Relazioni
Prof. Michele SIMONE
Le Maschere:
Le maschere sono uno strumento necessario per permettere ad
ogni utente di lavorare con un database costruito in Access,
svolgono la funzione di un’ interfaccia.
Ad ogni campo corrisponde un’etichetta ed una casella di testo.
Consentono di effettuare e la visualizzazione e l’ immissione
dei dati che sono introdotti nelle tabelle che supportano la
maschera
Prof. Michele SIMONE
Esempio di maschera personalizzata
Prof. Michele SIMONE
Le Query:
Le query sono interrogazioni permanenti che restituiscono una
griglia di dati.
Con la query si possono riordinare i dati, filtrare i dati in base
a criteri, raggruppare, sommare, contare, …
Le query permettono di interrogare più tabelle
contemporaneamente
Prof. Michele SIMONE
Tipi di Query:
 Query di selezione
 Query a calcolo
 Query di riepilogo
 Query creazione tabella
 Query di aggiornamento
 Query di accodamento
 Query di eliminazione
Prof. Michele SIMONE
I Report:
I Report sono sostanzialmente delle anteprime di stampa.
I Report permettono di estrapolare informazioni da una o più
tabelle o query, e impaginarle secondo un modello grafico.
Nel Report è possibile:
 Ordinare i record in base ad uno o più campi
 Raggruppare dati contenuti in uno o più campi,Per campi
numerici
 sommare, fare la media, trovare il minimo o il massimo
Prof. Michele SIMONE
Moduli e Macro
Solo alcuni cenni per sapere cosa sono e a cosa servono
I Moduli creano funzioni personalizzate mediante l’utilizzo del
codice Visual Basic.
Le Macro gestiscono una sequenza di istruzioni e sono utili per
creare procedure automatiche.
Prof. Michele SIMONE
E adesso …
Prova tu!
Clicca qui
Prof. Michele SIMONE
Problema
Creare una cartella sul Desktop di nome Scuola
Scaricare qualche immagine o foto da internet
e salvarle nella cartella Scuola
Creare nella cartella Scuola il database di
nome Mio_Istituto
Prof. Michele SIMONE
Consegna
Creare il modello E/R con le entità Classe ed Allievo
Se un allievo frequenta una classe ed una classe è frequentata da più
allievi, di che tipo è la corrispondenza tra Classe ed Allievo?
Creare le tabelle Classe ed Allievo
Creare la relazione 1 : N tra Classe ed Allievo nel Layout delle relazioni
Inserire i dati nelle tabelle Classe ed Allievo
Creare una maschera per ogni tabella
Creare due query
1. nominativi degli allievi che frequentano la classe 3B
2. nominativi degli allievi con età>11
Creare una report per ogni tabella e per ogni query
Prof. Michele SIMONE
Struttura tabella
Classe
Nome classe
num_aula
numero banchi
wirless
Testo 5
Num byte
Num byte
Si/No
Struttura tabella
Allievo
Codice
Cognome
Nome
Data
nascita
Indirizzo
Città
Curriculum
Borsa
di
studio
Età
Certificazione
ECDL
Foto
Testo 4
Testo 20
Testo
20
Data
breve
Testo 30
Testo 15
Memo
Valuta
Numeric
o
Si/No
Oggett
o OLE
Prof. Michele SIMONE
Nome
classe
Dati da inserire:
Classe
Nome classe
num_aula
numero banchi
wirless
1C
8
21
si
1A
10
20
si
3B
12
18
no
2A
14
16
no
2B
13
13
si
Prof. Michele SIMONE
Dati da inserire:
Allievo
Codice
Cognome
Nome
Data
nascita
Indirizzo
Città
Curriculum
Borsa
di studio
Età
Certificazione
ECDL
Foto
Nome
classe
Al03
Pozzi
Giorgio
2-2-2000
Via Roma
3
Casagio
ve
Curriculum
200 €
11
S
foto
1C
Al12
Carli
Anna
11-32001
Via Pica
16
S. Maria
C. V.
“
0€
10
N
“
1A
Al07
Stenta
Ugo
24-71998
Via
Loreto 54
Casapull
a
“
210 €
13
N
“
3B
Al99
Fusco
Ileana
15-91999
Via Sassi
13
Capua
“
190 €
12
N
“
2A
Al01
Guidi
Piero
1-121998
Via
Toledo 2
Capua
“
180 €
13
S
“
2B
Al37
Lillo
Tina
25-102000
Via
Cassia 1
S. Maria
C. V.
“
0€
11
S
“
3B
Al71
Barra
Pippo
31-81999
Via Pio IX
45
S. Maria
C. V.
“
300 €
12
S
“
3B
Prof. Michele SIMONE
E Adesso …
Aggiungere al modello E/R l’entità Docente considerando che
• un docente insegna a più alunni
• un alunno ha più docenti
Pertanto di che tipo è la corrispondenza tra Allievo e Docente?
Rappresentare questa corrispondenza nel modello E/R
Prof. Michele SIMONE
Struttura tabella
Docente
Cognome
nome
materia
e-mail
foto
Testo 20
Testo 20
Testo 20
Collegamento ipertestuale
Oggetto OLE
Struttura tabella
Insegna
Id
Cognome_doc
Codice_allievo
Contatore
Testo 20
Testo 4
Prof. Michele SIMONE
Creare la relazione Insegna (M : N) tra Docente ed Allievo nel Layout delle relazioni
Dati da inserire
Docente
Insegna
Cognome
nome
materia
e-mail
foto
bloom
cinzia
informatica
[email protected]
foto
rossi
mara
italiano
[email protected]
foto
verde
pino
matematica
[email protected]
foto
nero
franco
inglese
[email protected]
foto
Prof. Michele SIMONE
ID
Cognome
docente
Codice
allievo
1
bloom
Al03
2
rossi
Al03
3
rossi
Al99
4
rossi
Al12
5
bloom
Al07
6
verde
Al07
7
verde
Al71
8
bloom
Al71
9
bloom
Al03
Infine
Creare una maschera per ogni tabella
Creare due query:
1. nominativi dei docenti di un alunno
2. nominativi degli alunni di un docente
3. nominativi degli alunni e dei docenti di una classe
Creare una report per ogni tabella e per ogni query
Prof. Michele SIMONE