Database - Sistemi di Elaborazione delle Informazioni

Introduzione ai
Database
ea
Microsoft Access
1
Il Sistema Informativo aziendale
Un Sistema Informativo aziendale è
costituito:
dall'insieme delle informazioni utilizzate,
prodotte e trasformate da un'azienda durante
l'esecuzione dei processi aziendali;
dalle modalità in cui esse sono gestite e dalle
risorse, sia umane, sia tecnologiche, coinvolte
Il sistema informativo può sfruttare i
vantaggi offerti dal Sistema Informatico
2
Il Sistema Informatico aziendale
Il Sistema Informatico aziendale
rappresenta:
quella porzione del sistema informativo
che fa uso di tecnologie informatiche e
automazione
considerata la mole di dati aziendali che
bisogna archiviare e gestire, il sistema
informatico utilizza software specifici per la
gestione di Database, cioè DBMS
3
La progettazione del Database
La progettazione del database aziendale
(database design) è il processo
decisionale su come organizzare i dati in
record e su come ciascun tipo di record si
relaziona con gli altri (informazioni
correlate).
4
Uso di DBMS nel Sistema Informativo
Il DBMS dovrebbe rispecchiare la struttura dei
dati dell'organizzazione e gestire in maniera
efficiente le varie transazioni.
Quando si usa un DBMS i sistemi informativi
possono essere adeguati molto facilmente al
cambiamento delle richieste informative
dell'organizzazione.
Possono essere aggiunte al database nuove
categorie di dati senza dover stravolgere il
sistema esistente.
5
Che cos’è un DBMS
Un DBMS, cioè Data Base Management
System è un programma per la gestione di
Database, quindi:
Database = Insieme dei dati e metadati;
DBMS = Software per la gestione del Database;
Il pacchetto software Microsoft Access è un
DBMS, quindi permette di creare e gestire
Database.
6
Esempi di DBMS
Ecco alcuni esempi di DBMS:
Access (della Microsoft);
SQL Server (della Microsoft);
Oracle (della Oracle Corporation);
Informix (della IBM);
Mysql (è un prodotto Open Source);
DB2 (della IBM);
7
Prima dell’arrivo dei DBMS
Venivano utilizzate Applicazioni diverse
per gestire i vari File System.
8
Problemi degli archivi separati
La gestione software degli archivi separati porta ad una
serie di problemi, quali:
1. Inconsistenza e ridondanza dei dati
Vi possono essere differenze tra i valori relativi ad una
stessa entità ma riportati in archivi diversi.
La duplicazione di dati crea spreco di memoria
2. Riservatezza dei dati
Non vi è garanzia che ai dati abbiano accesso
esclusivamente le persone autorizzate, ciascuno per le
proprie competenze. I file sono a disposizione di tutti che
possono quindi appropriarsi di informazioni riservate.
9
Problemi degli archivi separati
3. Integrità dei dati
L'integrità dei dati viene assicurata dai vincoli di
consistenza
Ad esempio un campo non può assumere valore
negativo.
Con archivi separati, l'integrità dei dati viene affidata a
programmi applicativi (soggetti ad errori)
4. Concorrenza
Gestire gli accessi contemporanei alla stessa
informazione.
10
Con l’arrivo dei DBMS
Abbiamo
diverse
applicazioni
che
attraverso il DBMS agiscono sullo stesso
Database.
11
Vantaggi dell’utilizzo di un DBMS
1.
2.
3.
4.
La duplicazione dei dati è ridotta al
minimo indispensabile
L'accesso ai dati avviene in base a
privilegi fissati dal DBMS (garanzia di
sicurezza e riservatezza)
I vincoli di consistenza possono essere
fissati all'interno del DBMS
L'accesso concorrente ai dati è
controllato dal DBMS che gestisce la
mutua esclusione dei programmi
12
I Modelli logici di Dati
Gerarchico
1.
Basato sugli alberi
Reticolare
2.
Basato sui grafi
Relazionale
3.
Basato sugli insiemi, dati strutturati in tabelle
Ad oggetti
4.
Basato sulle proprietà degli oggetti
13
Linguaggi di gestione/manipolazione Dati
DDL (Data Definition Language)
Per definire lo schema della base di dati
Le definizioni dello schema costituiscono il
'Dizionario dei dati'
DML (Data Manipulation Language)
Per inserire, cancellare, modificare i dati
Per effettuare query
14
I Linguaggi per la gestione dei Dati
SQL (Structured Query Language)
Si pronuncia SEQUEL
E’ un linguaggio che racchiude sia le funzionalità
proprie di un DDL, sia quelle di un DML.
E’ diventato uno standard tra i linguaggi utilizzati dai
DBMS (basati sul modello relazionale) per interagire
con i Database.
Oltre alle funzionalità dei DDL e DML, SQL racchiude
anche quelle di Data Control Language (DCL) grazie
alle quali è possibile stabilire chi sono gli utenti del
Database e quali permessi hanno relativamente alla
gestione dei dati.
15
Il Modello Relazionale
Il modello relazionale fu introdotto da
Codd (1970) e si basa su una semplice
ed uniforme struttura dati chiamata
relazione, ed ha una solida base teorica
La relazione del modello relazionale NON
è la relazione degli schemi E/R
Si introduce tale modello in quanto la
maggior parte dei DBMS sono relazionali
(tipo Oracle, Access, MySQL)
16
Il Modello Relazionale
Una base di dati relazionale è un insieme di
tabelle associate tra loro
Una relazione è una tabella costituita da:
un numero fisso di colonne (dette CAMPI)
un numero variabile di righe (dette RECORD)
Ciascuna colonna assume valori estratti da uno
stesso dominio (insieme di valori)
Il numero di colonne di una tabella si chiama
grado, il numero di righe cardinalità
17
Schema di una Tabella
E' la descrizione della struttura della
Tabella. Consiste del nome della Tabella
e dell’elenco dei campi che la
caratterizzano.
La forma è la seguente:
Nome tabella (campo1, campo2, ….., campo n)
18
Esempio - La tabella Dipendente
Esempio:
Dipendente (codice fiscale, cognome, nome, indirizzo,
telefono)
campi
Esempio
record
Codice fiscale
Cognome
Nome
Indirizzo
Telefono
CFFLAN
Cioffi
Lamberto
Via Veneto 16
0811238904
RSSGDU
Rossi
Guido
Via Marini 74
0812349075
RNZMCI
Renzi
Michele
Via Monza 93
0814342367
DNTFRA
Donati
Franco
Via Bellini 11
0816784563
MNNCRI
Manna
Ciro
Via Verdi 65
0812484657
BNCMRA
Bianchi
Mario
Via Roma 24
0815241688
19
Istanza di una Tabella
Insieme dei record presenti nella tabella
in un certo istante.
Nella definizione formale del modello
relazionale è richiesto che i record siano
tutti distinti.
Due record sono distinti, se hanno
almeno un campo con valore differente.
20
Restrizione di un Record
La restrizione di un Record sui campi A della
tabella R (indicata con t[A]), è data dalla lista dei
valori assunti da t sui campi A
Esempio
Considerato il record
t=(BNCMRA, Bianchi, Mario, v. Roma 24, 081/5241688)
Allora una possibile restrizione è:
t[Codice fiscale, Nome]=(BNCMRA, Mario)
21
Chiave di una Tabella
E’ un sottoinsieme K dei campi del
record, che soddisfa le proprietà di:
Unicità (in qualunque istanza di R, non
possono esistere due record distinti la cui
restrizione su K sia uguale)
Minimalità (non è possibile rimuovere un
campo da K, senza violare la condizione di
unicità)
In generale una Tabella può avere più di
una chiave, in questo caso si parla di
chiavi candidate.
22
Chiave di una Tabella
Esempio
Codice fiscale
Cognome
Nome
Indirizzo
Telefono
BNCMRA
Bianchi
Mario
Via Roma 24
081/5241688
Codice fiscale è una chiave
Nome non è una chiave
(Nome, Indirizzo) non è una chiave
(Codice fiscale, Nome) non è una chiave
Telefono è una chiave ?
23
Chiave primaria
Tra le possibili chiavi candidate, quella usata
più frequentemente per accedere ai dati prende
il nome di chiave primaria
Le restanti chiavi vengono dette secondarie
In genere si indica sottolineando i campi che la
costituiscono:
Esempio:
Dipendente (codice fiscale, cognome, nome, indirizzo,
telefono)
Indica il campo o i campi
chiave
24
Un esempio di Progettazione:
Il database Scuola
Prendiamo in esame l’ambiente scolastico.
L’idea è quella di progettare e realizzare un
Database che ci permetta di conservare tutte (o
almeno quelle di nostro interesse) le informazioni
che riguardano gli aspetti didattici di una scuola.
Il primo passo da svolgere è quello di analizzare
l’ambiente scuola e individuare le entità che vi
operano.
25
Esempio: Il database Scuola (2)
Dall’analisi rileviamo le seguenti entità:
Alunno
Docente
Classe
Materia
Assenza
26
Esempio: Il database Scuola (3)
Per ciascuna di esse decidiamo di
memorizzare le seguenti informazioni:
Alunno
Docente
Anno, Sezione, Num_alunni
Materia
Codice fiscale, Cognome, Nome, Indirizzo, Telefono
Classe
Codice fiscale, Cognome, Nome, Indirizzo, Telefono
Descrizione, Indirizzo
Assenza
Data
27
Esempio: Il database Scuola (4)
Esaminiamo ora le associazioni che esistono tra le entità
individuate:
Insegna_materia
Insegna_nella_classe
E’ l’associazione che lega le entità Docente e Classe con una
cardinalità del tipo “molti-a-molti”.
Compie
E’ l’associazione che lega le entità Docente e Materia con una
cardinalità del tipo “molti-a-molti”, cioè ad un docente corrispondono
più materie insegnate e ad una materia corrispondono più docenti che
la insegnano.
E’ l’associazione che lega le entità Alunno e Assenza con una
cardinalità del tipo “uno-a-molti”.
Frequenta
E’ l’associazione che lega le entità Classe e Alunno con una
cardinalità del tipo “uno-a-molti”.
28
Esempio: Il database Scuola (5)
E’ possibile mostrare il risultato della nostra analisi mediante una
rappresentazione grafica chiamata Modello Entità-Associazione
(in inglese Entity-Relationship ovvero Modello E-R)
ALUNNO
1
N
Compie
ASSENZA
N
DOCENTE
Frequenta
N
Insegna nella classe
1
N
CLASSE
N
Insegna materia
N
MATERIA
29
Esempio: Il database Scuola (6)
Vediamo come si ricava la struttura delle Tabelle dal
modello E-R:
Prima regola:
Seconda regola:
Per le associazioni uno-a-uno si include in una Tabella la
chiave primaria dell’altra o viceversa;
Terza regola:
Si crea una Tabella per ogni Entità con i campi specifici;
Per le associazioni uno-a-molti si include nella Tabella
coinvolta con cardinalità molti la chiave primaria dell’altra;
Quarta regola:
Per le associazioni molti-a-molti si crea una nuova Tabella
col nome dell’associazione inserendo come campi le chiavi
primarie di entrambe le Tabelle coinvolte;
30
Esempio: Il database Scuola (7)
Applicando le 4 regole di derivazione al nostro modello E-R otteniamo le
seguenti Tabelle per il nostro Database:
Alunno
Docente
Data, Cod_fisc_alunno
Insegna_nella_classe
Descrizione, Indirizzo
Assenza
Anno, Sezione, Num_alunni
Materia
Codice fiscale, Cognome, Nome, Indirizzo, Telefono
Classe
Codice fiscale, Cognome, Nome, Indirizzo, Telefono, Anno, Sezione
Cod_fisc_docente, Anno, Sezione
Insegna_materia
Cod_fisc_docente, Descrizione, Indirizzo
31
Esempio: Il database Scuola (8)
Avendo ottenuto la struttura definitiva delle tabelle del nostro
Database Scuola, possiamo procedere con le seguenti fasi:
1. Creare un nuovo Database di nome Scuola con Access;
2. Creare le nuove Tabelle con le relative strutture del record
ottenute dalla fase di progettazione;
3. Creare le relazioni/associazioni tra le tabelle create;
4. Inserire i dati iniziali nel Database Scuola;
5. Creare le maschere per l’inserimento dati nel Database;
6. Creare le query per le interrogazioni/operazioni da svolgere sul
Database;
7. Creare i report per l’estrazione dei dati e la visualizzazione su
carta;
32
Esempio: Il database Scuola (9)
E’ possibile procedere con la creazione di un Database
Access composto dalle Tabelle appena viste.
In questo modo abbiamo definito la struttura dei dati.
Poi bisogna procedere stabilendo le associazioni tra le
Tabelle.
Premendo
l’apposito tasto
Relazioni
33
Esempio: Il database Scuola (10)
Dalla scheda Relazioni è possibile stabilire le Associazioni
tra Tabelle.
34
Esempio: Il database Scuola (11)
E’ importante notare che le Tabelle nate dalle associazioni molti-amolti, si trovano adesso correlate verso le Tabelle da cui derivano
con una associazione del tipo molti-a-uno.
Esempio:
N
N
1
1
Tabella nata dalla
associazione molti-a-molti.
35
Un esempio di Progettazione:
Il database Clinica
Prendiamo in esame l’ambiente costituito da una
clinica e dai suoi pazienti.
L’idea è quella di progettare e realizzare un
Database che ci permetta di conservare tutte le
informazioni necessarie, che riguardano i soggetti
coinvolti nel mondo di una clinica.
Il primo passo da svolgere è quello di analizzare
l’ambiente della clinica al fine di individuare le entità
che vi operano.
36
Esempio: Il database Clinica
Dall’analisi del mondo reale, rileviamo le
seguenti entità:
Paziente
Esame
Reparto
Dirigente
Medico
37
Esempio: Il database Clinica
Per ciascuna entità decidiamo di
memorizzare le seguenti informazioni:
Paziente
Dirigente
Codice fiscale, Cognome, Nome, Indirizzo, Telefono
Reparto
Codice fiscale, Cognome, Nome, Indirizzo, Telefono
Medico
Codice fiscale, Cognome, Nome, Indirizzo, Telefono
Codice reparto, Denominazione, Edificio, Piano
Esame
Codice esame, Tipo, Nome, Data, Valore
38
Esempio: Il database Clinica
Esaminiamo ora le associazioni che esistono tra le entità
individuate:
Esegue
Appartiene
E’ l’associazione uno-a-molti che lega le entità Reparto e Paziente,
dato che ad un reparto è assegnato uno o più pazienti.
Dirige
E’ l’associazione uno-a-molti che lega le entità Paziente ed Esame,
dato che in pratica ad un paziente corrispondono uno o più esami
svolti dallo stesso.
E’ l’associazione uno-a-uno che lega le entità Dirigente e Reparto,
dato che ciascun reparto ha un solo dirigente e viceversa.
Lavora
E’ l’associazione molti-a-molti che lega le entità Medico e Reparto,
dato che un medico può lavorare in uno o più reparti ed in un reparto
possono lavorare uno o più medici.
39
Esempio: Il database Clinica
E’ possibile mostrare il risultato della nostra analisi mediante una
rappresentazione grafica chiamata Modello Entità-Relazione.
40
Regole di derivazione
Vediamo le regole da applicare per ottenere la struttura
definitiva delle Tabelle partendo dal modello E-R:
Prima regola:
Seconda regola:
Per le associazioni uno-a-uno si include in una Tabella la chiave
primaria dell’altra o viceversa;
Terza regola:
Si crea una Tabella per ogni Entità con i campi specifici;
Per le associazioni uno-a-molti si include nella Tabella coinvolta
con cardinalità molti la chiave primaria dell’altra;
Quarta regola:
Per le associazioni molti-a-molti si crea una nuova Tabella col
nome dell’associazione inserendo come campi le chiavi primarie
di entrambe le Tabelle coinvolte;
41
Esempio: Il database Clinica
Dall’applicazione delle regole di progettazione otteniamo
le seguenti tabelle per il Database Clinica:
Paziente
Dirigente
Codice reparto, Denominazione, Edificio, Piano
Esame
Codice fiscale, Cognome, Nome, Indirizzo, Telefono
Reparto
Codice fiscale, Cognome, Nome, Indirizzo, Telefono, Codice reparto
Medico
Codice fiscale, Cognome, Nome, Indirizzo, Telefono, Codice reparto
Codice esame, Tipo, Nome, Data, Valore, Codice fiscale
Lavora
Codice fiscale medico, Codice reparto
42
Esempio: Il database Clinica
Avendo ottenuto la struttura definitiva delle tabelle del nostro
Database Clinica, possiamo procedere con le seguenti fasi:
1. Creare un nuovo Database Clinica con Access;
2. Creare le nuove Tabelle con le relative strutture del record
ottenute dalla fase di progettazione;
3. Creare le relazioni/associazioni tra le tabelle create;
4. Inserire i dati iniziali nel Database Clinica;
5. Creare le maschere per l’inserimento dati nel Database;
6. Creare le query per le interrogazioni/operazioni da svolgere sul
Database;
7. Creare i report per l’estrazione dei dati e la visualizzazione su
carta;
43
La Normalizzazione
La normalizzazione è quel procedimento
volto a minimizzare la ridondanza dei dati e
quindi a prevenire le possibili anomalie legate
alla loro memorizzazione.
Il processo di normalizzazione si fonda sulla
applicazione delle regole stabilite dalle varie
forme normali.
44
Dipendenza funzionale
Consideriamo il seguente esempio di dipendenza funzionale:
AB
La scrittura sopra significa che un valore per l’insieme di attributi A
determina un singolo valore per l’insieme di attributi B.
Si dice A determina B o anche che B dipende funzionalmente da A
Per esempio, possiamo prendere in considerazione la tabella
Giacenza:
GIACENZA
Prodotto
Magazzino
Quantità
T-Shirt
Palermo
18
Polo
Messina
26
Nella tabella Giacenza, abbiamo che la chiave, costitutita dall’insieme
di attributi { Prodotto, Magazzino }, determina funzionalmente l’attributo
Quantità. Per indicare ciò si usa la scrittura:
{ Prodotto, Magazzino } Quantità
45
1NF – Prima forma normale
Si dice che una Tabella (relazione) è in 1NF (prima
forma normale) se:
Tutte le righe della tabella contengono lo stesso numero di
colonne;
I campi (attributi) rappresentano informazioni elementari
(atomiche);
I valori che compaiono in una colonna sono dello stesso
tipo, cioè appartengono allo stesso dominio;
Ogni riga è diversa da tutte le altre, cioè non ci possono
essere due righe con gli stessi valori nelle colonne;
46
Esempio di violazione della 1NF
Nell’ esempio seguente, abbiamo la tabella Dipendente
che viola la 1NF, perché pur esistendo una chiave
primaria Matricola, l'attributo Familiari_a_carico non è
atomico.
DIPENDENTE
Matricola
Nome
Indirizzo
Familiari_a_carico
M001
Mario
Via Roma 101
Anna, Lino, Stella
M002
Carlo
Via Milano 89
Elena, Franco
M003
Luigi
Via Firenze 51
Maria, Roberta
47
Soluzione alla violazione della 1NF
In questo caso, è necessario ristrutturare la tabella e
suddividerla in due tabelle come segue:
FAMILIARE
Codice familiare
DIPENDENTE
Matricola
Nome
Indirizzo
M001
Mario
Via Roma 10
M002
Carlo
Via Lazio 89
M003
Luigi
Via Fani 51
Nome
Matricola
F001
Anna
M001
F002
Lino
M001
F003
Stella
M001
F004
Elena
M002
F005
Franco
M002
F006
Maria
M003
F007
Roberta
M003
Si vede chiaramente che tra le due tabelle nate dalla scomposizione, esiste una
associazione uno-a-molti, in quanto per ogni record presente nella tabella Dipendente, vi
sono tanti record nella tabella Familiari per quanti sono i familiari a carico.
Il campo Matricola della tabella Familiari prende il nome di chiave esterna verso la tabella
Dipendente, in quanto permette di sapere, partendo da un certo familiare, chi sia il
dipendente che lo tiene a carico.
48
2NF – Seconda forma normale
Si dice che una Tabella (relazione) è in 2NF
(seconda forma normale) se:
E’ in prima forma normale;
Tutti i suoi attributi non chiave dipendono
dall’intera chiave, cioè non dipendono soltanto
da una parte della chiave;
49
Esempio di violazione della 2NF
La tabella Inventario definita dallo schema:
Inventario (Prodotto, Magazzino, Quantità, Indirizzo_magazzino)
Non è in seconda forma normale perché l’attributo
Indirizzo_magazzino dipende funzionalmente dall’attributo
Magazzino, che risulta essere solo una parte della chiave.
INVENTARIO
Prodotto
Magazzino
Quantità
Indirizzo_magazzino
Pantaloni
Palermo
25
Via Roma 36
T-Shirt
Trapani
42
Via Napoli 72
Polo
Palermo
13
Via Roma 36
Camicie
Trapani
30
Via Napoli 72
50
Soluzione alla violazione della 2NF
Anche in questo caso, è necessario intervenire sulla
Tabella suddividendola in due tabelle come segue:
SEDE
Magazzino
Indirizzo_magazzino
Palermo
Via Roma 36
Trapani
Via Napoli 72
INVENTARIO
Prodotto
Magazzino
Quantità
Pantaloni
Palermo
25
T-Shirt
Trapani
42
Polo
Palermo
13
Camicie
Trapani
30
Si vede chiaramente che tra le due tabelle nate dalla scomposizione, esiste una
associazione uno-a-molti, in quanto per ogni record presente nella tabella Sede, vi sono
tanti record nella tabella Inventario per quanti sono i prodotti presenti in quel magazzino.
Il campo Magazzino della tabella Inventario rappresenta la chiave esterna verso la tabella
Sede, in quanto permette di sapere, partendo da un certo prodotto, l’indirizzo del magazzino
in cui è depositato.
51
3NF – Terza forma normale
Si dice che una Tabella (relazione) è in 3NF
(terza forma normale) se:
E’ in seconda forma normale;
Tutti gli attributi non-chiave dipendono
direttamente dalla chiave, cioè non vi sono
attributi non-chiave che dipendono da altri
attributi non-chiave;
52
Esempio di violazione della 3NF
Consideriamo per esempio, l’anagrafica di una associazione di
studenti appartenenti a diverse scuole.
La tabella potrebbe essere strutturata nel modo seguente:
Studenti (Nome, Scuola, Telefono_scuola)
Non è in terza forma normale, perché c’è un attributo non-chiave
(Telefono_scuola) che dipende da un altro attributo non-chiave
(Scuola).
STUDENTI
Nome
Scuola
Telefono_scuola
Rossi
ITC Levi
0225457842
Bianchi
ITIS Barsanti
0612894658
Verdi
ITC Levi
0225457842
Lanza
ITIS Fermi
01134567890
Giorgi
ITIS Barsanti
0612894658
53
Soluzione alla violazione della 3NF
Ancora una volta, procediamo scomponendo la tabella
Studenti in due tabelle come segue:
STUDENTI
Nome
Scuola
Rossi
ITC Levi
Bianchi
ITIS Barsanti
Verdi
ISTITUTI
Scuola
Telefono_scuola
ITC Levi
0225457842
ITC Levi
ITIS Barsanti
0612894658
Lanza
ITIS Fermi
ITIS Fermi
01134567890
Giorgi
ITIS Barsanti
In questo caso tra le tabelle nate dalla scomposizione, esiste una associazione uno-a-molti
da Istituti verso Studenti, in quanto per ogni record presente nella tabella Istituti, vi sono
tanti record nella tabella Studenti per quanti sono gli di quella scuola che fanno parte
dell’associazione.
Il campo Scuola della tabella Studenti rappresenta la chiave esterna verso la tabella
Istituti, in quanto permette di sapere, partendo da un certo studente, il telefono della scuola
cui appartiene.
54
Conseguenze della Normalizzazione
Attraverso l’applicazione delle regole
corrispondenti alle tre forme normali esaminate,
abbiamo la garanzia di:
1. Evitare problemi di ridondanza e inconsistenza dei
dati
2. Le tabelle generate dalla scomposizione, contengono
le stesse informazioni di partenza e mantengono le
dipendenze tra gli attributi
55
I DataBase in Access
Un Database in Access risulta composto da un
unico file su disco con estensione:
Un Database Access è composto da diversi
oggetti:
.MDB (Microsoft DataBase per Access 2003)
.ACCDB (Access Database per Access 2007)
tabelle
query
maschere
report
macro
moduli
Tanti oggetti messi in
costituiscono il Database.
relazione
tra
loro
56
Le Tabelle in Access
Una tabella in Access rappresenta una relazione
nel modello teorico Relazionale.
Una tabella è caratterizzata dalla struttura, cioè
dal nome è dal tipo dei campi che compongono il
record.
I campi corrispondono agli attributi, mentre i
record alle tuple.
I nomi attributo e tupla sono utilizzati solo nella
teoria dei database relazionali e non nell’utilizzo
pratico di un DBMS tipo Access.
Una tabella in Access è un insieme di record.
Un record è un insieme di campi.
57
Le Tabelle in Access
Per creare una Tabella in Access è possibile utilizzare diverse
modalità.
Quella più usata è Crea una Tabella in visualizzazione
struttura.
58
Le Tabelle in Access
Utilizzando questa modalità è possibile specificare il formato del
record.
Specificare il formato del record significa fissare i nomi dei campi ed
il tipo di dato che possono contenere.
59
Le Tabelle in Access
Una volta creata la tabella in modalità
visualizzazione struttura, è possibile inserire i dati
al suo interno. Nel caso della tabella prodotti
l’aspetto sarà il seguente:
60
Le Query in Access
Una query di Access può rappresentare:
Query che non modificano il Database:
un comando (apporta modifiche al Database);
una vista (non modifica il Database);
Query di Selezione;
Query che modificano il Database:
Query di Creazione Tabella;
Query di Aggiornamento;
Query di Accodamento;
Query di Eliminazione;
61
Le Query in Access
Anche per la creazione di una Query è possibile utilizzare
diverse modalità.
Quella più usata è Crea una Query in visualizzazione
struttura.
62
Le Query di Creazione Tabella
Le query di creazione
tabella consentono di
creare
una
nuova
tabella con i record
estratti da altre tabelle.
La nuova tabella creata
può essere aggiunta allo
stesso oppure ad un
altro Database.
Per creare una query di
creazione
tabella
bisogna scegliere tale
opzione dal menù Query
quando si è in modalità
Crea
Query
in
Visualizzazione
Struttura.
63
Le Query di Aggiornamento Tabella
Le query di
aggiornamento
tabella consentono di
effettuare
automaticamente
l’aggiornamento dei
valori di uno o più
campi della tabella.
Formula di aggiornamento
Per creare una query di aggiornamento tabella bisogna scegliere tale
opzione dal menù Query quando si è in modalità Crea Query in
Visualizzazione Struttura, inoltre bisogna specificare nel campo “Aggiorna
a” la variazione da apportare al campo da aggiornare.
64
Le Query di Accodamento
Le query di
accodamento
consentono di
effettuare un
accodamento
automatico dei record
prelevati da un’altra
tabella.
Campo in cui accodare
Per creare una query di accodamento, basta scegliere tale opzione dal
menù Query quando si è in modalità Crea Query in Visualizzazione
Struttura, inoltre bisogna specificare nei campi “Accoda a”, i campi ai quali
devono essere accodati quelli risultanti dal prelievo.
65
Le Query di Eliminazione
Le query di
eliminazione
consentono di
rimuovere
automaticamente da
una tabella tutti i
record che
rispondono ad un
determinato criterio.
Criterio di selezione
Per creare una query di eliminazione, basta scegliere tale opzione dal
menù Query quando si è in modalità Crea Query in Visualizzazione
Struttura, inoltre bisogna specificare nei campi “Criteri”, i valori che
devono avere i campi dei record da eliminare.
66
Le Query di Selezione
Le query di selezione,
a differenza delle
precedenti, non
apportano modifiche
al database, ma
servono solo per
effettuare ricerche sui
dati sulla base di
criteri specificati.
Criterio di selezione
Per creare una query di eliminazione, basta andare in modalità Crea
Query in Visualizzazione Struttura, dato che per default Access crea query
di selezione. Poi bisogna specificare nei campi “Criteri”, i valori che
devono avere i campi dei record da estrarre e visualizzare.
67
Le Maschere in Access
Per facilitare il lavoro dell’utente finale nella
gestione dei dati di un Database è possibile
realizzare maschere per l’aggiornamento dei dati.
Le
maschere
offrono
un
metodo
di
rappresentazione che semplifica la leggibilità dei
dati contenuti nelle tabelle.
Le maschere servono quindi a creare una
interfaccia amichevole nella gestione dei dati per
l’utente del database.
68
Le Maschere in Access
La modalità più semplice per creare una maschere è
attraverso la Creazione guidata.
In questo modo è possibile attraverso poche domande, creare
velocemente la maschera desiderata.
69
Le Maschere in Access
Durante la creazione guidata maschere, verrà chiesto quali
tabelle e quali campi far visualizzare nella maschera.
Inoltre è possibile specificare il tipo di layout della maschera,
oltre che uno stile di colori e caratteri tra diversi modelli
predefiniti.
Esempio di maschera
E’
importante
notare che oltre
a visualizzare i
campi,
la
maschera
permette anche
di modificarli.
70
Le Maschere in Access
Una volta creata una maschera con la creazione guidata, è
possibile modificarne la struttura.
Basta cliccare col tasto destro del mouse sul nome della
maschera e scegliere dal menù l’opzione visualizza struttura.
Comparirà una schermata tipo quella in figura, attraverso la
quale potrete apportare tutte le modifiche desiderate.
Modifica struttra maschera
Qui a fianco c’è
la casella degli
strumenti
utilizzabili
per
creare ogni tipo
di maschera a
seconda
delle
esigenze.
71
I Report in Access
Molto spesso per presentare i dati su stampa è
opportuno ricorrere all’utilizzo di un Report, in
pratica un tabulato.
La riproduzione su carta delle tabelle risulta
troppo rigida e scarsamente leggibile all’utente
finale.
I report risultano più adeguati alla necessità di
presentare, in modo ordinato ed elegante, i dati
estratti dal database sia su schermo che su carta.
72
I Report in Access
Anche per la creazione dei Report è possibile usufruire della
funzione “Creazione Guidata Report”, che ci semplifica
notevolmente il lavoro.
Come nel caso delle maschere, anche stavolta basterà
rispondere ad alcune domande, per avere subito pronto il
nostro report personalizzato.
73
I Report in Access
Durante la creazione guidata report, viene chiesto quali
tabelle e quali campi far visualizzare nel report.
E’ possibile inoltre, specificare la struttura del report,
l’ordinamento su uno o più campi, lo stile ed altre opzioni.
Esempio di report
Il report
presenta i dati
estratti dal
Database in un
formato chiaro
ed elegante.
74
I Report in Access
Una volta creato un report con la creazione guidata, è possibile
modificarne la struttura.
Basta cliccare col tasto destro del mouse sul nome del report e
scegliere dal menù l’opzione visualizza struttura, comparirà una
schermata come quella in figura, attraverso la quale possiamo
apportare tutte le modifiche desiderate alla struttura del report.
75
Conclusioni
In conclusione possiamo dire che è possibile
approfondire i contenuti esposti nella
seguente unità didattica consultando i testi
riportati nella bibliografia.
76
Bibliografia
1.
2.
“Le Basi di Dati e Il linguaggio SQL”
A. Lorenzi, D. Rossi
Editore Atlas
“Database Systems”
Elmasri, Navathe
Editore Addison-Wesley
77