Access
Parte
p ri m a
1
Esempio di gestione di
database con MS Access
2
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
3
Elementi fondamentali
ƒ
Tabelle
ƒ
Query
ƒ
Maschere
ƒ
Report
4
Tabelle
„
„
„
I luoghi dove il DataBase memorizza i
dati vengono chiamati tabelle.
In una singola base di dati, vi sono
generalmente numerose tabelle.
Ogni tabella raccoglie dati simili, aventi
cioè tutti la medesima struttura.
5
Query
„
L’analisi dei dati viene fatta effettuando
delle domande a cui il DataBase
produce delle risposte, dette
interrogazioni o Query.
6
Query (2)
„
„
Le domande che si possono esprimere
nelle query possono essere domande di
ricerca, ordinamento, calcolo, modifica,
cancellazione …
Le risposte a queste domande sono
nuove tabelle, eventualmente anche
vuote o contententi una unica riga.
7
Query (3)
„
„
„
Le Query vengono espresse attraverso
appositi linguaggi, detti linguaggi
d’interrogazione.
SQL e’ i linguaggio d’interrogazione piu’
comune.
Access permette di esprimere le query
anche in modo grafico.
8
Le maschere
„
Le maschere disegnano le interfacce
grafiche con cui gli utenti interagiscono
per inserire i dati nelle tabelle,
modificarli, effettuare delle query, etc.
9
Le maschere (2)
„
„
„
„
Maschere di immissione, per popolare la base
di dati
Maschere di interrogazione, per velocizzare il
processo di esecuzione di una Query.
Maschere di stampa, per inviare i dati ad una
stampante.
Maschere di comando, per collegare le varie
maschere tra di loro.
10
I Report
I report costituiscono il modo con cui i
risultati calcolati dalle Query possono
essere formattati in modo da poter
essere stampati in modo leggibile.
11
Tabelle in dettaglio
attributi
record
Ogni riga identifica un record.
I record devono essere unici all’interno della tabella
12
Unicità 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
13
Chiave primaria
„
Ogni tabella deve avere una chiave
primaria, ossia un attributo o un
insieme di attributi che identifichino
univocamente un record
14
DB di esempio
DATABASE DI CINEMA
15
DB di esempio
CREAZIONE TABELLA
16
DB di esempio
„
„
„
„
nome attributo,
tipo attributo
(numerico, testo,
data, ...)
proprieta’ attributo
scelta chiave
primaria
17
DB di esempio
SCELTA
CHIAVE
PRIMARIA
18
DB di esempio
TIPI DI DATI IN ACCESS
19
DB di esempio
„
Testo
„
„
Utilizzare per il testo o le combinazioni di
testo e numeri, ad esempio gli indirizzi, o
per numeri che non richiedono calcoli, ad
esempio i numeri telefonici, i numeri di
serie o i codici di avviamento postale.
Memorizza fino a 255 caratteri. La
proprietà Dimensione campo definisce il
numero massimo di caratteri che possono
essere digitati.
20
DB di esempio
„
Memo
„
„
Utilizzare per testo lungo e numeri, ad
esempio note o descrizioni.
Memorizza fino a 65.536 caratteri.
21
DB di esempio
„
Numerico
„
„
Utilizzare per i dati numerici da inserire in
calcoli matematici, ad eccezione dei calcoli
con valuta. In tal caso, utilizzare il tipo di
dati Valuta.
Memorizza 1, 2, 4 o 8 byte e 16 byte solo
per l'ID replica (GUID). La proprietà
Dimensione campo definisce il tipo
numerico specifico.
22
DB di esempio
„
Data/Ora
„
„
„
Utilizzare per la data e l'ora.
Memorizza 8 byte.
Valuta
„
„
Utilizzare per i valori di valuta e per evitare
gli arrotondamenti per difetto nei calcoli.
Memorizza 8 byte.
23
DB di esempio
„
Contatore
„
„
Utilizzare per i numeri univoci sequenziali
(con incremento di una unità alla volta) o
per i numeri assegnati in modo casuale
inseriti automaticamente quando si
aggiunge un record.
Memorizza 4 byte e 16 byte solo per l'ID
replica (GUID).
24
DB di esempio
„
Sì/No
„
„
Utilizzare per i dati ai quali può essere
assegnato solo uno di due valori, ad
esempio Sì/No, Vero/Falso, On/Off. I valori
Null non sono consentiti.
Memorizza 1 bit.
25
DB di esempio
„
Oggetto OLE
„
„
Utilizzare per gli oggetti OLE, ad esempio
documenti di Microsoft Word, fogli di
calcolo di Microsoft Excel, immagini, effetti
sonori o altri dati binari creati in altri
programmi tramite il protocollo OLE.
Memorizza fino a 1 GB (se lo spazio
disponibile sul disco è sufficiente).
26
DB di esempio
„
„
Collegamento ipertestuale: URL o email..
Ricerca guidata: per selezionare il tipo
di attributi di altre tabelle
27
DB di esempio
INSERIRE
DATI IN UNA
TABELLA
„
„
quando abbiamo finito di definire la tabella
la chiudiamo e le assegnamo un nome
per l’inserimento dati clicchiamo due volte
sul nome della tabella
28
DB di esempio
„
Una volta definite le varie tabelle, bisogna
arricchire il database tramite il
collegamento tra le stesse
29
DB di esempio
ATTENZIONE ALLE ANOMALIE
„
I problemi di ridondanza che si verificano quando si
cerca di raggruppare troppe informazioni in una
singola tabella sono detti anomalie:
1.
ridondanza:informazioni ripetute in modo non
necessario
2.
anomalie di aggiornamento
3.
anomalie di cancellazione
30
DB di esempio
„
Come porre rimedio alle anomalie?
„
„
regola di buon senso: cercare di mantenere
tabelle piccole.
un’alternativa consiste nel dividere le
informazioni in tabelle diverse e poi legare le
tabelle tramite relazioni
31
DB di esempio
„
„
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:
„ 1 a 1
„ 1 a molti
32
DB di esempio
RELAZIONE 1:1
„
a ogni record di
una tabella
corrisponde un
solo record
dell’altra
33
DB di esempio
RELAZIONE 1:N
„
a un record della tabella
(tabella primaria) possono
corrispondere piu’ record
dell’altra.
„
sono le relazioni piu’ comuni
34
DB di esempio
„
RELAZIONE N:N
35
DB di esempio
RELAZIONE N:N
„
„
in Access la modelliamo come
una concatenazione tra due
relazioni 1 a molti e l’aggiunta
di una tabella di giunzione
La chiave primaria della
tabella di giunzione e’
l’unione delle chiavi primarie
delle tabelle che mette in
relazione
36
DB di esempio
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)
37
DB di esempio
Le query: creazione guidata
„
Access fornisce 3 modi per creare query:
1.
2.
3.
creazione guidata (wizard) che permette di
selezionare attributi da una tabella
creazione tramite visualizzazione della struttura
creazione diretta con comandi SQL
38
DB di esempio
39
DB di esempio
I criteri nelle query
40
DB di esempio
Le maschere: creazione guidata
„
„
„
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
41
DB di esempio
Le maschere: creazione guidata
42
DB di esempio
Le maschere: creazione guidata
43
DB di esempio
Le maschere: creazione guidata
44
DB di esempio
Maschere con sottomaschere
„
per inserire automaticamente dati
relativi a due tabelle collegate
45
DB di esempio
Maschere con sottomaschere
46