BASI di Dati: Fondamenti e
modelli
Maurizio Fermeglia
[email protected]
www.caslab.units.it
Sistema Informatico
porzione automatizzata del sistema informativo
il sistema informatico è la parte del sistema informativo
che gestisce informazioni per mezzo della tecnologia
informatica.
Sistema azienda
Sistema organizzativo
Sistema informativo
Sistema informatico
Corso Di Basi di Dati
21 December, 2015 - slide 2
Gestione delle informazioni
Nelle attività umane, le informazioni vengono gestite (registrate
e scambiate) in forme diverse, a seconda delle necessità e
capacità:





idee informali
linguaggio naturale (scritto o parlato, formale o colloquiale, in una
lingua o in un’altra)
disegni, grafici, schemi
numeri
codici (anche segreti)
e su vari supporti, dalla memoria umana alla carta
Ogni organizzazione ha bisogno di memorizzare e mantenere
informazioni specifiche. Per esempio:




Corso Di Basi di Dati
Utenze telefoniche
Conti correnti bancari
Studenti iscritti a un corso di laurea
Quotazioni di azioni nei mercati telematici
21 December, 2015 - slide 3
Gestione delle informazioni
Nelle attività standardizzate dei sistemi informativi complessi,
sono state introdotte col tempo forme di organizzazione e
codifica delle informazioni.
Ad esempio, nei servizi anagrafici si è iniziato con registrazioni
discorsive e sono state poi introdotte informazioni via via più
precise (e in un certo senso artificiali):



nome e cognome;
estremi anagrafici;
codice fiscale
I sistemi informativi organizzano e gestiscono le informazioni
necessarie alle attività di un’organizzazione:



Corso Di Basi di Dati
Inizialmente non erano automatizzati (per esempio, gli archivi bancari)
Informatica  gestione automatica dei dati  basi di dati
Informazione memorizzata in modo rigoroso
21 December, 2015 - slide 4
Informazioni e dati
Nei sistemi informatici (e non solo in essi), le informazioni
vengono rappresentate in modo essenziale, spartano:
attraverso i dati.


informazione : notizia, dato o elemento che consente di avere
conoscenza più o meno esatta di fatti, situazioni, modi di essere.
dato : ciò che è immediatamente presente alla conoscenza, prima
di ogni elaborazione; (in informatica) elementi di informazione
costituiti da simboli che debbono essere elaborati.
(Vocabolario della lingua italiana, 1987)
Corso Di Basi di Dati
21 December, 2015 - slide 5
Dati e informazioni
Lun-Ven
Sabato
Festivo
che cosa significano questi numeri?
cartelli stradali, in Finlandia; sono orari
ma la differenza?
senza "interpretazione," il dato serve a ben poco
Corso Di Basi di Dati
21 December, 2015 - slide 6
Dati e applicazioni
I dati possono variare nel tempo (per esempio,
importo conto corrente)
Le modalità con cui i dati sono rappresentati in
un sistema sono di solito stabili
Le operazioni sui dati variano spesso (per
esempio, ricerche)
separare i dati dalle applicazioni che
operano su essi
8
Corso Di Basi di Dati
21 December, 2015 - slide 8
Base di dati
(accezione generica)
collezione di dati, utilizzati per rappresentare le
informazioni di interesse per una o più applicazioni
di una organizzazione.
(accezione specifica)
collezione di dati gestita da un DBMS
Corso Di Basi di Dati
21 December, 2015 - slide 9
Sistema di gestione di basi di dati
DataBase Management System — DBMS
Sistema (prodotto software) in grado di gestire
collezioni di dati che siano (anche):



grandi (di dimensioni (molto) maggiori della memoria centrale dei
sistemi di calcolo utilizzati)
persistenti (con un periodo di vita indipendente dalle singole
esecuzioni dei programmi che le utilizzano)
condivise (utilizzate da applicazioni diverse)
garantendo affidabilità (resistenza a malfunzionamenti
hardware e software) e privatezza (con una disciplina e
un controllo degli accessi). Come ogni prodotto
informatico, un DBMS deve essere efficiente (utilizzando
al meglio le risorse di spazio e tempo del sistema) ed
efficace (rendendo produttive le attività dei suoi
utilizzatori).
Corso Di Basi di Dati
21 December, 2015 - slide 10
Condivisione
Ogni organizzazione (specie se grande) è divisa in settori
o comunque svolge diverse attività. A ciascun settore o
attività corrisponde un (sotto-)sistema informativo (privato
o porzione di un sistema più grande).
Possono esistere sovrapposizioni fra i dati di interesse dei
vari settori.
Una base di dati è una risorsa integrata, condivisa fra i
vari settori.
Corso Di Basi di Dati
21 December, 2015 - slide 11
Condivisione (segue)
L’integrazione e la condivisione permettono di ridurre la
ridondanza (evitando ripetizioni) e, di conseguenza, le
possibilità di incoerenza (o inconsistenza) fra i dati.
Poiché la condivisione non è mai completa (o comunque
non opportuna) i DBMS prevedono meccanismi di
definizione della privatezza dei dati e di limitazioni
all’accesso (autorizzazioni).
La condivisione richiede un opportuno coordinamento
degli accessi: controllo della concorrenza.
Corso Di Basi di Dati
21 December, 2015 - slide 12
Efficienza
Si misura (come in tutti i sistemi informatici) in termini di
tempo di esecuzione (tempo di risposta) e spazio di
memoria (principale e secondaria).
I DBMS, a causa della varietà di funzioni, non sono
necessariamente più efficienti dei file system.
L’efficienza è il risultato della qualità del DBMS e delle
applicazioni che lo utilizzano.
Corso Di Basi di Dati
21 December, 2015 - slide 13
DBMS vs file system
La gestione di insiemi di dati grandi e persistenti è possibile
anche attraverso sistemi più semplici — gli ordinari file system
dei sistemi operativi, che permettono di realizzare anche
rudimentali forme di condivisione.
Non esiste una linea netta di separazione fra DBMS e nonDBMS.
I DBMS estendono le funzionalità dei file system, fornendo più
servizi ed in maniera integrata (cfr. efficacia).
I file system prevedono forme di condivisione, permettendo
accessi contemporanei in lettura ed esclusivi in scrittura: se è in
corso un’operazione di scrittura su un file, altri non possono
accedere affatto al file. Nei DBMS, c’è maggiore flessibilità: si
può accedere contemporaneamente a record diversi di uno
stesso file o addirittura allo stesso record (in lettura).
Corso Di Basi di Dati
21 December, 2015 - slide 14
DBMS vs file system (2)
Nei programmi tradizionali che accedono a file, ogni
programma contiene una descrizione della struttura del
file stesso, con i conseguenti rischi di incoerenza fra le
descrizioni (ripetute in ciascun programma) e i file stessi.
Nei DBMS, esiste una porzione della base di dati (il
catalogo o dizionario) che contiene una descrizione
centralizzata dei dati, che può essere utilizzata dai vari
programmi.
Corso Di Basi di Dati
21 December, 2015 - slide 15
GESTIONE DI FILES
Basati su File systems
Logica di accesso ai dati contenuta nel codice (COBOL)
Problemi di manutenzione
Programma
di Update
Programma
di Report
File Dati
Storico
Programma
di Controllo
Corso Di Basi di Dati
21 December, 2015 - slide 16
Descrizioni dei dati nei DBMS
Esistono descrizioni e rappresentazioni dei dati a livelli
diversi, che permettono l’indipendenza dei dati dalla
rappresentazione fisica: i programmi fanno riferimento alla
struttura a livello più alto, e le rappresentazioni sottostanti
possono essere modificate senza necessità di modifica dei
programmi.
Precisiamo attraverso il concetto di modello dei dati.
Corso Di Basi di Dati
21 December, 2015 - slide 17
Modello dei dati
insieme di costrutti utilizzati per organizzare i dati di
interesse e descriverne la dinamica
componente fondamentale: meccanismi di
strutturazione (o costruttori di tipo)
come nei linguaggi di programmazione esistono
meccanismi che permettono di definire nuovi tipi, così
ogni modello dei dati prevede alcuni costruttori
ad esempio, il modello relazionale prevede il
costruttore relazione, che permette di definire insiemi di
record omogenei
Corso Di Basi di Dati
21 December, 2015 - slide 20
Componenti di Data Base System DBS…
Schemi: la struttura
Istanze: i contenuti
Dati




disponibili su varie piattaforme hw
monoutente o multi user
dati contenuti in un singolo Data Base ma estendibili a più DB
dati integrati
 eliminazione delle ridondanze
 dati su più tabelle

dati condivisi
 condivisi da tanti utenti
 con accesso contemporaneo
Hardware

Corso Di Basi di Dati
Dischi, I/O devices, CPU, RAM,....
21 December, 2015 - slide 21
Personaggi e interpreti
progettisti e realizzatori di DBMS
progettisti della base di dati e amministratori
della base di dati (DBA)
progettisti e programmatori di applicazioni
utenti
 utenti finali (terminalisti): eseguono
applicazioni predefinite (transazioni)
 utenti casuali: eseguono operazioni non
previste a priori, usando linguaggi
interattivi
Corso Di Basi di Dati
21 December, 2015 - slide 23
Database administrator (DBA)
Persona o gruppo di persone responsabile del controllo
centralizzato e della gestione del sistema, delle
prestazioni, dell’affidabilità, delle autorizzazioni
Le funzioni del DBA includono quelle di progettazione,
anche se in progetti complessi ci possono essere
distinzioni
Corso Di Basi di Dati
21 December, 2015 - slide 24
Un Data Base è formato da
DATI,DATI,DATI
DatiPersistenti



In contrapposizione ai dati transitori
dati di Input: contenuti in una maschera
dati di output: risposta del sistema
DEFINIZIONE:
Il Data Base è una collezione di dati persistenti
che è usata dal sistema di una certa azienda
(organizzazione tecnica, commerciale, scientifica)
Corso Di Basi di Dati
21 December, 2015 - slide 25
Quindi …
Data base


I dati solo i dati e null’altro che i dati
Valore per l’azienda
Data Base Management System



Il Sw che gestisce i dati
Detto anche Motore Data Base
Diversi vendors: IBM, Oracle, Sybase, Miscrosoft, …
Data base system

DB + DBMS
Data bank



Corso Di Basi di Dati
Usato a sproposito ….
Sinonimo di Data Base system
Indica anche banche non necessariamente informatizzate
21 December, 2015 - slide 26
BENEFICI DELL’ USO DI DATA BASE
Riduzione delle informazioni ridondanti


Eliminando I files privati
Eliminando I doppiono (Forme normali)
Consistenza della informazioni


Conseguenza del punto precedente (ridondanza)
Se c’è ridondanza, allora il DB deve garantire consistenza
Dati condivisi
E’ possibile imporre standard aziendali (DBA e DA li
impongono
Sicurezza
Integrità


Corso Di Basi di Dati
Legata alla ridondanza e consistenza
Fondamentale in ambiente multiutente
21 December, 2015 - slide 28
VANTAGGI DELL’USO DI UN DATA BASE
Caso dell’utente singolo




Compattezza delle informazioni
Velocità di estrazione
Manutenzione dei files
Possibilità di calcolo
Caso della Multi utenza

Stessi vantaggi di cui sopra esaltati dal fatto che il DB ha:
 Dimensioni maggiori
 Maggiore complessità



Corso Di Basi di Dati
Controllo centralizzato
Consistenza ed integrità dei dati
Sicurezza e riservatezza
21 December, 2015 - slide 29
Vantaggi e svantaggi di un DBMS
Vantaggi





I dati sono considerati come un risorsa comune
La base di dati fornisce un modello unificato del business
Permette un controllo centralizzato dei dati permettendo
standardizzazione ed economie di scala
Riduzione di ridondanze ed inconsistenze
Indipendenza dei dati
Svantaggi


Corso Di Basi di Dati
Costo e la complessità - investimenti
Potrebbero fornire servizi ridondanti e non richiesti effettivamente
21 December, 2015 - slide 30
MA IL BENEFICIO MAGGIORE E’
L’ INDIPENDENZA DEI DATI
Nei vecchi sistemi il modo in cui venivano
organizzati i dati e le tecniche per accedervi
facevano parte della logica e del codice del
programma.
Schema e istanza
In ogni base di dati esistono:
 lo schema, sostanzialmente invariante nel
tempo, che ne descrive la struttura
(aspetto intensionale)
 es.: le intestazioni delle tabelle
 l’istanza, i valori attuali, che possono
cambiare anche molto rapidamente
(aspetto estensionale)
 es.: il “corpo” di ciascuna tabella
Corso Di Basi di Dati
21 December, 2015 - slide 32
Due tipi (principali) di modelli
modelli logici
modelli concettuali
Corso Di Basi di Dati
21 December, 2015 - slide 33
Modelli logici
Adottati nei DBMS esistenti per l’organizzazione dei dati


utilizzati dai programmi
indipendenti dalle strutture fisiche
esempi: relazionale, reticolare, gerarchico, a oggetti,
basato su XML
Corso Di Basi di Dati
21 December, 2015 - slide 34
Modelli concettuali
Permettono di rappresentare i dati in modo indipendente
da ogni sistema


cercano di descrivere i concetti del mondo reale
sono utilizzati nelle fasi preliminari di progettazione
Il più diffuso è il modello Entity-Relationship
Corso Di Basi di Dati
21 December, 2015 - slide 35
Architettura (semplificata) di un DBMS
utente
Schema logico
Schema interno
BD
Corso Di Basi di Dati
21 December, 2015 - slide 36
Architettura semplificata di un DBMS:
schemi
schema logico: descrizione della base di dati nel modello
logico (ad esempio, la struttura della tabella)
schema interno (o fisico): rappresentazione dello schema
logico per mezzo di strutture memorizzazione (file; ad
esempio, record con puntatori, ordinati in un certo modo)
Corso Di Basi di Dati
21 December, 2015 - slide 37
Indipendenza dei dati
Il livello logico è indipendente da quello fisico:

una tabella è utilizzata nello stesso modo qualunque sia la sua
realizzazione fisica (che può anche cambiare nel tempo)
Perciò in questo corso vedremo solo il livello logico e non
quello fisico
Corso Di Basi di Dati
21 December, 2015 - slide 38
INDIPENDENZA DEI DATI
Esiste il concetto di VISTA del Data Base
L’amministratore del DB può modificare la struttura
interna dei dati senza toccare la visibilità esterna allo
stesso
IMMUNITA’ DELLE APPLICAZIONI A
MODIFICHE DI STRUTTURA
Corso Di Basi di Dati
21 December, 2015 - slide 39
Una vista
Corsi
Corso
Basi di dati
Sistemi
Reti
Controlli
Docente
Rossi
Neri
Bruni
Bruni
Aula
DS3
N3
N3
G
Aule
Nome
DS1
N3
G
Edificio
Ex-OMI
Ex-OMI
Pincherle
Piano
Terra
Terra
Primo
CorsiSedi
Corso
Sistemi
Reti
Controlli
Corso Di Basi di Dati
Aula
N3
N3
G
Edificio
Ex-OMI
Ex-OMI
Pincherle
Piano
Terra
Terra
Primo
21 December, 2015 - slide 40
Architettura standard (ANSI/SPARC) tre livelli
per DBMS
utente
utente
Schema
esterno
utente
Schema
esterno
utente
utente
Schema
esterno
Schema logico
Schema interno
BD
Corso Di Basi di Dati
21 December, 2015 - slide 41
Architettura ANSI/SPARC: schemi
schema logico: descrizione dell’intera base di dati nel
modello logico “principale” del DBMS
schema esterno: descrizione di parte della base di dati in
un modello logico (“viste” parziali, derivate, anche in
modelli diversi)
schema fisico: rappresentazione dello schema logico per
mezzo di strutture fisiche di memorizzazione.
Corso Di Basi di Dati
21 December, 2015 - slide 42
Indipendenza dei dati
conseguenza della articolazione in livelli:
l’accesso avviene solo tramite il livello esterno (che può
coincidere con il livello logico); due forme:
fisica: il livello logico e quello esterno sono indipendenti da quello
fisico; una relazione è utilizzata nello stesso modo qualunque sia la
sua realizzazione fisica (che può anche cambiare nel tempo senza
che debbano essere modificate le forme di utilizzo)
logica: il livello esterno è indipendente da quello logico
 aggiunte o modifiche alle viste non richiedono modifiche al livello
logico;
 modifiche allo schema logico che lascino inalterato lo schema
esterno sono trasparenti
Corso Di Basi di Dati
21 December, 2015 - slide 43
TIPI DI SISTEMI DI BASI DI DATI
Sistemi basati sulla gestione di Files (FMS)
Modelli Gerarchici
Modelli Reticolari (Network)
Modelli Relazionali
Corso Di Basi di Dati
21 December, 2015 - slide 44
Modelli a Oggetti >> Un po’ di storia
Un po’ di Storia: Anni ‘70
Anni ’70


DBMS gerarchici
DBMS reticolari
Modello di dati basato su alberi o grafi
Dipendenza dal modello fisico
Interrogazioni

Corso Di Basi di Dati
navigazioni del grafo
21 December, 2015 - slide 45
Modelli a Oggetti >> Un po’ di storia
Un po’ di Storia: Anni ‘80
Anni ’80


Codd “A Relational Model for Large Shared Data
Banks”, CACM, giugno 1970
DBMS relazionali
Modello semplice ed elegante
Caratteristiche del modello



Corso Di Basi di Dati
legami tra i dati basati sui valori
I forma normale (domini elementari)
indipendenza rispetto al modello fisico
21 December, 2015 - slide 46
Modelli a Oggetti >> Un po’ di storia
Un po’ di Storia: Anni ‘80
Ottime prestazioni
Servizi avanzati

concorrenza, affidabilità, sicurezza
Standard SQL-89, SQL-92

“intergalactic dataspeak”
Architettura a tre livelli

schemi esterni, schema logico, schema fisico
Grande successo nei sistemi informativi

Corso Di Basi di Dati
dati gestionali
21 December, 2015 - slide 47
Modelli a Oggetti >> Un po’ di storia
Un po’ di Storia
Anni ’90



nuove applicazioni
GIS, CAD, dati multimediali, documenti
oggetti con struttura complessa
Il mondo è fatto di oggetti, non di tabelle
Il “garage” relazionale

Corso Di Basi di Dati
“per conservare la tua auto ti costringe a farla a pezzi e conservare
ciascun pezzo in un cassettino”
21 December, 2015 - slide 48
Modelli a Oggetti >> Un po’ di storia
Un po’ di Storia
Tecnologia a oggetti



sistema di tipi ricco
classi di oggetti basati sui tipi
ereditarietà e polimorfismo
Tecnologia di successo nei linguaggi di programmazione
(C++, Java)
Sistemi per Basi di Dati Orientati agli Ogg.

la soluzione finale ?
NoSQL: NotOnly SQL

Corso Di Basi di Dati
Applicazioni: social networks
21 December, 2015 - slide 49
Modelli a Oggetti >> Un po’ di storia
Un po’ di Storia
Moltissima ricerca (e risultati interessanti)
DBMS a Oggetti Commerciali

O2, Objectstore, GemStone
Standard ODMG-93

linguaggio OQL
Scarso successo commerciale (nicchia)



Corso Di Basi di Dati
differenze notevoli tra i prodotti
dipendenza dal linguaggio (Java ?)
prestazioni inferiori
21 December, 2015 - slide 50
Modelli a Oggetti >> Un po’ di storia
Complessità dei tipi di dato
I Quadranti di Stonebraker
DBMS
Orientato
agli Oggetti
DBMS
Relazionale
a Oggetti
Linguaggio di prog.
+
DBMS
Relazionale
File System
Complessità delle interrogazioni
Corso Di Basi di Dati
21 December, 2015 - slide 51
GESTIONE DI FILES
Basati su File systems
Logica di accesso ai dati contenuta nel codice (COBOL)
Problemi di manutenzione
Programma
di Update
Programma
di Report
File Dati
Storico
Programma
di Controllo
Corso Di Basi di Dati
21 December, 2015 - slide 52
DATA BASE GERARCHICI
Struttura gerarchica dei dati (tipico di un file system)
Utilizzato nelle industrie di manufatti (Automobili)
Introduzione della relazione Padre-Figlio (puntatori fisici)
Vantaggi



Struttura semplice
Eccellente per relazioni padre - figlio (A è parte di B oppure A contiene B)
Performance: movimenti rapidi in virtù della struttura gerarchica
Automobile
Motore
Porta sinistra
Finestrino
Corso Di Basi di Dati
Carrozzeria
Porta destra
Motore elettrico
Chassis
Tetto
Cofano
Maniglia
21 December, 2015 - slide 53
DATA BASE RETICOLARI
Modello gerarchico è poco flessibile (gestione ordini)
Un record partecipa a relazioni padre-figlio multiple
Il programmatore naviga nel data base dando anche le
direzioni di movimento (ancora puntatori fisici)
Vantaggi: Flessibilità e Performance
Svantaggi: certa rigidezza dovuta alle relazioni definite a
priori e necessità di aggiornamento del SW
Clienti
Prodotti
Ordini
Corso Di Basi di Dati
21 December, 2015 - slide 54
DATA BASE
RELAZIONALI
Liberarsi dei puntatori fisici
Scarica

11_DataBAse fondamenti e modelli