Basi di dati e principi applicativi
Sommario
Basi di dati: concetti generali
Progettare una base dati: il modello E-R
Implementare una base dati: Mircosoft Office
Access
Creare campi, record e tabelle
Creare relazioni
Maschere
Interrogare una base dati:query
Report
Università degli studi di Salerno
2
Basi di dati: concetti generali [1]
La parola inglese Database viene in genere tradotta con la locuzione
italiana Base di Dati. Ma con essa cosa si intende?
Proviamo a dare una prima definizione:
Database: Un archivio contenente dati eterogenei, organizzati dall’elaboratore grazie
ad applicativi denominati DataBase Management System (DBMS)
Per archivio si intende una memoria di lavoro per gestire una grande quantità di dati,
per cui alcuni esempi sono: la rubrica del telefono, gli archivi delle biblioteche, le
cartelle cliniche, ecc.
Università degli studi di Salerno
3
Basi di dati: concetti generali [2]
Il DataBase Management System
Il DataBase Management System è un applicativo che permette la gestione
di un database.
I principali servizi che offre un DBMS sono:
> memorizzazione dei dati
> organizzazione dei dati
> gestione dei dati
> ricerca dei dati
> elaborazione dei dati
Università degli studi di Salerno
4
Basi di dati: concetti generali [3]
Altre funzioni di un DBMS sono:
> Validare i dati controllando che essi siano corretti e che rispondano alle
regole d’inserimento fissate
> Normalizzare il database verificando che non ci siano inutili duplicazioni di
dati e permettendo di eliminarle senza perdita sostanziale di informazione
> Indicizzare i dati organizzandoli secondo la struttura prestabilita e
ordinandoli di conseguenza
> Verificare la coerenza dei dati in modo che alla modifica di un dato vengano
aggiornati automaticamente tutti i dati eventualmente dipendenti da esso
> Regolare l’accesso agli utenti alla base dati
Università degli studi di Salerno
5
Basi di dati: concetti generali [4]
Un DBMS può ricevere comandi:
> Direttamente dall’utente in modo interattivo, tramite particolari comandi
appartenenti ai linguaggi ‘accettati’ da quel particolare DBMS.
> Tramite un programma scritto in un linguaggio algoritmico tradizionale che
ingloba alcuni comandi appartenenti ai linguaggi ‘accettati’ dal DBMS.
> Questi linguaggi possono essere raggruppati in base alle loro funzioni:
> DDL (Data Description Language), tramite i quali si definiscono le strutture del database. Si
dice cioè come dovrà esse la base di dati.
> DML (Data Manipulation Language),che servono per impartire comandi di elaborazione dei
dati.
> QL (Query Language) o linguaggi di interrogazione, che presentano un natura interattiva.
Università degli studi di Salerno
6
Basi di dati: concetti generali [5]
Componenti funzionali di un DBMS
> Tabella di descrizione database, è una tabella in cui è descritto il modello e le
caratteristiche del database.
> Tabella delle autorizzazioni, è una tabella in cui sono presenti le informazioni
dei vari utenti riguardo ai loro permessi di accesso ai vari dati.
> Tabella per accesso concorrente, ha la funzione di permettere la gestione del
traffico di più richieste operati contemporaneamente sui medesimi dati.
> Language processor, i comandi vengono ricevuti da questa unità, che ha il
compito di metterli in relazione con le specifiche di definizione del modello
(contenute nella tabella di descrizione del database)
e trasmetterli al Database Manager.
> Database Manager, ha il ruolo di ricevere i comandi espressi a livello
concettuale cioè operanti sul modello astratto dei dati e tradurli in comandi a
livello fisico trasmettendoli al file system del sistema operativo non prima di
aver fatto gli opportuni controlli sulla tabella di autorizzazione e sulla tabella
di accesso concorrente.
Università degli studi di Salerno
7
Basi di dati: concetti generali [6]
Componenti funzionali di un DBMS
Esistono diverse tipologie di Database può essere di diversi tipi:
> Piano o non Relazionale: in cui i dati sono contenuti in un’unica tabella
> Relazionale: la cui struttura è più complessa perché i dati sono raccolti in più
tabelle collegate tra loro
> Gerachico: organizzato secondo uno schema ad albero, costituito da tanti
nodi collegati tra loro in maniera gerarchica, ciascuno dei quali contiene
un’informazione
> Reticolare: basato sui grafi, escludendo qualsiasi tipo di gerarchia che
colleghi in qualche modo le informazioni.
Università degli studi di Salerno
8
Basi di dati: concetti generali [7]
il database relazionale e la sua struttura
Nel Database Relazionale, i dati sono organizzati in più tabelle,
che possono essere correlate, ed è possibile estrarre informazioni
da più tabelle contemporaneamente.
Gli elementi costitutivi di un Database Relazionale, partendo dal più
piccolo, sono:
>
>
>
>
I Campi
I Record
Le Tabelle
I File
Università degli studi di Salerno
9
Basi di dati: concetti generali [8]
i campi
Un campo è l’unità base di un Database.
E’ uno spazio nel Database che contiene un’unità di informazione,
ed è identificato da un nome.
Esempi:
Cognome
Numero di telefono
NOME CAMPI
Rossi
081/598734
INFORMAZIONI
Ricorda: quando si crea un Database è necessario includere un campo
per ogni categoria di dati cui si è interessati.
Università degli studi di Salerno
10
Basi di dati: concetti generali [9]
i records
Un record è costituito da un insieme di campi che riportano informazioni riferite ad un
singolo soggetto.
Cognome
Nome
Città
Rossi
Mauro
Salerno
Nome dei Campi
RECORD
Esempio: in un Database che raccoglie i dati dei pazienti di un medico,
tutte le informazioni relative ad un singolo paziente rappresentano un
record.
Università degli studi di Salerno
11
Basi di dati: concetti generali [10]
le tabelle
Una tabella è un elenco che visualizza più record contemporaneamente.
Esempio: l’insieme delle informazioni relative a tutti i pazienti di un medico:
TABELLA
Cognom
e
Nome
Città
Rossi
Mauro
Salerno
Verdi
Antonio
Napoli
campo
record
record
Più precisamente ogni riga di una tabella del Database è costituita da un record,
ognuno dei quali è suddiviso in campi, che costituiscono le colonne.
Università degli studi di Salerno
12
Basi di dati: concetti generali [11]
i file
✓ Un file di Database contiene una o più tabelle
✓ Nel caso dell’applicativo Access, i file vengono salvati con l’estensione MDB
(Microsoft Database)
Università degli studi di Salerno
Progettare una base dati: il modello E-R [1]
le tre fasi della progettazione
Un Database, come ogni archivio, va progettato.
Le fasi di progettazione di un Database sono tre:
1. Progetto CONCETTUALE;
2. Progetto LOGICO;
3. Progetto FISICO.
Università degli studi di Salerno
Progettare una base dati: il modello E-R [2]
il progetto concettuale
E’ questa la prima fase di costruzione di un Database, il cui scopo è quello di
individuare la struttura dei DATI che devono essere “archiviati” e le RELAZIONI tra loro
esistenti.
Tale fase prevede la costruzione di diagrammi entità relazioni (ERD), costituiti da 4
elementi principali:
•ENTITA’: è un qualsiasi oggetto concettuale che caratterizza l’applicazione in
questione e che può essere individuato e distinto dagli altri;
•ATTRIBUTI: insieme di valori che caratterizzano un’entità;
•ATTRIBUTI CHIAVE: insieme degli attributi sufficienti ad identificare univocamente
un’entità;
•RELAZIONI: dipendenze o associazioni di interesse informativo tra le entità
rappresentate.
Università degli studi di Salerno
Progettare una base dati: il modello E-R [3]
esempio di ERD
Un’azienda che vende all’ingrosso necessita di un archivio per gestire gli ordini
fatti da tutti i negozi che fornisce:
Città
Città
Codice Ordine
Codice
Ordine
Indirizzo
Indirizzo
Data
Data
Prezzo
Prezzo
Codice Articolo
Nome
NEGOZIO
NEGOZIO
Telefono
Telefono
ARTICOLO
ARTICOLO
ORDINE
ORDINE
ID Articolo
ID Negozio
comprende
ENTITA’
ATTRIBUTO
=
emettere
RELAZIONE
Università degli studi di Salerno
=
=
Progettare una base dati: il modello E-R [4]
il progetto logico
Questa è la seconda fase della costruzione di una base di dati, in cui lo
schema ER precedentemente costruito viene trasformato nello schema logico
relazionale, ovvero in tabelle che successivamente saranno implementate.
In particolare:
- ad ogni ENTITA’ corrisponde una TABELLA;
- i CAMPI di ogni tabella sono gli ATTRIBUTI dell’entità cui fa riferimento la
tabella stessa.
Università degli studi di Salerno
Progettare una base dati: il modello E-R [5]
dal progetto concettuale al progetto logico
Riprendendo l’esempio precedente, lo schema logico relazionale sarà il
seguente:
Tabella NEGOZIO
ID Negozio
Nome
Città
Indirizzo
Codice Articolo
Prezzo
Telefono
Tabella ORDINE
Codice
Ordine
Data
Tabella ARTICOLO
ID Articolo
Università degli studi di Salerno
Progettare una base dati: il modello E-R [6]
che cos’è la normalizzazione?
La NORMALIZZAZIONE è una tecnica di verifica dei risultati della progettazione
che porta all’organizzazione dei dati omogenei in tabelle correlate con legami
efficienti, eliminando ridondanze, inconsistenze e anomalie in aggiornamento.
La Normalizzazione avviene usando tre FORME NORMALI (forme di verifica):
•Prima Forma Normale;
•Seconda Forma Normale;
•Terza Forma Normale.
Università degli studi di Salerno
Progettare una base dati: il modello E-R [7]
prima forma normale
Condizione: in una tabella, gli elementi delle colonne devono essere ad un sol
valore, ovvero ogni attributo non può avere più di un valore per un singolo
record.
Esempio:
Articolo
1
Negozi acquirenti
A
B
C
D
NO
In questo caso l’attributo “Negozi acquirenti” riporta quattro valori per un solo
record; non essendo ciò possibile occorre la Normalizzazione.
N.B. L’insieme di dati omogenei raggruppati tra loro si chiama ARRAY (A B C D)
e quindi in una tabella si può dire che gli elementi delle colonne non possono
essere degli array.
Università degli studi di Salerno
Progettare una base dati: il modello E-R [8]
Normalizzazione: nel caso di presenza di array, normalizzare la tabella
significa suddividere le informazioni in tante righe quanti sono i valori
dell’array.
Esempio:
Articolo
Negozi acquirenti
1
A
1
B
1
C
1
D
In questo caso, i record diventano quattro e non più uno.
Università degli studi di Salerno
21
Progettare una base dati: il modello E-R [9]
seconda forma normale
Condizione: se in una tabella la chiave primaria è costituita da più di un
attributo (più campi), ogni campo (o colonna) non appartenente alla chiave deve
dipendere dall’insieme delle chiavi, e non solo da una di queste.
Esempio:
Articolo
Negozio
acquirente
Quantità
Indirizzo
1
Conad
500
Via Garibaldi
In questo esempio, in cui le chiavi primarie sono “Articolo” e “Negozio
acquirente”, l’attributo “Quantità” dipende da tutte e due (una certa
quantità di un articolo è acquistata da un determinato negozio), ma
l’attributo “Indirizzo” dipende solo dalla chiave “Negozio acquirente”
(l’indirizzo appartiene al negozio, indipendentemente dall’articolo
acquistato)
Università degli studi di Salerno
Progettare una base dati: il modello E-R [10]
Normalizzazione: normalizzare significa ‘spezzare la tabella’ e produrre tante
tabelle che soddisfino la condizione, in modo, quindi, che i campi non
appartenenti alla chiave dipendano da essa.
Esempio:
Articolo
Negozio acquirente
Quantità
1
Conad
500
+
Negozio acquirente
Indirizzo
Conad
Via Garibaldi
Università degli studi di Salerno
Progettare una base dati: il modello E-R [11]
terza forma normale
Condizione: in una tabella, la dipendenza fra le colonne deve essere basata
solo sulla chiave primaria, ovvero non ci deve essere nessun legame di
dipendenza fra attributi che non sono chiavi primarie (dipendenze
transitive).
Esempio:
Codice
Album
Titolo
Cantante
Data di nascita
Nazionalità
1
Ricordami
Baglioni
12-03-1953
italiana
Nell’esempio, gli attributi “Data di nascita” e “Nazionalità” non dipendono
dalla chiave “Codice Album”, ma dall’attributo “Cantante” che non è chiave
primaria.
Università degli studi di Salerno
24
Progettare una base dati: il modello E-R [12]
Normalizzazione normalizzare significa produrre tante tabelle che soddisfino la
condizione, quindi ‘spezzare’ la tabella che non soddisfa la condizione e spostare
le dipendenze transitive in una tabella collegata alla prima tramite una chiave
esterna.
Esempio:
Id Cantante
Nome
Data di nascita
Nazionalità
1
Baglioni
12-03-1953
Italiana
+
Codice album
Titolo
Id cantante
1
Ricordami
1
CHIAVE
ESTERNA
Università degli studi di Salerno
Progettare una base dati: il modello E-R [13]
il progetto fisico
L’ultima fase della progettazione di un Database, prevede la sua
implementazione, ovvero la creazione vera e propria del Database fatta al
computer.Prima di fare ciò, per ogni campo di ciascuna tabella occorre
definirne il TIPO a seconda dell’informazione che contiene, potendo scegliere
tra diverse opzioni quali per esempio:
•Testo
•Memo
Numero;
Data;
Valuta;
•Logico
Contatore.
L’applicativo più comunemente usato per l’implementazione è Microsoft
Access.
Università degli studi di Salerno
Progettare una base dati: il modello E-R [14]
a cosa servono le tabelle?
Le Tabelle sono l’unità base di un Database.
Rappresentano la struttura tipica all’interno della quale vengono
memorizzati i dati; un Database è in grado di gestire
contemporaneamente più tabelle.
Loro scopo è quello di raggruppare record omogenei, ovvero raccolgono un
insieme di dati relativi ad un argomento specifico (ENTITA’).
Esempio: nell’archivio per la gestione dei libri di una biblioteca, tutti i dati di
ogni singolo libro possono essere raggruppati in una tabella “Libri”
Università degli studi di Salerno
Progettare una base dati: il modello E-R [15]
struttura delle tabelle
Una tabella è costituita da:
• un insieme di campi, cioè spazi nei quali vengono inseriti i dati, nonché le
informazioni relative all’argomento della tabella (es. nella tabella “Libri”
titolo del libro, autore, anno di pubblicazione, …).
Titolo
Autore
Anno
CAMPO
CAMPO
CAMPO
 ogni RIGA prende il nome di record e contiene tutte le informazioni relative
ad un’entità dell’argomento (es.titolo, autore e anno di un singolo libro).
Titolo
Autore
Anno
I miei Anni
Ferrari
1980
 ogni COLONNA riporta le informazioni relative ad uno specifico attributo
(campo).
Università degli studi di Salerno
Progettare una base dati: il modello E-R [16]
creazione di una tabella
Una tabella è il risultato della trasformazione del diagramma ER.
La prima fase della sua creazione consiste nel determinare:
 Lo scopo della tabella e quindi l’argomento cui fa riferimento ciò che nel
diagramma ER rappresenta l’ENTITA’;
 I campi della tabella e quindi il tipo di informazioni che si intendono
raccogliere relative all’argomento ciò che nel diagramma ER rappresentano
gli ATTRIBUTI.
Università degli studi di Salerno
Progettare una base dati: il modello E-R [17]
esempio di creazione di una tabella
Immaginiamo di voler archiviare i libri conservati in una biblioteca, per poter
tenere sotto controllo la loro gestione.
È necessario quindi raccogliere in una tabella importanti informazioni relative
ad ogni singolo libro.
Quindi:
ARGOMENTO = Libri;
CAMPI = Titolo, Anno di pubblicazione, Autore.
Tabella Libri:
Titolo
Anno di pubblicazione
Autore
Università degli studi di Salerno
Progettare una base dati: il modello E-R [18]
regole per la creazione di tabelle
•Non ripetere le stesse informazioni in più tabelle, quindi evitare ridondanze;
•Evitare di creare voci con lo stesso nome che contengono informazioni
diverse;
•Ogni tabella deve contenere informazioni omogenee in modo da agevolare
l’archiviazione e la ricerca delle informazioni.
Università degli studi di Salerno
Progettare una base dati: il modello E-R [19]
chiavi primarie
L’ultimo elemento da considerare nella creazione di una tabella è
l’inserimento di un campo chiave o chiave primaria, che permette di
identificare in modo inequivocabile ogni singolo record. In genere è
numerato in modo progressivo.
ID Libro
Titolo
Anno di
pubblicazione
Autore
Pertanto il campo chiave non può mai:
• ammettere duplicati;
• Essere vuoto.
Università degli studi di Salerno
Progettare una base dati: il modello E-R [20]
ID Libro
Titolo
Anno di pubblicazione
Autore
1
Il cielo
1990
Scalise
2
Era mio padre
1985
Rossi
Nell’esempio, l’ “ID Libro=1” identifica solo ed esclusivamente il libro “Il cielo”,
per tanto il secondo libro non può essere identificato con lo stesso ID (1),
bensì con l’ ID=2, che identifica solo il secondo libro, e così via.
Ricorda:
- Un campo chiave può essere dato anche da un gruppo di campi:
- I campi candidati ad essere campi primari di una tabella sono detti
determinanti.
Università degli studi di Salerno
Progettare una base dati: il modello E-R [21]
gli indici
La chiave primaria di una tabella è un campo indicizzato, perché permette di
ordinare i dati secondo un ordine logico e di trovare rapidamente quelli che
cerchiamo.
In una tabella, gli indici permettono quindi di:
• ORDINARE I RECORD secondo un ordine logico, basato cioè sul contenuto
(alfabetico, numerico, cronologico) e non sull’ordine di inserimento;
•
TROVARE I RECORD che ci interessano più velocemente, evitando di doverli
scorrere tutti; in altre parole consentono di raggiungere direttamente il
record che vogliamo.
Università degli studi di Salerno
Progettare una base dati: il modello E-R [22]
- In una tabella l’INDICE può essere anche un campo diverso da quello chiave.
- Tra le proprietà attribuibili a ogni campo c’è infatti anche “Indicizzato”
Esempio:
Anno di pubblicazione
indicizzato
Ciò significa che i record della tabella saranno ordinati secondo il contenuto di
quel campo e la fase di ricerca delle informazioni sarà agevolata proprio
attraverso il campo stesso.
Università degli studi di Salerno
Progettare una base dati: il modello E-R [23]
Le relazioni tra tabelle
Sappiamo che per organizzare al meglio un archivio, bisogna creare tante
tabelle quante sono le tipologie di dati da raccogliere (es. tabella ‘libri’ e
tabella ‘autori’) :
ID Libro
Titolo
Anno di
pubblicazione
Autore
ID Autore
Nome
Cognome
Data di nascita
Tra le tabelle che costituiscono un archivio è possibile creare delle relazioni,
in modo da poter estrarre informazioni da più tabelle contemporaneamente,
e quindi unire tali informazioni.
Per RELAZIONI si intendono quindi associazioni tra tabelle.
Università degli studi di Salerno
Progettare una base dati: il modello E-R [24]
come stabilire le relazioni
Due tabelle per essere correlate devono avere un campo in comune.
Una relazione tra due tabelle si basa sempre sull’uso di una:
• CHIAVE PRIMARIA, che nella tabella A, detta tabella primaria, identifica in
modo univoco ogni singolo record e perciò non ammette duplicati;
• CHIAVE ESTERNA, che permette di collegare la tabella B, detta tabella
secondaria, con la tabella A, riportando gli stessi dati della chiave primaria
di quest’ultima, ammettendo duplicati.
! Una Relazione è quindi una corrispondenza tra il campo chiave primaria di
una tabella x e il campo chiave esterna di una tabella y.
Università degli studi di Salerno
Progettare una base dati: il modello E-R [25]
esempio: creare una relazione
Immaginiamo sempre di voler gestire i dati relativi ai libri di una biblioteca e
agli autori dei volumi:
Tabella Autori
ID Autore
Tabella Libri
ID Libro
ID Autore
Nome
Cognome
Titolo
Data di nascita
Anno di pubblicazione
ID Autore
Chiave primaria nella prima tabella e non ammette duplicati perché
identifica in maniera univoca ogni singolo autore;
Chiave esterna nella seconda e ammette duplicati perché libri diversi
possono essere stati scritti dallo stesso autore
Università degli studi di Salerno
Progettare una base dati: il modello E-R [26]
Per cui, inserendo i dati, potremmo avere:
ID Autore
Nome
Cognome
Data di nascita
1
Carlo
Insegno
13-04-1950
2
Antonio
Ponti
14-09-1953
ID Libro
Titolo
Anno di pubblicazione
ID Autore
1
Il gabbiano
1977
1
2
L’Alba
1980
1
Nell’esempio, i due libri sono stati scritti dallo stesso autore.
Grazie alla relazione tra le due tabelle resa dalla CHIAVE ESTERNA “ID Autore”,
per ogni libro è possibile avere delle informazioni anche sull’autore,
estrapolate dalla tabella primaria.
Università degli studi di Salerno
Progettare una base dati: il modello E-R [27]
quanti tipi di relazioni esistono?
La Relazione che intercorre tra due tabelle di un Database può essere di tre tipi:
 RELAZIONE UNO A UNO;
 RELAZIONE UNO A MOLTI;
 RELAZIONE MOLTI A MOLTI.
N.B. Definire la cardinalità significa esprimere numericamente il tipo di
relazione che c’è tra due tabelle (es. 1:1).
Università degli studi di Salerno
Progettare una base dati: il modello E-R [28]
relazione uno a uno
Un record di una tabella può essere correlato ad un solo record di una
seconda tabella.
Quindi la chiave esterna NON AMMETTE DUPLICATI.
1
ID Studente
Nome
Cognome
Matricola
1
Rossi
Federica
336498
1
ID Tesi
Titolo
Anno
ID Studente
1
L’arte
2000
1
Nell’esempio, la relazione è del tipo 1:1 perché una determinata tesi può
essere stata scritta da un solo studente.
Università degli studi di Salerno
Progettare una base dati: il modello E-R [29]
relazione uno a molti
Un record univoco di una tabella può essere correlato a più record di
un’altra tabella, ma non viceversa.
1
ID Docente
Nome
Cognome
1
Mario
Cadillo
∞
ID Studente
Nome
Cognome
ID Docente
1
Roberto
Palumbo
1
2
Caterina
Sola
1
Nell’esempio, la relazione è del tipo 1:¥ perchè un docente può essere il
relatore di più studenti, ma uno studente non può avere più di un relatore.
Università degli studi di Salerno
Progettare una base dati: il modello E-R [30]
relazione molti a molti
Più record di una tabella possono essere correlati a più record di un’altra
tabella.
! Questo tipo di relazione comporta necessariamente l’introduzione di una
terza tabella, detta tabella di congiunzione, in cui si riportano le chiavi
primarie di entrambe le tabelle, che qui diventano chiavi esterne e quindi
ammettono duplicati.
La TABELLA DI CONGIUNZIONE permette quindi di relazionare due tabelle
aventi più record collegati tra loro, attraverso l’impostazione di una
relazione 1: ¥ tra ciascuna tabella e la tabella di congiunzione stessa.
Università degli studi di Salerno
Progettare una base dati: il modello E-R [31]
Immaginiamo che il nostro archivio sia formato dalla tabella “esami” e la
tabella “studenti”:
1
ID Esame
Materia
Docente
1
Geografia
Rossi
2
Storia
Verdi
ID Esame
ID Studente
1
1
2
1
1
2
2
2
1
ID Studente
Nome
Cognome
1
Gaetano
Vitaliano
2
Anna
Crespo
Università degli studi di Salerno
Progettare una base dati: il modello E-R [32]
Nell’esempio, la relazione è del tipo Molti : Molti perché uno stesso esame può
essere sostenuto da più studenti e viceversa uno stesso studente può
sostenere più esami.
Per cui è necessaria la tabella di congiunzione, con la quale la tabella “esami” e
la tabella “studenti” hanno una relazione 1: Molti, e grazie a questa tabella è
possibile estrapolare informazioni da entrambe le tabelle principali, e quindi
avere informazioni su tutti gli studenti che hanno sostenuto un determinato
esame oppure sugli esami che un determinato studente ha sostenuto.
Università degli studi di Salerno
Progettare una base dati: il modello E-R [33]
l’integrità referenziale
Definite le relazioni, è possibile impostare l’ Integrità Referenziale.
L’Integrità referenziale si basa su alcune regole principali:

Non è possibile immettere un valore nel campo chiave esterna della
tabella correlata che non esista nella chiave primaria della tabella
primaria;

Non è possibile eliminare un record da una tabella primaria se esistono
record corrispondenti in una tabella correlata;

Non è possibile modificare un valore chiave primaria nella tabella primaria
se quel record dispone di record correlati.
L’Integrità referenziale serve quindi per assicurare che le relazioni tra i
record delle tabelle correlate siano valide.
Università degli studi di Salerno
Implementare una base dati: Microsoft Access [1]
le caratteristiche di Microsoft Access
Microsoft Access è il DBMS più frequentemente utilizzato per l’implementazione
e la gestione di database.
Un database Access è organizzato secondo la tipologia relazionale che prevede
che i dati e le relazioni fra i dati siano rappresentati come tabelle. Le relazioni
fra le diverse tabelle sono definite implicitamente attraverso campi comuni alle
tabelle stesse.
Access rappresenta quindi un Sistema di Gestione di Basi di Dati Relazionale
(rdbms), in grado di creare e aggiornare archivi, di definire collegamenti tra
essi, di estrarre informazioni secondo modalità standard e flessibili, di fissare
vincoli di integrità sui dati, di evitare ridondanze (ripetizioni) nelle archiviazioni,
di definire sistemi di sicurezza nell’aggiornamento dei dati e di protezione degli
accessi.
E’ in grado, quindi, di gestire grosse moli di dati.
Università degli studi di Salerno
Implementare una base dati: Microsoft Access [2]
come accedere a Microsoft Access
Il percorso da fare è:
START
PROGRAMMI
MICROSOFT ACCESS
Università degli studi di Salerno
Implementare una base dati: Microsoft Access [3]
come procedere nella creazione di un database
Dopo aver aperto Microsoft Access, si procede alla creazione di un
Database:
DATABASE VUOTO
Finestra SALVA DATABASE
Database
vuoto
Salva database
Notiamo che prima ancora di creare il nostro Database, la prima cosa da fare è
salvarlo, attribuendogli naturalmente un nome e specificando dove lo si vuole
salvare.
Università degli studi di Salerno
Microsoft Access [4]: creare campi record e tabelle
creare la prima tabella
Access da ora la possibilità di creare la prima tabella, e quindi di “mettere in piedi”
il Database.
Creare una tabella in
visualizzazione
struttura
OGGETTI del database
La costruzione della tabella avviene in visualizzazione Struttura.
Università degli studi di Salerno
Microsoft Access [5]: creare campi record e tabelle
La visualizzazione Struttura permette di:
• Immettere i NOMI DEI CAMPI da includere nella tabella;
• Definire il TIPO di dati che ogni campo dovrà contenere;
• Definire le PROPRIETA’ di ogni campo;
• Definire la CHIAVE PRIMARIA della tabella, posizionandosi sul campo
candidato e premendo sull’icona opportuna.
Per creare la chiave primaria.
Nomi campi
Tipo dati
Proprietà campi
Università degli studi di Salerno
Microsoft Access [6]: creare campi record e tabelle
Immessi tutti i campi necessari, e quindi costruita la struttura della tabella,
occorre:
• salvarla;
• darle un nome.
Oggetto “tabelle”
Tabella creata
La tabella così creata, apparirà nell’oggetto “TABELLE”.
Da questa finestra sarà possibile creare altre tabelle cliccando sull’icona
e seguire sempre la stessa procedura.
Università degli studi di Salerno
Microsoft Access [7]: creare relazioni
creare le relazioni tra tabelle
Cliccare sull’icona “Relazioni”:
“Relazioni”
Apparirà una finestra per scegliere le tabella da correlare:
Università degli studi di Salerno
Microsoft Access [8]: creare relazioni
Una volta scelte le tabelle, queste appariranno visualizzate nella Finestra
“Relazioni” :
Per creare la relazione, basta trascinare il campo chiave primaria della tabella
primaria (es. “id cantante” tabella 2) sul campo chiave esterna della tabella
secondaria (es. “id cantante” tabella 1), ed appare una piccola finestra,
“Modifica Relazioni” in cui poter applicare l’integrità referenziale.
Università degli studi di Salerno
Microsoft Access [9]: creare relazioni
Nella Finestra “Relazioni” sarà poi possibile visualizzare la relazione creata e le
cardinalità della relazione stessa:
Nell’esempio, abbiamo una relazione Uno a Molti (1: ¥).
Università degli studi di Salerno
Microsoft Access [10]: creare relazioni
inserire i dati nelle tabelle
Per inserire i dati all’interno del Database è possibile farlo tramite le TABELLE
precedentemente create:
• selezionare la tabella;
• aprirla.
Tabella da aprire
Università degli studi di Salerno
Microsoft Access [11]: creare relazioni
La tabella si aprirà in Visualizzazione Foglio dati e a questo punto sarà
possibile inserire tutti i dati necessari, nei rispettivi campi.
Chiudendo la tabella, i dati vengono memorizzati automaticamente.
Visualizzazione foglio dati
Università degli studi di Salerno
Microsoft Access [12]: maschere
che cos’è una maschera
La Maschera è un’INTERFACCIA GRAFICA che semplifica le operazioni di
visualizzazione, inserimento e modifica dei dati di un database.
Una maschera può visualizzare solo determinate informazioni che interessano
l’utente, a differenza delle tabelle che presentano l’elenco completo di
tutti i record relativi ad uno stesso argomento.
La peculiarità consiste nel fatto che i campi di una maschera possono essere
prelevati da più tabelle diverse, e quindi ogni record di una maschera può
essere rappresentato da informazioni provenienti da tabelle differenti.
Esempio: attraverso una maschera è possibile visualizzare in un unico record
le informazioni relative ai libri di una biblioteca e le informazioni relative
agli autori di tali libri.
Università degli studi di Salerno
Microsoft Access [13]: maschere
creazione di una maschera
La creazione di una maschera avviene secondo procedimenti sequenziali, e
partendo dalla prima operazione occorre impostare:
•
i CAMPI, e quindi i dati, delle tabelle o delle query relative, che si vogliono
inserire nella maschera;
•
il LAYOUT da applicare alla maschera;
•
lo STILE da attribuire alla maschera;
•
il TITOLO da assegnare alla maschera;
•
La MODALITA’ DI APERTURA della maschera.
Ogni informazione all’interno di una maschera è contenuta in un controllo.
Università degli studi di Salerno
Microsoft Access [14]: maschere
riempimento di una maschera
Le maschere sono simili a moduli cartacei: ad ogni campo corrisponde
un’etichetta ed è previsto uno spazio utilizzabile per l’inserimento delle
informazioni.
Una maschera può essere riempita inserendo nuovi record che si vanno ad
aggiungere a quelli già presenti nella maschera stessa.
N.B. i dati introdotti in una maschera vengono automaticamente introdotti
nella tabella o nelle tabelle che supportano la maschera stessa.
Università degli studi di Salerno
Microsoft Access [15]: maschere
impostazioni avanzate
Su
o
o
o
o
o
una maschera si può operare in diversi modi, potendo:
impostare/visualizzare le proprietà;
inserire un’intestazione ;
inserire piè di pagina;
inserire etichette, pulsanti, immagini ed altro ancora;
cambiare il colore di sfondo, il carattere, ecc.
Inoltre è possibile:
• modificare i dati;
• cancellare uno o più record.
Università degli studi di Salerno
Microsoft Access [16]: maschere
estrarre dei dati da un database: le maschere
Per estrarre dei dati da un database attraverso le maschere, occorre:
- selezionare l’oggetto maschere dalla Finestra “Oggetti” ;
- clic su Crea una maschera mediante una creazione guidata.
Oggetto maschere
Crea mediante una creazione guidata
Università degli studi di Salerno
Microsoft Access [17]: maschere
Nella Finestra “Creazione guidata Maschera”
è poi possibile:
- Scegliere le tabelle e i campi da cui
estrarre i dati;
- Sceglier il layout da attribuire alla
maschera;
Università degli studi di Salerno
Microsoft Access [18]: maschere
- Scegliere lo stile da utilizzare;
- Scegliere il titolo da assegnare alla maschera
Università degli studi di Salerno
Microsoft Access [19]: maschere
A questo punto la nostra maschera è creata.
Ad essa è possibile apportare modifiche varie (sfondo, carattere, ecc.)
aprendola in Visualizzazione Struttura:
Per aprire in Visualizzazione Struttura
Maschera creata
MASCHERA IN
VISUALIZZAZIONE
STRUTTURA
Università degli studi di Salerno
Microsoft Access [20]: maschere
Ricorda: attraverso le maschere è anche possibile “importare” nuovi record nel
database, posizionandosi alla fine dell’ultimo record.
Per posizionarsi dopo l’ultimo record.
! I nuovi dati inseriti nella maschera, saranno automaticamente inseriti nelle rispettive tabelle.
Università degli studi di Salerno
Microsoft Access [21]: query
che cos’è una query?
Una Query rappresenta uno strumento per “interrogare” un database.
Permette di recuperare specifiche informazioni tra i tanti dati archiviati nel
database e raccolti in tabelle correlate, effettuando ricerche incrociate sui
record che rispondono a determinate caratteristiche e filtrando così i dati
che interessano, provenienti anche da tabelle diverse.
Esempio: in un database che gestisce i libri di una biblioteca, tramite una query
posso chiedere di individuare tutti i libri scritti da un certo autore.
SQL (Structured Query Language) è il linguaggio standard per creare una query,
nonché per interrogare il database.
Università degli studi di Salerno
Microsoft Access [22]: query
creazione di una query di selezione
La Query di Selezione permette di selezionare ed estrapolare all’interno del
database i dati contenuti in determinati campi di una tabella che
rispondono a determinate condizioni di ricerca.
La sintassi per la formulazione della domanda è:
SELECT nomi_campi FROM nome_tabella WHERE condizioni ricerca.
Esempio: vogliamo conoscere il saldo residuo relativo ad un determinato
numero di conto corrente
SELECT saldo FROM conto corrente WHERE numero conto corrente = 125
CAMPO
TABELLA
CONDIZIONE
Università degli studi di Salerno
Microsoft Access [23]: query
tipologie particolari di query
1. QUERY DI ORDINAMENTO: Ordina i dati della ricerca secondo l’ordine da noi
stabilito, ovvero secondo i dati di un campo che scegliamo.
Sintassi:
SELECT nomi_campi FROM nome_tabella ORDER BY campo.
Esempio: vogliamo estrarre tutti i dati contenuti nella tabella “libri” in modo
che tutti i libri siano ordinati a seconda dell’anno di pubblicazione.
SELECT * FROM libri ORDER BY anno di pubblicazione
COMANDO PER SELEZIONARE TUTTI I CAMPI
Università degli studi di Salerno
Microsoft Access [24]: query
2. QUERY DI ACCODAMENTO: permette di aggiungere nuovi dati in una tabella
passandoli come stringhe di valori, anziché aggiungerli direttamente nelle
tabelle stesse.
Sintassi:
INSERT INTO nome_ tabella VALUES dati da aggiungere.
Esempio: vogliamo inserire un nuovo libro nella tabella “Libri”
INSERT INTO libri VALUES (i miei giorni, 1980).
DATI CHE ANDRANNO NEI CAMPI “Titolo” e
“Anno di pubblicazione”
Università degli studi di Salerno
Microsoft Access [25]: query
3. QUERY DI ELIMINAZIONE: permette di eliminare da una tabella i record
selezionati mediante le istruzioni della query.
Sintassi:
DELETE FROM nome_tabella WHERE nome _campo = condizione.
Esempio: vogliamo eliminare dalla tabella “libri” il libro “I miei giorni”
DELETE FROM libri WHERE titolo = I miei giorni.
Università degli studi di Salerno
Microsoft Access [26]: query
4. QUERY DI AGGIORNAMENTO: permette di aggiornare il valore dei campi di una
tabella in base alle istruzioni della query.
Sintassi:
UPDATE nome_tabella SET nome_campo da aggiornare =
aggiornamento WHERE nome_campo = condizione.
Esempio: vogliamo aumentare del 10% il saldo del conto del signor Bianchi.
UPDATE conto corrente SET saldo = saldo * 1,1 WHERE cognome = Bianchi.
Università degli studi di Salerno
Microsoft Access [27]: query
5. QUERY DI JOIN (UNIONE): chiama in gioco due tabelle correlate tra loro e
permette quindi di estrarre specifici dati appartenenti ad entrambe le tabelle.
Viene così detta perché unisce i dati di due tabelle, che devono però avere un
campo in comune.
Sintassi:
SELECT nomi_campi FROM nomi_tabelle WHERE nome_campo = condizione
AND nome_tabella.nome_campo chiave in comune =
nome_tabella.nome_campo chiave in comune.
Esempio: vogliamo sapere nome e indirizzo dei correntisti che hanno un
movimento in data 13-03-2001.
SELECT nome, indirizzo FROM conto corrente, movimento WHERE data = 13-032001 AND conto corrente.numero conto corrente = movimento.numero conto
corrente.
Università degli studi di Salerno
Microsoft Access [28]: query
In questo esempio, la query viene così costruita perché chiama in causa due
tabelle:
- la tabella “Conto Corrente” dove vi sono le informazioni relative ai “nomi” e
agli “indirizzi” dei correntisti;
- la tabella “Movimento” dove sono riportate le “date” dei movimenti.
Le due tabelle sono correlate tra loro attraverso il campo chiave “numero
conto corrente”, che permette quindi di estrapolare informazioni sui
correntisti e sui movimenti da loro effettuati.
Università degli studi di Salerno
Microsoft Access [29]: query
estrarre dei dati da un database: le query
Per “interrogare” il database:
- selezionare l’oggetto query dalla Finestra “Oggetti” ;
- clic su crea una query in visualizzazione struttura.
Oggetto query
Crea in visualizzazione
struttura
Università degli studi di Salerno
Microsoft Access [30]: query
-Scegliere le tabelle da cui estrarre i dati;
Campi
Tabelle
Criteri
Finestra “Mostra tabella”
per scegliere le tabelle
-Definire i campi da includere, le tabelle da cui estrarli, i criteri;
-Eseguire la Query, premendo l’icona
-Salvare la query.
Università degli studi di Salerno
Microsoft Access [31]: query
le diverse tipologie di query
Per eseguire Query diverse da quelle di selezione, una volta costruita la query,
occorre:
• Posizionarsi sulla barra dei Menu e cliccare sulla voce Query;
• Dal Menu a tendina si può scegliere tra:
query di aggiornamento
query di accodamento
query di eliminazione

Specificare quindi eventuali criteri aggiuntivi ed eseguire la Query.
Università degli studi di Salerno
Microsoft Access [32]: report
che cos’è un report
- Un Report è uno strumento che permette di organizzare e riepilogare le
informazioni contenute in un database.
- In italiano il termine corrisponde a RAPPORTO, quindi un report è una sorta di
relazione sulle informazioni contenute nel database, un modo per “renderle
pubbliche”.
- Un Report consente di rappresentare i dati con un accurato profilo estetico
grazie alla possibilità di controllare le dimensioni e l’aspetto di tutti gli
elementi del report (intestazioni, piè di pagina, corpo e titoli).
- In genere i Report sono destinati alla stampa.
Università degli studi di Salerno
Microsoft Access [33]: report
creazione di un report
La creazione di un report prevede diverse fasi. Partendo dalla prima, occorre
scegliere:







le TABELLE o le QUERY dalle quali estrarre i dati, e quindi i CAMPI che
vogliamo siano compresi nel Report;
su QUALE BASE VISUALIZZARE I DATI;
se uno o più campi tra quelli inseriti devono essere usati come CRITERIO
DI RAGGRUPPAMENTO;
se i record devono essere ORDINATI in base ad un determinato campo;
il LAYOUT e l’ORIENTAMENTO da attribuire al Report;
lo STILE del Report;
il TITOLO per il nostro Report.
Università degli studi di Salerno
Microsoft Access [34]: report
impostazioni avanzate
Un
•
•
•
•
•
•
Report può essere “manipolato” in diversi modi, essendo possibile:
inserire un’intestazione;
inserire piè di pagina;
consultare e modificare le proprietà;
inserire etichette, scegliere il tipo di carattere, aggiungere sfondi, ecc.;
aggiungere altri campi, dopo aver già realizzato il Report;
modificare i campi, riducendo ad esempio le dimensioni del carattere, o
cambiando altre proprietà.
Università degli studi di Salerno
Microsoft Access [35]: report
estrarre dei dati da un database: i report
Per avere un “rapporto” su specifici dati contenuti nel database, è necessario:
- Selezionare l’oggetto report dalla Finestra “Oggetti”;
- Clic su Crea un report mediante una creazione guidata;
Oggetto report
Crea mediante una creazione guidata
Università degli studi di Salerno
Microsoft Access [36]: report
Nella Finestra “Creazione guidata Report” è possibile:
- Scegliere le tabelle e i campi da cui
estrarre i dati;
- Aggiungere livelli di gruppo;
Università degli studi di Salerno
Microsoft Access [37]: report
- Scegliere il tipo di ordinamento secondo il quale ordinare i campi;
- Scegliere il layout del report e l’orientamento da dare alla pagina;
Università degli studi di Salerno
Microsoft Access [38]: report
- Scegliere lo stile da utilizzare;
- Scegliere il titolo da assegnare al report.
Università degli studi di Salerno
Microsoft Access [39]: report
A questo punto il report è stato creato e, se si vuole, può essere stampato.
Prima, però, ad esso è possibile apportare modifiche varie (sfondo,
carattere, ecc.) aprendolo in Visualizzazione Struttura:
Per aprire in Visualizzazione
Struttura
Report
creato
REPORT IN
VISUALIZZAZIONE
STRUTTURA
Università degli studi di Salerno
Bibliografia
Semantic Database Systems: A Functional Introduction - C.S.R. Prabhu - University
of Nevada Press, 1992
Basi di dati. Concetti, linguaggi e architetture - Paolo Atzeni - McGraw-Hill, 1999
Archivi & computer - Roberto Cerri - “Archivi & computer” 1993
Beginning Database Design - Gavin Powell - John Wiley and Sons, 2005
VB.NET. Programmazione dei Database - Giuseppe Naccarato, Giuseppe Malorgio Apogeo Editore, 2003
How to Do Everything with Microsoft Office Access - Virginia Andersen - McGraw-Hill
Professional, 2003
Microsoft Access 2007 - Carolina Testori - da Sprea Book, 2007
Università degli studi di Salerno
86