INFORMATICA
Corso Base
Modulo G:
I DataBase  Access
Dal file al database
• Alcuni problemi relativi all’uso dei file del tipo
tradizionale sono legati alla rigidità della loro struttura,
definita dal programmatore al momento della creazione.
• Si è pensato di inserire tra il file e l’utente un software
specifico per la gestione degli archivi, di facile uso
anche per gli utenti inesperti, molto dinamico e flessibile.
Questi tipi di programmi forniscono un’interfaccia tra
l’utente finale e la struttura fisica dei file di dati, facendo in
modo che l’utente utilizzi solo i dati necessari senza dover
necessariamente conoscere come essi sono effettivamente
organizzati sui dispositivi di memoria di massa.
Modulo G: I Database
2
DataBase e DBMS
• Si chiama DataBase un insieme di informazioni
(conservate su memoria di massa) correlate tra loro e
alle quali più utenti contemporaneamente possono
accedere, tramite programmi specifici, per compiere
delle operazioni secondo una propria logica di lavoro.
• Definiamo DBMS (Data Base Management System)
l’insieme dei programmi che consentono agli utenti
(anche inesperti) la gestione di archivi, secondo un
preciso linguaggio e modalità di lavoro semplici e
intuitive.
Modulo G: I Database
3
Struttura FISICA e LOGICA
dei dati
Il DBMS realizza una separazione tra la struttura fisica e la
struttura logica dei dati, organizzandoli su tre livelli:
Livello fisico: indica la struttura fisica dei file che
costituiscono gli archivi, così come vengono memorizzati sul
dispositivo di memoria di massa;
Livello concettuale: indica la struttura logica dei dati, cioè
il modo in cui le informazioni contenute negli archivi
vengono aggregate, indipendentemente dagli archivi fisici in
cui esse sono inserite;
Livello logico: indica la porzione dei dati che in un certo
istante è visibile a ogni utente.
Modulo G: I Database
4
Modello di un DataBase
• Il modello di un DataBase è una mappa che riproduce
in modo simbolico una realtà, contiene sia le entità
che costituiscono i dati sia le reciproche relazioni che
consentono di ottenere le informazioni di cui l’utente
ha bisogno.
• A seconda della strategia di progettazione abbiamo:
– MODELLO GERARCHICO
– MODELLO RETICOLARE
– MODELLO RELAZIONALE
– MODELLO AD OGGETTI
Modulo G: I Database
5
Modello Relazionale
• Un DataBase rappresentato mediante un modello
relazionale, viene immaginato dall’utente come un
insieme di tabelle bidimensionali correlate tra loro
mediante dei valori in campi comuni.
• Nelle colonne delle tabelle avremo gli attributi (o campi)
che indicano le caratteristiche del dato.
• Nelle righe avremo, invece, i record (le tuple) dei dati.
Possiamo avere un numero arbitrario (ossia non
predefinito) di tuple all’interno di una tabella.
Modulo G: I Database
6
Modello Relazionale (cont.)
Attributi
Amici
Nome
Gloria
Nicola
Cognome Indirizzo Telefono
Fantini Via Pola 054497**
Rossi Via Roma 054732**
Tuple
Cod-fiscale
fntglr145
rssncl145
Il numero e il nome delle colonne è fisso mentre il numero
(e il contenuto) delle righe può variare in ogni momento
per effetto di inserimenti, modifiche e cancellazioni.
Modulo G: I Database
7
Modello Relazionale (cont.)
• Ogni riga della tabella deve differenziarsi da tutte le
altre per il valore di almeno uno degli attributi.
• Ogni riga della tabella deve essere identificabile
univocamente. Solo così è possibile effettuare
efficacemente operazioni di ricerca e manipolazione
dei dati contenuti nel database.
• CAMPO CHIAVE: è un attributo o una
combinazione di essi che identifica in modo univoco
ogni singola riga della tabella.
Modulo G: I Database
8
Modello Relazionale (cont.)
Amici
Cod-fiscale
fntglr145
rssncl145
Nome
Gloria
Nicola
Cognome Indirizzo Telefono
Fantini Via Pola 054497**
Rossi Via Roma 054732**
Campo chiave: siamo sicuri che è diverso per ogni amico.
Modulo G: I Database
9
Modello Relazionale (cont.)
• Il termine relazione indica il concetto di esistenza
di un legame tra i dati, quindi una tabella
costituisce una relazione in quanto contiene tutti i
record che verificano in certo legame logico.
• Possiamo dire che nel modello relazionale tutte le
relazioni tra i dati vengono espresse mediante
tabelle.
Modulo G: I Database
10
Le operazioni
• Il modello relazionale si basa su 3 operazioni
elementari che hanno come operandi delle relazioni e
restituiscono come risultato delle altre relazioni.
• Le operazioni sono:
–
–
–
Modulo G: I Database
SELEZIONE
PROIEZIONE
JOIN
11
SELEZIONE
• La selezione opera su una sola tabella. L’operando
è una relazione, il risultato mantiene tutti gli
attributi originali, ed è composta dalle sole righe
che
verificano
la
condizione
indicata
dall’istruzione.
Amici
Cod-fiscale
fntglr145
rssncl145
Modulo G: I Database
Nome
Gloria
Nicola
Cognome Indirizzo Telefono
Fantini Via Pola 054497**
Rossi Via Roma 054732**
12
PROIEZIONE
• Opera su una sola tabella. L’operando è una
relazione e il risultato restituisce solo gli attributi
indicati nell’istruzione e un numero di righe < o =
a quello della relazione di partenza.
Amici
Cod-fiscale
fntglr145
rssncl145
Modulo G: I Database
Nome
Gloria
Nicola
Cognome Indirizzo Telefono
Fantini Via Pola 054497**
Rossi Via Roma 054732**
13
JOIN
• Opera su due relazioni aventi un attributo in
comune e produce una sola relazione. Lo scopo di
questa operazione è di combinare le tabelle di
partenza in una nuova che conserva gli attributi di
entrambe e impiega l’attributo comune come
punto di congiunzione.
Modulo G: I Database
14
Vendo
Codice-V
0123
0128
Venditore
Sede
Gloria
Milano1
Nicola Genova1
Città
Milano
Genova
Indirizzo
Sede
Milano1
Genova1
Genova2
Modulo G: I Database
Indirizzo Telefono
Via Pola
8564
Via Sasso
0254
Via Verdi
0254
15
Effettuiamo un’operazione di Join tra le due tabelle VENDO
e INDIRIZZO tramite l’attributo SEDE. Il risultato è una
nuova relazione, che chiamiamo Combina.
Combina
Codice-V
0123
0128
Venditore
Sede
Gloria
Milano1
Nicola Genova1
Modulo G: I Database
Città
Indirizzo Telefono
Milano Via Pola
8564
Genova Via Sasso
0254
16
Relazioni tra TABELLE
• Quando si decide di collegare tra loro due tabelle
bisogna avere ben chiaro che tipo di collegamento
realizzare.
– Esempio: generalmente ogni cliente avrà un solo indirizzo
mentre potrà prenotare presso l’albergo più periodi di
soggiorno.
• La tabella più importante si chiamerà tabella
principale (ossia quella contenente i dati
indispensabili all’elaborazione) e l’altra sarà la
tabella secondaria.
Modulo G: I Database
17
La cardinalità delle relazioni
• 1 a 1
ogni record della prima tabella corrisponde a un
unico record della seconda e viceversa
• 1 a M
ogni record della prima tabella corrisponde a
uno a più record della seconda, ma ogni record di
quest’ultima corrisponde a un unico record della
prima
• M a M
ogni record della prima tabella corrisponde a più
Modulo G: I Database
record della seconda e viceversa.
18
QUERY
• Per individuare
più tabelle si
semplicemente
database per
specifiche.
e prelevare informazioni da una o
utilizzano le QUERY: si tratta
di una richiesta effettuata al
il ritrovamento di informazioni
• Il linguaggio standard utilizzato per fare le
interrogazioni si chiama SQL; in Access è possibile
definire semplici query anche in modo visuale.
Modulo G: I Database
19
Integrità referenziale
• E’ un insieme di regole che controllano le
modalità
di
inserimento,
modifica,
eliminazione dei dati sia dalla tabella
principale sia dalla tabella secondaria per
far si che i dati continuino ad essere
consistenti con lo schema predefinito del
database.
Modulo G: I Database
20