LABORATORIO INFORMATICO Basi di Dati MS Access

LABORATORIO INFORMATICO
Basi di Dati
MS Access
Ing. M.Paolizzi
MS Access
1
Sistemi Informativi
• I sistemi informativi hanno il compito di:
– raccogliere
– organizzare
– conservare
i dati;
• ES: l’elenco degli iscritti ad una Facoltà Universitaria
• I sistemi informativi garantiscono che i dati vengano:
– conservati permanentemente sui supporti di archiviazione
– aggiornati in caso di variazioni
– resi accessibili per interrogazioni degli utenti
• Caratteristiche essenziali sono:
– Disponibilità delle informazioni
– Gestione efficace
Ing. M.Paolizzi
MS Access
2
Dati ed Informazioni
• Le informazioni sono rappresentate attraverso
un insieme di dati elaborati e correlati;
• I dati da soli sono di scarso interesse e
significato;
• Una BASE DI DATI è una collezione di dati
utilizzati per rappresentare informazioni di
interesse per il sistema.
Ing. M.Paolizzi
MS Access
3
DBMS
• Database Management System
• Un sistema di gestione di basi di dati è un sistema
software in grado di gestire collezioni di dati
– grandi
– condivise
– persistenti
Garantendo
– affidabilità
– privacy
• Una base di dati può essere definita come una
collezione di dati gestita da DBMS.
Ing. M.Paolizzi
MS Access
4
Caratteristiche dei DB
• Grandi: dimensioni anche enormi: 100GB-1TB e comunque
molto più grandi della quantità di memoria di sistema
disponibile;
• Condivise: applicazioni ed utenti diversi devono poter
opportunamente accedere a dati comuni. Per garantire
l’accesso condiviso da parte di molti utenti
contemporaneamente il DBMS opera un controllo di
concorrenza;
• Persistenti: deve essere garantita la esistenza permanente
di dati;
• Affidabili: deve essere garantite la integrità e la
disponibilità dei dati;
• Privatezza dei dati: le azioni eseguibili sui dati dipendono da
autorizzazioni.
Ing. M.Paolizzi
MS Access
5
Modello relazionale
• Un modello di dati è un insieme di concetti
utilizzati per organizzare i dati di interesse e
descriverne la struttura in modo comprensibile per
un elaboratore;
• Un modello relazionale prevede una organizzazione
dei dati basata sul concetto di relazione;
• Una relazione viene rappresentata attraverso
tabelle le cui righe rappresentano i record;
• La maggior parte delle basi di dati si fonda sul
modello relazionale;
• Una base di dati relazionale è costituita da
relazioni e tabelle.
Ing. M.Paolizzi
MS Access
6
Base di dati relazionale
Matricola
cognome
nome
Anno_nascit
a
1962447
Pallino
Pinco
01/01/1973
record
1962468
Rossi
Maria
02/02/1972
campi
1962578
La Moto
Guido
14/07/1974
STUDENTI
ESAMI
CORSI
Ing. M.Paolizzi
MS Access
studente
corso
votazione
1962468
03
30
1962578
Id_corso
02
titolo
27
docente
01
Diritto1
Bianchi
02
Diritto2
Verdi
03
Economia
Viola
04
Informatica
Rosa
7
Database relazionali
• I dati in un database
relazionale sono organizzati
in tabelle;
Matricola
• Ogni tabella è formata da
record, a loro volta
organizzati in campi (colonne) 1962447
– Il campo è un’area destinata a
ricevere un tipo specifico di dati
e contiene un unico dato
cognome
nome
Anno_nascit
a
Pallino
Pinco
01/01/1973
1962468
Rossi
Maria
02/02/1972
1962578
La Moto
Guido
14/07/1974
• Un record è una collezione di
campi che definisce una
informazione;
• Una tabella è una collezione
di record;
Ing. M.Paolizzi
MS Access
8
Database relazionali
• Nei database relazionali i dati vengono organizzati in base all’argomento
all’interno di tabelle separate, che sono però collegate da relazioni.
• I dati non devono essere ripetuti in più tabelle, con l’eccezione dei campi di
correlazione.
• Alcuni vantaggi offerti da questo metodo sono:
– Efficienza: Non è necessario memorizzare informazioni ridondanti, ad esempio
il nome o l’indirizzo di un cliente, in ogni ordine inviato dal cliente.
– Semplicità: Le operazioni di aggiornamento, eliminazione ed estensione dei
dati sono più facili in un database ben strutturato che non contiene duplicati.
– Precisione: Non dovendo ripetere più volte le stesse informazioni, le possibilità
di errore sono limitate. Un dato immesso correttamente una volta, risulterà
corretto dappertutto.
– Integrità dei dati: È possibile aggiungere o rimuovere campi o record in tabelle
univoche senza alterare la struttura dei dati e senza dover riprogettare il
database.
• La separazione dei dati consente di proteggere la struttura originale. Durante
la pianificazione delle tabelle è importante riflettere sulle varie alternative
esistenti per la strutturazione dei dati, in modo da individuare il metodo
migliore per semplificare le operazioni di immissione e gestione.
Ing. M.Paolizzi
MS Access
9
Progettare il DB
• Durante la preparazione degli schemi delle tabelle da
creare è molto importante analizzare le relazioni esistenti
tra i dati e verificare che non siano presenti duplicati.
• Di seguito sono elencate alcune domande da porsi per migliorare la
struttura dei dati:
– Ogni record è univoco?
– Esistono record ripetuti in altre tabelle?
– Esistono dettagli, o gruppi di dettagli, ripetuti in più record o tabelle?
– È possibile modificare con facilità un record senza modificare un altro record?
– Ogni record contiene tutti i dettagli relativi al record stesso?
– Ogni record contiene solo i dettagli relativi al record stesso e riguardanti in modo
specifico il relativo argomento?
– Esistono campi dipendenti da altri campi della tabella?
• Se la struttura definita per le tabelle e le relazioni non è
ottimale si possono verificare problemi quali la perdita di
dati, la necessità di aggiornare i dati in più posizioni o
l’impossibilità di aggiungere nuovi dati.
Ing. M.Paolizzi
MS Access
10
Record
• Il record contiene informazioni relative ad un
soggetto (Es., Studente Universitario);
• Ogni soggetto deve essere descritto da
caratteristiche, chiamate attributi, che lo
differenziano dagli altri (Es., Nome, Cognome);
• Gli attributi determinano i campi del record.
Ing. M.Paolizzi
MS Access
11
Campi
• Il campo ha una serie di proprietà:
– il tipo determina quali dati possono essere inseriti e
che tipo di operazioni si possono eseguire :
9 testo
9 numero
9 data
9 booleano
– la lunghezza determina la quantità di memoria
riservata;
–…
Ing. M.Paolizzi
MS Access
12
Modello ER
• Modello Entità Relazione;
• Le ENTITA’ sono classi di oggetti che godono di alcune proprietà comuni
ed hanno una esistenza propria ai fini della applicazione di interesse.
– ES: STUDENTI, CORSI, DOCENTI
– Si rappresentano graficamente con un rettangolo:
• Una RELAZIONE è un legame logico tra entità:
– ES. frequenta è la relazione tra le entità STUDENTI e CORSI
– ES. insegna è la relazione tra le entità DOCENTI E CORSI
– Si rappresentano graficamente con un rombo:
– Le relazioni possono essere
9 uno-a-uno
9 uno-a-molti
9 molti-a-molti
Ing. M.Paolizzi
MS Access
13
Modello ER
• Gli ATTRIBUTI sono le proprietà elementari di
una entità;
• Un attributo associa a ciascuna occorrenza di
una entità un valore appartenente ad un dato
dominio (campo del record);
• Si rappresentano graficamente con il simbolo:
ES. gli attributi della entità STUDENTE sono:
matricola, nome, cognome, anno di nascita
• Anche le relazioni possono avere attributi.
Ing. M.Paolizzi
MS Access
14
ESEMPIO DI DIAGRAMMA ER
data
matricola
codice
voto
nome
cognome
data di nascita
Ing. M.Paolizzi
MS Access
STUDENTE
esame
CORSO
denominazione
15
Cardinalità
• Cardinalità delle relazioni:
– numero massimo e minimo di occorrenze di relazione
cui una occorrenza di entità può partecipare;
– Specificata per ciascuna partecipazione di una entità
ad una relazione;
• Cardinalità degli attributi:
– Numero massimo e minimo di valori dell’attributo
associati ad ogni occorrenza di entità o relazione;
Ing. M.Paolizzi
MS Access
16
Chiavi
• Una chiave è un insieme di attributi che identifica univocamente un
record (ovvero una riga della tabella);
• Ogni relazione ha sicuramente una chiave (al limite costituita da
tutti gli attributi);
• La presenza della chiave garantisce che il valori del db siano
accessibili e identificabili;
• La presenza di chiavi in più tabelle consente di stabilire relazioni tra
tabelle;
• Occorre prevedere per ogni tabella un attributo ID che costituisca
una CHIAVE PRIMARIA (priva di valori nulli) per identificare in
modo univoco il record cui si riferisce:
– ES. l’attributo matricola è una chiave primaria per la tabella STUDENTI
• In quasi tutti i casi reali è possibile trovare attributi i cui valori sono
identificanti e sempre disponibili. Quando ciò non si verifica è
necessario introdurre un apposito attributo aggiuntivo che funga da
chiave (ID).
Ing. M.Paolizzi
MS Access
17
Indici
• Un INDICE è un attributo utilizzato dal DBMS per
localizzare rapidamente il record cui corrisponde;
• Normalmente in una tabella le ricerche dei dati
avvengono in base alla CHIAVE PRIMARIA;
• E’ possibile utilizzare altri campi come INDICI se
si pensa di usarli spesso per le interrogazioni;
• Un INDICE rende più rapide le operazioni di
ricerca e ordinamento sul campo indicizzato;
• L’uso di indici rende più complesso il db (tabelle
nascoste), richiede maggiori risorse e rallenta
alcune operazioni;
Ing. M.Paolizzi
MS Access
18
Query
• Sono delle interrogazioni rivolte alla base di dati;
• Sono finalizzate a:
– estrarre un sottoinsieme di dati da una tabella
– estrarre una relazione
– estrarre dati o relazioni che soddisfano specifiche condizioni
• Sono espresse in forma dichiarativa ossia esplicitando
l’obiettivo della interrogazione e non il modo di
ottenerlo;
• ESEMPI:
– Estrarre tutti gli studenti nati prima o dopo di una certa data
– Estrarre tutti i film di genere western
– Estrarre tutte le spese superiori a 1000€
Ing. M.Paolizzi
MS Access
19
SQL
• Structured Query Language;
• E’ un linguaggio standard per basi di dati che
consente di:
– Definire la struttura (schema) del db:
9 Data Definition Language (DDL)
– Modificare o interrogare la base dati:
9 Data Manipulation Language (DML) e Data Query Language
(DQL)
Ing. M.Paolizzi
MS Access
20
SQL DDL
• Come DDL l’SQL consente di:
– Definire uno schema di basi di dati
– Definire le tabelle con i loro attributi
– Modificare le tabelle
ES: creazione di una tabella
CREATE dipartimento
Codice
int
Nome
char (20)
primary key
Indirizzo char (20)
Ing. M.Paolizzi
MS Access
21
SQL DML e DQL
• Come DML l’SQL consente di:
– Estrarre record da una o più tabelle
9 SELECT titolo, anno, genere FROM film
– Modificare e aggiornare i valori dei campi di un record di una
tabella
9 UPDATE film SET anno=1966 WHERE titolo=‘il buono, il brutto, il cattivo’
– Inserire i valori dei campi di un nuovo record
9 INSERT INTO film (titolo, anno, genere) VALUES (‘dune’,1984,’fantastico’)
– Cancellare uno o più record di una tabella
9 DELETE from film WHERE titolo=‘ivanhoe’
Ing. M.Paolizzi
MS Access
22
DBMS
• Esistono numerosi DBMS sia commerciali che
open source:
– Oracle
– MS SQL Server
– PostgreSQL
– MySQL
– Firebird
– Access
Ing. M.Paolizzi
MS Access
23
Introduzione a MS ACCESS
• ACCESS (2003) è una APPLICAZIONE ed in quanto
tale segue il consueto ciclo di vita delle
applicazioni:
– Installazione
– Esecuzione
– Chiusura
– Disinstallazione
• I File su cui opera ACCESS sono tipicamente
database .mdb, per cui su di essi sono valide le
consuete operazioni sui file: creazione, modifica,
apertura e salvataggio.
Ing. M.Paolizzi
MS Access
24
MS ACCESS (2003)
• Può essere utilizzato in due modalità:
– DBMS autonomo su PC
– Interfaccia verso altri sistemi
• Come DBMS autonomo
– Risente dei limiti architetturali del PC
– Offre un supporto transazionale limitato
– Protezione dati semplice
– Gestione della concorrenza limitata
Ing. M.Paolizzi
MS Access
25
MS ACCESS
• Gestisce tutte le informazioni in un unico file di
database all’interno del quale si trovano:
– Tabelle per la memorizzazione dei dati
– Query per la ricerca e la estrazione di dati
– Maschere per la visualizzazione, l’inserimento e
l’aggiornamento dei dati contenuti nelle tabelle
– Report per la analisi e la stampa di dati con layout
definiti dall’utente
Ing. M.Paolizzi
MS Access
26
Avviare ACCESS 2003
• Avvio tradizionale:
– START->PROGRAMMI->MS OFFICE->MS ACCESS 2003
– Click su icona di avvio
– Doppio click su db esistente
– Avvio da START->ESEGUI->msaccess
Ing. M.Paolizzi
MS Access
27
Avviare ACCESS 2007
• dal pulsante START selezionare TUTTI
I PROGRAMMI, quindi MS OFFICE ed
infine MS ACCESS 2007;
• click su icona di collegamento;
• doppio click su db esistente;
• avvio da START->ESEGUI->msaccess.
Ing. M.Paolizzi
MS Access
28
L’ interfaccia di ACCESS 2003
• All’avvio Access mostra una
finestra con:
– Barra del titolo
– Barra dei menu
– Barra degli strumenti
– Riquadro attività
Ing. M.Paolizzi
MS Access
29
L’ interfaccia di ACCESS 2007
• Interfaccia Office FLUENT
– Pulsante Office
– Barra di accesso rapido
– Barra multifunzione
– Barra di stato
Ing. M.Paolizzi
MS Access
30
Chiudere Access 2003
• Dalla barra menu selezionare FILE->ESCI
• Dal pulsante di controllo CHIUDI
• Combinazione di tasti ALT + F4
Ing. M.Paolizzi
MS Access
31
Chiudere Access 2007
• Dal pulsante OFFICE->ESCI DA ACCESS
• Dal pulsante di controllo CHIUDI
• Combinazione di tasti ALT + F4
Ing. M.Paolizzi
MS Access
32
Prima di creare un DB
• È necessario definire:
– lo scopo del DB
– gli utenti cui si rivolge
– i dati che includerà
– le query e i report necessari
– le maschere per la consultazione e la immissione dati
• NB: se i dati sono disponibili in altro formato (es. Excel)
è possibile, dopo aver creato un DB Access, importare o
collegare tali dati in una tabella del nuovo DB.
Ing. M.Paolizzi
MS Access
33
Prima di Creare un DB
• Nella creazione di un database, la parte più
importante e delicata è la PROGETTAZIONE, cioè
– stabilire quali devono essere le tabelle e quali le loro
relazioni
– In genere chi si accosta per la prima volta a un
database è portato a sottovalutare questo punto,. Il
più delle volte ciò porta a buttar via tutto quello che si
è fatto e ricominciare dall'inizio
• Anche se ACCESS fornisce creazioni guidate di
un database, è raro che possano soddisfare
completamente le esigenze personali.
Ing. M.Paolizzi
MS Access
34
Operazioni su un DB Access
• Un DB di Access è un file ed in quanto tale è
soggetto alle seguenti operazioni:
– Apertura di un DB esistente
– Chiusura di un DB esistente
– Creazione di un nuovo DB
– Salvataggio di un DB
Ing. M.Paolizzi
MS Access
35
Formato dei file
• Formato database (db) proprietario
• Ms Access 2003: .mdb
• Ms Access 2007: .accdb
• I formati 2003 e 2007 non sono direttamente
compatibili:
– Il formato .accdb implementa una serie di nuove
caratteristiche:
9 Campi di ricerca multivalore
9 Tipo di dati allegato
• Per mantenere la compatibilità occorre salvare il
db come “database di Access 2002-2003”
Ing. M.Paolizzi
MS Access
36
Oggetti del database
• Tabelle: elemento fondamentale che contiene dati;
• Query: interrogazione che permette di eseguire ricerche ed
estrarre dati dalle tabelle in base a criteri stabiliti
dall’utente;
• Maschere: interfaccia grafica che agevola la manipolazione
(inserimento, modifica, visualizzazione dei dati)
• Report: layout di presentazione di determinati sottoinsiemi
di dati;
• Pagine: oggetti che consentono di creare pagine di accesso ai dati;
• Macro: oggetti che consentono di automatizzare alcune sequenze di
operazioni;
• Moduli: oggetti che consentono di programmare alcune funzioni;
Ing. M.Paolizzi
MS Access
37
Oggetti del database (2003)
• Access presenta una finestra attraverso la quale
gestire i seguenti oggetti:
– Tabelle
– Query
– Maschere
– Report
– Pagine di accesso
– Macro
– Moduli
• Per ciascun oggetto è possibile definire la
STRUTTURA
Ing. M.Paolizzi
MS Access
38
Oggetti del database (2007)
• Il punto di gestione degli
oggetti è il
– riquadro di spostamento
• Gli oggetti del DB vengono
visualizzati come schede
nell’area principale
Ing. M.Paolizzi
MS Access
39
La guida in linea
• In caso di dubbi o per avere informazioni su
operazioni e procedure è possibile invocare la
guida in linea:
– Selezionare dalla barra menu
– Premere F1
Ing. M.Paolizzi
MS Access
40
Creare un DB (2003)
• Si può partire da:
– un DB vuoto
– da un modello predefinito
– creazione guidata database
• Ad ogni database Access corrisponde un file con
estensione standard .mdb .
• Per creare un nuovo DB:
– menu FILE->NUOVO
– pulsante (nuovo)
– dal riquadro attività
• Particolarità: in Access è necessario salvare il file prima
di lavorarci;
Ing. M.Paolizzi
MS Access
41
Creazione nuovo DB (2003)
• Dalla barra menu FILE->NUOVO
• Dalla barra strumenti
• Dal riquadro attività : DATABASE VUOTO
Ing. M.Paolizzi
MS Access
42
Creare un nuovo DB (2007)
• Per creare un nuovo db in MS Access 2007 si può
partire da:
– un DB vuoto;
– un modello predefinito locale o on line;
• e la procedura si avvia, in ogni caso, in uno dei
seguenti modi:
– premendo il pulsante Office e selezionando la voce
NUOVO;
– direttamente dalla finestra di introduzione a Microsoft
Office Access visualizzata all’avvio del programma.
Ing. M.Paolizzi
MS Access
43
Creazione DB da un modello
• Consente di:
– selezionare il modello desiderato tra quelli predefiniti
– personalizzarlo in una certa misura
• In base a quanto specificato la procedura crea
un gruppo di tabelle, query, maschere e report
per il DB;
• Le tabelle create non includono dati;
• Questo metodo è preferibile se uno dei modelli
predefiniti ha caratteristiche simili ai risultati
che si desidera ottenere;
• E’ il metodo più semplice ma consente una
scarsa personalizzazione.
Ing. M.Paolizzi
MS Access
44
Finestra Introduzione a MS Access 2007
• Agevola l’utente
– Nella creazione di un nuovo
db
9 Da DB vuoto
9 Da modello locale
9 Da modello online
– Nella apertura di un db
esistente
Ing. M.Paolizzi
MS Access
45
Salvare un DB (2003)
• Access chiede di salvare con nome il database
già al momento della creazione;
• E’ sempre possibile utilizzare:
– Menu FILE -> SALVA e FILE -> SALVA CON NOME
– Barra strumenti
Ing. M.Paolizzi
MS Access
46
Operare sugli oggetti (2003)
• Gli oggetti del DB sono: tabelle, query,
maschere, report, pagine, macro e moduli
• E’ possibile visualizzarli e manipolarli attraverso
– Barra dei menu VISUALIZZA->OGGETTI DATABASE
– Finestra OGGETTI del database (ulteriore finestra
all’interno di quella del file)
Ing. M.Paolizzi
MS Access
47
VISUALIZZAZIONI
• Per ogni oggetto ACCESS fornisce varie
visualizzazioni ciascuna adatta ad un determinato
tipo di utilizzo:
oggetto
Ing. M.Paolizzi
MS Access
visualizzazioni
TABELLE
Struttura
Foglio dati
QUERY
Struttura
Foglio dati
SQL
MASCHERE
Struttura
Foglio dati
layout
REPORT
Struttura
48
Operazioni sulle tabelle
• Creare una tabella
• Specificare i campi con i rispettivi tipi di dati
• Salvare una tabella
• Inserire ed eliminare record in una tabella
• Aggiungere campi ad una tabella
• Eliminare dati da un record
• Navigare una tabella
• Cancellare una tabella
Ing. M.Paolizzi
MS Access
49
Creazione di un DB – Tabelle (2003)
• Per creare una tabella si
può:
– Sfruttare la CREAZIONE
GUIDATA (per situazioni
standard)
– Creare la struttura “ a
mano” mediante
VISUALIZZAZIONE
STRUTTURA
– Creare la tabella
immettendo direttamente i
dati mediante IMMISSIONE
DATI
Ing. M.Paolizzi
MS Access
50
Creazione di un DB- Tabelle (2007)
• fare riferimento ai pulsanti del gruppo TABELLE
situato nella scheda CREA della barra
multifunzione;
• E’ possibile creare una tabella in tre modi:
– sfruttando la CREAZIONE GUIDATA (per situazioni
standard);
– creando la struttura “a mano” mediante
VISUALIZZAZIONE STRUTTURA;
– creando la tabella immettendo direttamente i dati
mediante IMMISSIONE DATI.
Ing. M.Paolizzi
MS Access
51
ESEMPIO: MAGAZZINO MERCI
• Consideriamo un DB per
gestire un magazzino
• Occorrono almeno due
tabelle :
– MERCI
Id_merc
e
descrizione
colli
produttore
costo_unitari
o
000009
Tonno in
scatola
100
01
0,36
000002
Barra
cioccolato
26
12
0,87
000178
Biscotti
78
18
1,15
– PRODUTTORI
Id_produttore
denominazion
e
indirizzo
Città
PI
000001
Sardine&tonni
Via del
Luccio
Roma
0001010134
5
000002
Dolci&amari
Piazza
Garibaldi
Milano
0909090965
4
000003
Panifici riuniti
Via dell’Olio
Albano
0090387232
4
Ing. M.Paolizzi
MS Access
52
Creazione della tabella (2003)
• Selezionare “CREARE TABELLA IN
VISUALIZZAZIONE STRUTTURA”;
• Si apre una finestra in cui specificare gli
attributi della tabella ed il tipo di dati
corrispondente
• I tipi di dato sono:
– Testo: testo, numeri e simboli fino a 255
caratteri
– Memo: testo senza limiti di caratteri
– Numerico: solo numeri
– Data e ora: data e secondo diversi formati
– Valuta: numeri in formato valuta
– Contatore: numero progressivo incrementato
automaticamente
– Si /no: valori booleani
– Oggetto OLE: collegamento a file o altro DB
– Ricerca guidata: elenchi personalizzati
• Salvare sempre l’oggetto creato.
Ing. M.Paolizzi
MS Access
53
Creare una tabella (2007)
• Scheda CREA
– Gruppo TABELLE
• Scheda FOGLIO DATI
– Gruppo campi e colonne
• Riconoscimento automatico del tipo di dato o
selezione manuale del tipo
Ing. M.Paolizzi
MS Access
54
Indicazione chiave primaria
• La chiave primaria è necessaria per:
– identificare univocamente un record
– correlare record di tabelle diverse
• Per introdurre la chiave primaria si
fa click destro sulla riga
dell’attributo designato;
• Si seleziona CHIAVE PRIMARIA;
• Appare il simbolo della chiave;
• Se non specifica esplicitamente la
chiave primaria, Access chiede di
definirne una all’atto della chiusura
della tabella.
Ing. M.Paolizzi
MS Access
55
Proprietà del campo
• Nella parte inferiore della finestra
di dialogo attiva vi è l’area
relativa alle proprietà del campo
con due schede: GENERALE E
RICERCA;
• Su GENERALE si possono stabilire
alcune proprietà specifiche per la
tipologia di dato;
• Su RICERCA vi è solo la possibilità
di selezionare il controllo con cui
il campo sarà visualizzato in una
maschera.
Ing. M.Paolizzi
MS Access
56
Proprietà generali
• Dimensione del campo: numero max di caratteri digitabili nel
campo;
• Formato: layout di visualizzazione del campo;
• Maschera di input: formato per i dati che verranno immessi;
• Etichetta: nome con cui si vuole venga visualizzato il campo;
• Valore predefinito: valore immesso di default;
• Valido se: condizioni per accettare la immissione;
• Messaggio di errore: messaggio visualizzato in caso di
inserimento non valido;
• Richiesto: specifica se il campo è obbligatorio o può essere lasciato
vuoto;
• Consenti lunghezza zero: specifica se sono ammesse stringhe di
lunghezza zero;
• Indicizzato: viene creato un indice per velocizzare le ricerche.
Ing. M.Paolizzi
MS Access
57
Dimensioni dei campi
• La dimensione di un campo corrisponde al
numero di byte utilizzati dal programma per
rappresentare in memoria quel campo;
• E’ possibile modificare le dimensioni di un
campo a tabella esistente:
– aumentare la dimensione di un campo non crea
problemi
– ridurre la dimensione di un campo può provocare un
troncamento con perdita di dati
Ing. M.Paolizzi
MS Access
58
Creazione della tabella
• Chiudere la tabella;
• Attribuire il nome
MERCI;
• Premere ok;
• La tabella creata figura
nella finestra degli
oggetti TABELLE;
Ing. M.Paolizzi
MS Access
59
ESEMPIO: MAGAZZINO MERCI
• In modo analogo creiamo la
tabella PRODUTTORE;
• Ottenendo le due tabelle
nella finestra degli oggetti;
Ing. M.Paolizzi
MS Access
60
Anatomia di una tabella
• La tabella è dove il
database archivia le
informazioni;
• Tutti gli altri oggetti
(query, maschere,
report, macro) sono
mezzi per analizzare e
manipolare il
contenuto delle
tabelle;
Ing. M.Paolizzi
MS Access
61
Operazioni sui record
• Inserimento
• Modifica
• cancellazione
Selettore di record
Record corrente
Barra di navigazione
Record
precedente/
successivo
Numero di
record
corrente
Crea nuovo
record
Ing. M.Paolizzi
MS Access
62
Inserimento record
• Dalla finestra delle tabelle fare doppio click sul
nome della tabella;
• Si aprirà la finestra della stessa tabella;
Riga attiva
• Per inserire i record basta cliccare su
posizionarsi sui campi e digitare nei vari campi;
Riga sotto modifica
Nuova riga
Ing. M.Paolizzi
MS Access
63
Modifica record
• Per inserire o modificare dati in una tabella è
necessario preliminarmente aprire la tabella
come FOGLIO DATI;
• Posizionare il cursore nel campo che si vuole
modificare;
• Click sinistro;
• Modificare il contenuto del campo.
Ing. M.Paolizzi
MS Access
64
Cancellazione record
• Posizionare il cursore sul selettore del record
che si vuole cancellare;
• Premere tasto destro del mouse;
• Selezionare ELIMINA RECORD;
• Naturalmente è possibile selezionare più record.
Ing. M.Paolizzi
MS Access
65
Esempio: archivio film
• Per iniziare ad inserire film
possiamo:
– inserire le singole righe nella
tabella
– utilizzare una maschera
Ing. M.Paolizzi
MS Access
66
Le Relazioni
• Per creare o cancellare una relazione
tra tabelle:
– Chiudere tutte le tabelle
– Selezionare STRUMENTI ->RELAZIONI
• Per creare una tabella:
– Selezionare le tabelle tra cui stabilire
relazioni (finestra MOSTRA TABELLA)
– Trascinare il campo chiave primaria di una
tabella nel campo dell’altra tabella da
porre in relazione
• Per cancellare una relazione:
– Selezionare la linea che rappresenta la
relazione
– Premere CANC
Ing. M.Paolizzi
MS Access
67
Le Query
• Una query richiede dati al database;
• Nella sua forma più semplice, una query recupera tutti i
dati da un'unica tabella;
• Creando query più complesse e specifiche, è possibile
raccogliere esattamente i dati desiderati come descritto
di seguito:
– Inclusione o esclusione di righe
– Inclusione o esclusione di colonne
– Combinazione di tabelle
– Compressione di gruppi di righe
– Ordinamento di righe
– Etc.
Ing. M.Paolizzi
MS Access
68
Le Query
• Access mette a disposizione
due diversi strumenti per la
creazione delle interrogazioni:
– Uno strumento grafico che
permette di costruire la query
sulla base del risultato desiderato
(CREAZIONE GUIDATA QUERY)
– Un interprete SQL (STRUTTURA)
• Dalla finestra degli oggetti
selezionare QUERY;
• E poi CREA UNA QUERY
MEDIANTE UNA CREAZIONE
GUIDATA.
Ing. M.Paolizzi
MS Access
69
Creare una Query (2003) - 1
• La creazione guidata
permette di creare
query semplici:
– Una query semplice
estrae i valori di
determinati campi da
determinate tabelle
• Selezionare la tabella;
• Selezionare i campi;
• Premere avanti;
Ing. M.Paolizzi
MS Access
70
Creare una Query (2003) - 2
• Selezionare DETTAGLIO
• Premere AVANTI
• Assegnare un nome alla
query
• Selezionare la APRIRE
LA QUERY
• Premere FINE
Ing. M.Paolizzi
MS Access
71
Creare una Query (2003) - 3
• A conclusione della procedura guidata viene
visualizzato in forma tabellare (non si tratta di
una TABELLA) il risultato della query;
• Ossia vengono visualizzati i record che
corrispondono alla interrogazione
Ing. M.Paolizzi
MS Access
72
Creare una Query (2003) - 4
• Una query può essere definita in
VISUALIZZAZIONE STRUTTURA;
• In questo modo si ha un maggior
grado di personalizzazione;
• Quando si crea una query in
VISUALIZZAZIONE STRUTTURA
Access crea l’equivalente SQL in
VISUALIZZAZIONE SQL;
• Fare click su VISUALIZZAZIONE
STRUTTURA;
• Aggiungere le tabelle coinvolte.
Ing. M.Paolizzi
MS Access
73
Creare una Query (2003) - 5
Tabelle sui cui eseguire la
interrogazione
Campi da cui estrarre valori
Tabella cui appartiene il campo
Ordinamento di presentazione
Condizioni che i valori dei campi
devono soddisfare
Ing. M.Paolizzi
MS Access
74
Creare una Query (2003) - 6
• Chiudere la
visualizzazione;
• Inserire il nome della
query;
• Dalla finestra degli
oggetti facciamo
doppio click sx sulla
nuova query;
• Appariranno in forma
tabellare i risultati ( i
film di genere
western ordinati
cronologicamente).
Ing. M.Paolizzi
MS Access
75
Query con parametri
• Spesso è utile eseguire una
query sulla base di un valore
inserito di volta in volta
dall’utente (PARAMETRO)
Ad esempio, anziché visualizzare tutti i
film con genere=‘western’ si vogliono
visualizzare tutti film di
• Aprire la query in
VISUALIZZAZIONE
STRUTTURA
genere= valore inserito da utente
• In corrispondenza del campo
opportuno, alla voce CRITERI
inserire la richiesta parametro
tra parentesi quadre [ ]
• Quando si eseguirà la query
verrà richiesto il parametro
romantico
Ing. M.Paolizzi
MS Access
76
Visualizzazione SQL
• Menu VISUALIZZA ->
SQL oppure click
destro sull’area
tabelle e poi
VISUALIZZAZIONE
SQL;
• Si apre la
visualizzazione SQL;
• E’ possibile modificare
l’SQL digitando nella
finestra;
Ing. M.Paolizzi
MS Access
77
Tipi di Query
• Le query consentono di visualizzare, modificare e
analizzare i dati in modi diversi;
• È inoltre possibile utilizzarle come origini record
per maschere, report e pagine di accesso ai dati ;
• In Microsoft Access sono disponibili diversi tipi di
query:
– Query di selezione
– Query con parametri
– Query a campi incrociati
– Query di comando
– Query SQL
Ing. M.Paolizzi
MS Access
78
Query di selezione
• E’ il tipo più comune di query;
• Recupera i dati provenienti da una o più tabelle
e visualizza i risultati in un foglio dati nel quale,
con alcune limitazioni, è possibile aggiornare i
record;
• Una query di selezione consente inoltre di
raggruppare dei record e calcolare somme,
medie, conteggi e altri tipi di totali.
Ing. M.Paolizzi
MS Access
79
Query con parametri
• Query che, durante l'esecuzione, visualizza una
finestra di dialogo che richiede informazioni;
• Ad esempio richiede di specificare i criteri per il
recupero di record o di immettere il valore da
inserire in un campo;
• È possibile strutturare la query in modo che
vengano richieste più informazioni, ad esempio
due date se si desiderano recuperare tutti i
record che rientrano in un determinato
intervallo di tempo
Ing. M.Paolizzi
MS Access
80
Query a campi incrociati
• Consentono di calcolare e di ristrutturare i dati
per semplificarne l'analisi;
• Questo tipo di query consente di eseguire una
somma, una media, un conteggio o qualsiasi
altro tipo di totale sui dati raggruppati in base a
due tipi di informazioni, uno nella parte inferiore
sinistra del foglio dati e l'altro nella parte
superiore;
Ing. M.Paolizzi
MS Access
81
Query di comando
• Una query di comando consente di apportare modifiche o di spostare
molti record con una sola operazione. Sono disponibili quattro tipi di
query di comando:
– Query di eliminazione: elimina un gruppo di record da una o più tabelle. È
possibile, ad esempio, utilizzare una query di eliminazione per rimuovere i
prodotti di cui è stata interrotta la produzione o per i quali non esistono
ordini. Con le query di eliminazione vengono eliminati sempre record
interi, non solo determinati campi al loro interno.
– Query di aggiornamento: apporta modifiche globali a un gruppo di record
di una o più tabelle. Con una query di aggiornamento è possibile
modificare i dati di tabelle esistenti.
– Query di accodamento : aggiunge un gruppo di record di una o più tabelle
alla fine di una o più tabelle. Si supponga, ad esempio, che vengano
acquisiti nuovi clienti e un database contenente una tabella di
informazioni relative a tali clienti. Anziché digitare nuovamente tutte le
informazioni, è possibile accodarle alla propria tabella Clienti.
– Query di creazione tabella: crea una nuova tabella in base a tutti i dati o
parte dei dati contenuti in una o più tabelle.
Ing. M.Paolizzi
MS Access
82
Query SQL
• Questo tipo di query viene creato tramite
un'istruzione SQL
– Il linguaggio SQL (Structured Query Language)
consente di eseguire ricerche, aggiornare e gestire
database relazionali,
• Quando si crea una query in VISUALIZZAZIONE
STRUTTURA della query, vengono costruite
parallelamente le istruzioni SQL equivalenti
– è possibile visualizzare o modificare l'istruzione SQL
in VISUALIZZAZIONE SQL
Ing. M.Paolizzi
MS Access
83
Creare una query in MS Access 2007
• i pulsanti di riferimento sono
– Scheda CREA
– gruppo ALTRO
• Le possibilità sono:
– Creazione guidata query
– Struttura query
Ing. M.Paolizzi
MS Access
84
Le Maschere
• Sono interfacce grafiche costruite ad hoc per
agevolare la manipolazione dei dati;
• Rendono le operazioni più semplici e l’aspetto
grafico più accattivante;
• Permettono di rappresentare il contenuto del
database in modo più chiaro e comprensibile
rispetto alla nuda rappresentazione tabellare;
• Possono essere utilizzate per la visualizzazione,
l’inserimento e la modifica dei dati;
• Possono contenere campi di testo, liste,
checkbox o pulsanti eseguire azioni (lanciare
macro, stampare report).
Ing. M.Paolizzi
MS Access
85
ESEMPIO: archivio film
• Supponiamo di realizzare
un DB per archiviare i
nostri film;
• Una sola tabella: FILM;
• CAMPI:
– Id: contatore (chiave pr.)
– Titolo: testo
– Genere: ricerca automatica
(elenco personalizzato)
– Durata: numerico (minuti)
Ing. M.Paolizzi
MS Access
86
Creare la maschera (2003) - 1
• Dalla finestra oggetti
selezionare MASCHERE
• Selezionare CREA
MASCHERA
ATTRAVERSO UNA
CREAZIONE GUIDATA
Ing. M.Paolizzi
MS Access
87
Creare la maschera(2003) - 2
• Selezionare la tabella su
cui costruire la maschera
(FILM)
• Selezionare i campi della
tabella cui si vuole agire
attraverso la maschera
(TUTTI)
• Premere AVANTI
Ing. M.Paolizzi
MS Access
88
Creare la maschera(2003) - 3
• Selezionare un layout da
applicare alla maschera
• Premere AVANTI
• Inserire il nome per la
maschera
• Premere FINE
Ing. M.Paolizzi
MS Access
89
Modificare la maschera(2003) - 1
• Campi poco
distanziati e
confusamente
posizionati
• Click destro sulla
maschera
• Aprire la maschera
in
VISUALIZZAZIONE
STRUTTURA
Ing. M.Paolizzi
MS Access
• Dimensioni
“disarmoniche”
• Colore “spento”
90
Modificare la maschera(2003) - 2
• Ingrandiamo la finestra per
lavorare comodi
• Modifichiamo la dimensione
dell’area della maschera
trascinando il bordo
inferiore
• Selezioniamo i CONTROLLI
posizionandovi sopra il
cursore e facendo click sx
(apparirà una manina scura)
• Spostiamo i CONTROLLI per
riorganizzare la maschera
Ing. M.Paolizzi
MS Access
91
Modificare la maschera(2003) - 3
• Ridimensioniamo i controlli
– Click sinistro sul controllo
– Appaiono le caselle di
trascinamento
– Agire sulla opportuna casella di
trascinamento
– Il cursore cambierà in una
doppia freccia
– Trascinare fino a raggiungere la
dimensione desiderata
Ing. M.Paolizzi
MS Access
92
Modificare la maschera(2003) - 4
• Modifichiamo i font
– Doppio click sinistro
sulla etichetta
– Si apre la finestra
delle proprietà
– Linguetta FORMATO
– Modificare :
9 COLORE PRIMO PIANO
9 TIPO CARATTERE
9 DIMENSIONE CARATTERE
9 ETC.
Ing. M.Paolizzi
MS Access
93
Modificare la maschera(2003) - 5
• Cambiamo lo sfondo
– Click destro sullo sfondo
(CORPO)
– Selezionare PROPRIETA’
– Linguetta FORMATO
– Modificare COLORE E
SFONDO
Ing. M.Paolizzi
MS Access
94
Creare una maschera (2007)
• utilizzare il pulsante MASCHERA
– Scheda CREA
– gruppo MASCHERE della scheda CREA della barra
• Si può creare una maschera con un solo click del mouse;
• Quando si utilizza questo strumento, tutti i campi
dell'origine dati sottostante vengono inseriti nella
maschera
• La maschera viene creata automaticamente e in
visualizzazione Layout. In tale visualizzazione è
possibile apportare modifiche alla struttura
Ing. M.Paolizzi
MS Access
95
Utilità della maschera
• Possiamo usare la maschera per
– Inserire direttamente un nuovo
record nella tabella
– Modificare un record
– Scorrere i record
• Nell’esempio (una sola tabella)
non è molto utile
• Se il DB fosse composto da molte
tabelle la maschera consentirebbe
di inserire dati in tutte o alcune
con una unica interfaccia
• La maschera può visualizzare
anche i risultati di una query
Ing. M.Paolizzi
MS Access
96
I Report
• I report costituiscono uno strumento efficace per la
presentazione di informazioni in sola lettura;
• Sono visualizzazioni riepilogative dei dati;
• Organizzano i dati secondo criteri stabiliti;
• Sono finalizzati principalmente alla stampa;
• Consentono di formattare i dati;
• Possono riguardare un sottoinsieme dei dati o i risultati
di una Query;
• Rispetto ad altri oggetti Access (foglio dati e maschere)
consentono maggior controllo e maggiore flessibilità.
Ing. M.Paolizzi
MS Access
97
I Report
• Un report consente di organizzare e formattare
informazioni finalizzate ad uno scopo specifico
(tipicamente la stampa);
• Access consente di progettare report che contengono
elementi grafici. Un report può contenere:
– Testo
– Dati
– Immagini
– Linee
– Caselle
– Grafici
• Il tipo, il numero degli elementi e la loro reciproca
disposizione dipendono dalle scelte dell’utente
Ing. M.Paolizzi
MS Access
98
Utilizzo dei Report
• Utilizzare un report quando:
– Si desidera stampare informazioni utilizzate con
regolarità;
– Si desidera stampare informazioni per la distribuzione
ad altri utenti;
– È necessario controllare con precisione
l'organizzazione e l'aspetto delle informazioni
stampate;
– Si desidera raggruppare o riepilogare informazioni da
comunicare ad altri.
Ing. M.Paolizzi
MS Access
99
Dati dei Report
• Le informazioni presentate
nei report possono provenire
da:
– Tabelle
– Query
• Altre informazioni
(intestazioni, titoli, etc.)
possono essere inserite nella
struttura.
Ing. M.Paolizzi
MS Access
100
Creazione di un Report - 1
• Al solito si può utilizzare:
– Visualizzazione struttura
– Creazione guidata
Ing. M.Paolizzi
MS Access
101
Creazione di un Report - 2
• Selezionare la tabella
• Selezionare i campi
• Ripetere per tutte le
tabelle che occorrono
• Premere AVANTI
Ing. M.Paolizzi
MS Access
102
Creazione di un Report - 3
• Stabilire la gerarchia
dei campi (ordine di
raggruppamento)
• Indicare le priorità
desiderate
• Premere AVANTI
Ing. M.Paolizzi
MS Access
103
Creazione di un Report - 5
• Stabilire i criteri di
ordinamento con cui
appariranno i record
– Selezionare il campo
– Specificare il tipo di
ordinamento
• Premere AVANTI
Ing. M.Paolizzi
MS Access
104
Creazione di un report - 6
• Scegliere il layout
• Scegliere l’orientamento
• Premere AVANTI
Ing. M.Paolizzi
MS Access
105
Creare un report - 7
• Scegliere lo stile
• Premere AVANTI
Ing. M.Paolizzi
MS Access
106
Creazione di un Report - 7
• Attribuire un nome al
report
• Selezionare
VISUALIZZA
ANTEPRIMA
• Premere FINE
Ing. M.Paolizzi
MS Access
107
Creazione di un Report - 8
Ing. M.Paolizzi
MS Access
108
Modificare la struttura del Report
• Aprire il record in
VISUALIZZAZIONE
STRUTTURA;
• La struttura consta di
5 sezioni:
– Intestazione report
– Intestazione pagina
– Corpo
– Piè di pagina pagina
– Piè di pagina report
• Per ciascuna sezione
sono editabili le
proprietà: click
destro sull’oggetto.
Ing. M.Paolizzi
MS Access
109
Preparazione della stampa
• Tipicamente l’oggetto deputato ad essere stampato è il
REPORT;
• Access consente, tuttavia, di stampare tabelle, query e
maschere;
• E’ per tali oggetti è disponibile la funzione di ANTEPRIMA
DI STAMPA quando:
– La Tabella selezionata è chiusa oppure è aperta in visualizzazione
foglio dati
– La Query selezionata è chiusa o aperta in visualizzazione foglio dati
– Il Report selezionato è chiuso o aperto in visualizzazione struttura
– La maschera selezionata è chiusa o aperta in una delle tre modalità
Visualizzazione struttura, maschera, foglio dati.
• Per accedere alle opzioni e alle funzioni di stampa
selezionare il menu FILE->STAMPA.
Ing. M.Paolizzi
MS Access
110
Pagine di accesso ai dati
• Pagine WEB pubblicate da Access e connesse ad
un DB;
• Consentono di :
– visualizzare i dati archiviati nel DB
– inserire dati
– modificare i dati esistenti
– manipolare i dati esistenti
• Possono includere anche origini dati differenti
da Access (es. Excel);
• Si creano analogamente agli altri oggetti.
Ing. M.Paolizzi
MS Access
111
Forme normali
• Normalizzazione: insieme delle attività progettuali
mirate alla struttura delle tabelle e alle relazioni tra di
esse al fine di evitare duplicazione dei dati e inefficienze
• Vantaggi:
– Minore occupazione dello spazio di archiviazione
– Maggiore efficienza nelle transazioni (gestione di singole tabelle
di minor dimensione)
– Maggiore affidabilità
– Maggiore sicurezza
• Le principali forme normali sono TRE
Ing. M.Paolizzi
MS Access
112
Prima forma normale
• Se una tabella contiene più campi dello stesso tipo,
allora è meglio spostare tali campi in una tabella
dedicata
Esempio:
Id_film
Titolo
genere
ann
o
Attore
1
Attore
2
Attore
3
• Non si possono inserire più di tre attori
• Se gli attori sono meno di tre si ha spreco di spazio
Ing. M.Paolizzi
MS Access
113
Seconda forma normale
• Richiede che sia stata già applicata la prima
• Se un campo deve contenere valori multipli è meglio
enuclearlo in una tabella separata collegata da un
identificatore
Id_film
Ing. M.Paolizzi
MS Access
Titolo
genere
anno
Id_gener
e
genere
114
Terza forma normale
• Richiede che sia stata applicata la seconda
• Se all’interno di una tabella alcuni campi
dipendono da altri (diversi dalla chiave) è
meglio spostarli in un tabella dedicata e
collegata dal campo di dipendenza
• ESEMPIO: Città, cap, provincia
Ing. M.Paolizzi
MS Access
115
• Esercizio…esercizio…esercizio!!!!
FINE
Ing. M.Paolizzi
MS Access
116