Le basi di dati
Le basi di dati
 In Informatica per Basi di dati (database) si
intende:
archivi di dati, organizzati in modo integrato
attraverso tecniche di modellazione dei dati e
gestiti sulle memorie di massa dei computer
attraverso appositi software (DBMS), con
l’obiettivo di raggiungere una grande efficienza
nel trattamento e nel ritrovamento dei dati
superando anche i limiti presenti
nell’organizzazione tradizionale degli archivi.
Le basi di dati
 Il database è una collezione di archivi di dati ben
organizzati e ben strutturati, in modo che possano
costituire una base di lavoro per utenti diversi con
programmi diversi.
 Es: i dati relativi agli articoli del magazzino di
un’azienda possono essere utilizzati dal
programma che stampa le fatture e dal programma
che stampa i listini di magazzino.
FATTURE
LISTINI
ARTICOLI
Proprietà
 In campo informatico, la Teoria delle Basi di
Dati studia come organizzare al meglio grandi
quantità di informazioni, per garantire:
 Efficienza: possibilità di ritrovare facilmente
le informazioni desiderate (anche attraverso
criteri di ricerca diversi) in termini di velocità
nell’elaborazione, e in termini di spazio
occupato nella memorizzazione in memoria di
massa.
Proprietà
 Inoltre devono essere garantite:
 Consistenza degli archivi: i dati in essi contenuti
devono essere significativi ed essere effettivamente
utilizzabili nelle applicazioni dell’azienda per cui è
stata progettata.
 Sicurezza: impedire che il database venga
danneggiato da interventi accidentali o non
autorizzati.
 Integrità: le operazioni effettuate sul database da
utenti autorizzati non devono provocare perdita di
consistenza ai dati.
Proprietà
•Le basi di dati sono:
•Grandi nel senso che possono avere dimensioni
enormi, in particolare maggiori della memoria
centrale disponibile.
Gli archivi che costituiscono la base di dati
possono risiedere:
• su un unico computer;
• su computer diversi, facenti parte di una rete, i
cui nodi possono anche essere fisicamente
lontani (database distribuiti).
Proprietà
• Persistenti: I dati hanno un ciclo di vita che
dura nel tempo; questa è un’altra ragione
per la gestione in memoria secondaria.
• Condivise: applicazioni e utenti diversi
devono poter accedere, secondo opportune
modalità ai dati. Una base di dati è una
risorsa tra varie applicazioni (accesso
contemporaneo ad uno stesso dato).
DBMS
 DBMS (DataBase Management System):
(sistema di Gestione di basi di dati) prodotti
software per la gestione di dati. Esempio di
DBMS in commercio: Access, MySQL,
Oracle
 I DBMS devono prevedere una gestione dei
dati in memoria secondaria dati senza porre
limiti alle dimensioni (a parte quelle fisiche dei
dispositivi).
DBMS
I DBMS consentono all’utente un accesso più
semplice e più vicino all’applicazione che
utilizza i dati contenuti negli archivi
allontanandosi da quelle che sono le
caratteristiche della memorie di massa che
contiene l’archivio.
(Nell’organizzazione tradizionale degli
archivi, l’accesso ai dati è legato
all’organizzazione degli archivi e quindi al
supporto di memoria di massa utilizzato. )
DBMS
L’utente del database può concentrare la sua
attenzione sul progetto degli archivi, sulla
gestione e sul ritrovamento delle informazioni,
senza preoccuparsi del modo in cui sono
organizzati fisicamente i dati sulle memorie di
massa. Tale compito rimane a carico del
software per la gestione della base di dati.
DBMS
Un DBMS deve essere in grado di:
 Permettere la creazione di una nuova base di dati,
definendo gli archivi che la compongono, la loro
articolazione, le correlazioni logiche tra gli
archivi, i limiti nell’accesso ai dati e i vincoli
imposti alla loro manipolazione;
 Facilitare gli utenti nelle operazioni di
manipolazione (inserimento, modifica e
cancellazione);
 Rendere possibile l’estrazione di informazioni dal
database (interrogazione).
Caratteristiche fondamentali
Facilità di accesso: il ritrovamento dei dati è
facilitato e svolto con grande velocità.
Indipendenza dalla struttura fisica dei dati: i
programmi applicativi sono indipendenti dai dati
fisici, cioè è possibile modificare i supporti con cui
i dati sono registrati e le modalità di accesso alle
memorie di massa senza modifiche alle
applicazioni.
Caratteristiche fondamentali
Indipendenza dalla struttura logica dei dati: i
programmi applicativi sono indipendenti dalla struttura
logica con cui i dati sono organizzati negli archivi;
l’organizzazione logica dei dati può essere modificata
senza implicare modifiche nel software applicativo.
eliminazione della ridondanza: gli stessi dati non
compaiono più volte in archivi diversi (questo avviene
per effetto di una opportuna progettazione della
struttura concettuale della base di dati).
Caratteristiche fondamentali
eliminazione delle inconsistenze: si parla di
inconsistenza quando due dati che rappresentano
la stessa informazione assumono valori diversi
(es: l’indirizzo di un cliente su due file diversi, di
cui solo uno viene aggiornato)
integrità dei dati: vengono previsti controlli per
evitare anomalie ai dati causate dai programmi e
dalle applicazioni degli utenti;
Caratteristiche fondamentali
utilizzo da parte di più utenti: i dati organizzati in
un unico database possono essere utilizzati da più
utenti con i loro programmi, consentendo anche
una visione solo parziale del database da parte del
singolo utente (controllo di concorrenza);
Caratteristiche fondamentali
 sicurezza dei dati: sono previste procedure
di controllo per impedire accessi non
autorizzati ai dati contenuti nel database
(meccanismi di autorizzazione - abilitando
ciascun utente a svolgere soltanto
determinate azioni sui dati) e di protezione
da guasti accidentali o malfunzionamenti
hardware e software(funzionalità di backup
e recovery);
Caratteristiche fondamentali
uso di linguaggi per la gestione del database: il
database viene gestito attraverso comandi per la
manipolazione dei dati in esso contenuti e
comandi per effettuare interrogazioni alla base di
dati, al fine di ottenere le informazioni desiderate.
Database Modello di realtà
 Il database è un modello della realtà considerata: i
contenuti della base di dati rappresentano gli stati
in cui si trova la realtà da modellare.
 I cambiamenti che vengono apportati alla base di
dati rappresentano gli eventi che avvengono
nell’ambiente in cui opera l’azienda.
CONTENUTI DEL DB
CAMBIAMENTI NEL DB
STATI DELLA REALTA’
EVENTI NELLA REALTA’
Fase iniziale
 Date le esigenze dell’utente relative a una
determinata situazione, che chiameremo realtà
d’interesse, occorre:
 Analizzare tale realtà d’interesse.
 Progettare e realizzare una base di dati che possa
soddisfare le esigenze dell’utente.
 L’uso dei dati organizzati in un database
presuppone un attento lavoro di progettazione
iniziale, che viene fatto con riferimento ai dati che
si vogliono memorizzare e successivamente
elaborare.
Modellazione dei dati
Modellare i dati significa costruire una
rappresentazione semplificata della realtà
osservata,
individuandone
gli
elementi
caratterizzanti e i legami intercorrenti tra essi.
La progettazione di un modello di dati avviene a
livelli diversi:
• Livello concettuale;
• Livello logico;
• Livello fisico.
Modellazione dei dati
 Livello concettuale (o esterno) ha lo scopo di
costruire e definire una rappresentazione corretta e
completa della realtà di interesse, indipendente dai
valori assegnati ai dati e dalle applicazioni che
useranno i dati.
 Livello logico ha lo scopo di trasformare la
rappresentazione astratta della realtà in uno schema
logico, descrive quindi la composizione ed il
formato dei dati nel loro aspetto di struttura logica
dei dati, legato al DBMS che si vuole utilizzare.
 Livello fisico definisce tutti gli aspetti fisici di
memorizzazione e rappresentazione in memoria di
massa.
Modellazione dei dati:
 Il risultato delle tre fasi di modellazione dei
dati sono:
 Lo schema concettuale;
 Lo schema logico;
 Lo schema fisico.
Modellazione dei dati
Livelli
CONCETTUALE
LOGICO
FISICO
REALTA’
SCHEMA CONCETTUALE
SHEMA LOGICO
SCHEMA FISICO