Corso di Laurea in Ingegneria Gestionale
Sapienza Università di Roma
Corso di Basi di Dati
A.A. 2020/2021
–
1 Nozioni Preliminari
Tiziana Catarci, Francesco Leotta
Ultimo aggiornamento : 05/10/2020
Risorse di una organizzazione
un’organizzazione
Nello svolgimento di ogni attività, deve
disporre di determinate risorse per perseguire gli scopi che si è
prefissa :
▪ persone
▪ denaro
▪ materiali
▪ dati e informazioni
Ogni organizzazione dispone di un sistema informativo che
organizza e gestisce un gran numero di informazioni
rappresentate per mezzo di dati. dell’invenzione
▪ I sistemi informativi esistono da molto prima dei
calcolatori. …
▪ Esempio : elenchi di utenze telefoniche, archivi anagrafici
2 Basi di Dati 20/21 1 – Nozioni Preliminari
Funzioni di un Sistema Informativo
Principali funzioni di un Sistema Informativo :
▪ Raccolta e acquisizione delle informazioni;
▪ archiviazione, conservazione delle informazioni;
▪ elaborazione delle informazioni;
▪ distribuzione, scambio di informazioni.
Il concetto di Sistema Informativo è indipendente da
qualsiasi forma di automatizzazione!
Un Sistema Informatico è quella porzione automatizzata del
Sistema Informativo che gestisce le informazioni con
tecnologia informatica.
3 Basi di Dati 20/21 1 – Nozioni Preliminari
Sistema Informatico
Sistema azienda
Sistema organizzativo La diffusione capillare
dell’informatica fa sì che gran
parte dei sistemi informativi siano
Sistema informativo anche, in buona misura, sistemi
informatici.
Sistema informatico
Basi di dati
4 Basi di Dati 20/21 1 – Nozioni Preliminari
Dati e Informazioni
Nelle attività umane, le informazioni vengono gestite in forme
diverse:
▪ idee informali, linguaggio naturale (scritto o parlato, formale o colloquiale), mente
umana, carta, dispositivi elettronici, disegni, grafici, schemi, numeri e codici.
Nei sistemi informatici, le informazioni vengono rappresentate
per mezzo di 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, un dato è un elemento di informazione costituito da
simboli che debbono essere elaborati.
Senza “interpretazione“, i
dati hanno poca utilità.
Se interpretati e correlati opportunamente, essi forniscono informazioni che
consentono di arricchire la nostra conoscenza del mondo.
5 Basi di Dati 20/21 1 – Nozioni Preliminari
Base di Dati
Base di Dati :
(accezione generica) Collezione di dati, che tipicamente descrive le
informazioni di interesse di una o più organizzazioni correlate.
(accezione specifica) Collezione di dati in memoria secondaria
gestita da un apposito sistema software, chiamato DBMS (Data
Base Management System, o Sistema di Gestione di Basi di Dati).
▪ Un DBMS è in grado di gestire e interrogare grandi collezioni di dati.
▪ I dati costituiscono una risorsa strategica, perché più stabili
nel tempo di altre componenti (processi, tecnologie, ruoli
umani).
▪ Ad esempio, i dati delle banche o delle anagrafi hanno una struttura
sostanzialmente invariata da decenni, mentre le procedure che agiscono
su di essi variano con una certa frequenza.
6 Basi di Dati 20/21 1 – Nozioni Preliminari
Data Base Management System (DBMS)
Sistema che gestisce collezioni di dati :
grandi
▪ persistenti
▪ condivise
▪
garantendo
privatezza
▪ affidabilità
▪ efficienza
▪ efficacia
▪
Alcuni prodotti software disponibili sul mercato :
DB2
Oracle
SQLServer
MySQL
PostgreSQL
Microsoft Access
7 Basi di Dati 20/21 1 – Nozioni Preliminari
Approccio Convenzionale : i file
L’approccio convenzionale alla gestione dei dati sfrutta la presenza di
archivi o file
per memorizzare i dati in modo persistente sulla memoria secondaria.
Secondo quest’approccio, eventuali dati di interesse per più programmi sono
replicati tante volte quanti sono i programmi che li utilizzano.
Ad esempio, in un’università, le informazioni relative ai docenti possono essere
utilizzate in vario modo e da diverse persone o uffici.
responsabile Archivio 1:
Ufficio del Personale informazioni relative alla
carriera del personale
Tiene conto della distinzione fra
Ricercatori, Professori, ecc.
responsabile Archivio 2:
Ufficio Stipendi informazioni relative agli
stipendi del personale
Utilizza le informazioni sulla
carriera e sugli incarichi didattici
8 Basi di Dati 20/21 1 – Nozioni Preliminari
per calcolare le retribuzioni.
Problemi nella gestione dei file
Cosa accade se ciascun ufficio gestisce separatamente le informazioni di proprio interesse?
Presenza di duplicati (eventuali dati di interesse per più programmi sono replicati tante volte
quanti sono i programmi che li utilizzano).
Difficoltà nell’aggiornamento dei dati
(a causa della presenza di duplicati, a lungo andare ci
sarebbero molti dati con le copie non aggiornate allo stesso modo).
Possibile incoerenza nelle varie copie dei dati per ciascun archivio (potremmo trovare
nell’Ufficio Stipendi una qualifica diversa da quella corretta presente nei dati dell’Ufficio del
Personale). responsabile Archivio 1:
Ufficio del Personale informazioni relative alla
carriera del personale
responsabile Archivio 2:
Ufficio Stipendi informazioni relative agli
stipendi del personale
9 Basi di Dati 20/21 1 – Nozioni Preliminari
Architettura del Sistema Informatico
DBMS
Ufficio del Personale Base di Dati
Ufficio Stipendi
Le basi di dati sono state concepite principalmente per superare questo tipo
di inconvenienti, gestendo in modo integrato e flessibile le informazioni di
interesse per diversi soggetti, limitando i rischi di ridondanza e
incoerenza.
l’unico responsabile
Il DBMS è della gestione della base di dati: i dati sono
accessibili all’esterno solo tramite il DBMS.
10 Basi di Dati 20/21 1 – Nozioni Preliminari
Esempio di rappresentazione dei dati
11 Basi di Dati 20/21 1 – Nozioni Preliminari
Le basi di dati sono…grandi
Dimensioni (molto) maggiori della memoria centrale
dei sistemi di calcolo utilizzati.
Il limite deve essere solo quello fisico dei dispositivi.
I DBMS devono prevedere una gestione dei dati in
memoria secondaria.
Esempi di dimensioni molto grandi :
500 Gigabyte (dati transazionali)
▪
▪ 10 Terabyte (dati decisionali)
500 Terabyte (dati scientifici)
▪ 100 miliardi di record
▪
12 Basi di Dati 20/21 1 – Nozioni Preliminari
Le basi di dati sono…condivise
Ogni organizzazione (specie se grande) è divisa in
settori o comunque svolge diverse attività. Perciò
utenti e applicazioni diversi devono poter accedere,
secondo opportune modalità, a dati comuni.
Ciascun settore/attività ha un (sotto)sistema
informativo (non necessariamente disgiunto).
In questo modo si riduce la ridondanza dei dati
(poichè si evitano ripetizioni) e conseguentemente si
riduce anche la possibilità di inconsistenze.
l‘accesso
Per garantire condiviso, il DBMS dispone di
un meccanismo apposito, detto controllo di
concorrenza.
13 Basi di Dati 20/21 1 – Nozioni Preliminari
Le basi di dati sono…persistenti
Hanno un tempo di vita indipendente dalle singole
esecuzioni dei programmi che le utilizzano.
In contrasto, i dati gestiti da un programma in
memoria centrale hanno una vita che inizia e termina
con l‘esecuzione del programma.
14 Basi di Dati 20/21 1 – Nozioni Preliminari
I DBMS garantiscono…affidabilità
Capacità del sistema di conservare sostanzialmente intatto il
contenuto della Base di Dati (o almeno di permetterne la
ricostruzione) in caso di malfunzionamenti hardware e
software.
Una base di dati è una risorsa pregiata e quindi deve essere
conservata a lungo termine a fronte di qualsiasi guasto del
sistema, errore umano o anche evento catastrofico.
A questo scopo i DBMS gestiscono, in modo controllato,
funzionalità di salvataggio e ripristino (backup e recovery).
In alcuni casi, i DBMS gestiscono in modo controllato, versioni
replicate dei dati, collocate su dispositivi fisici diversi, così da
garantire maggiore affidabilità complessiva.
15 Basi di Dati 20/21 1 – Nozioni Preliminari
I DBMS garantiscono…privatezza
Ciascun utente, riconosciuto in base a un nome utente che
è specificato all‘atto di interagire con il DBMS, viene
abilitato a svolgere solo determinate azioni sui dati,
attraverso meccanismi di autorizzazione.
Si possono definire meccanismi di autorizzazione :
l'utente A è autorizzato a leggere tutti i dati e a modificare X.
▪
▪ l'utente B è autorizzato a leggere dati X e a modificare Y.
16 Basi di Dati 20/21 1 – Nozioni Preliminari
I DBMS sono efficienti
I DBMS sono capaci di svolgere le operazioni utilizzando
un insieme di risorse (tempo e spazio) che sia accettabile
per gli utenti.
Va sottolineato che i DBMS forniscono un insieme
piuttosto ampio di funzionalità che richiedono molte
risorse, e quindi possono garantire efficienza solo a
condizione che il sistema informatico su cui sono installati
sia adeguatamente dimensionato.
17 Basi di Dati 20/21 1 – Nozioni Preliminari
I DBMS sono efficaci
I DBMS sono capaci di rendere produttive, in ogni senso,
le attività dei loro utenti.
Questa definizione è chiaramente generica e non
corrisponde ad un aspetto specifico. L‘attività di
progettazione della base di dati e delle applicazioni che la
utilizzano mira essenzialmente a garantire una buona
efficacia complessiva del sistema.
18 Basi di Dati 20/21 1 – Nozioni Preliminari
Architettura a tre livelli del Sistema Informatico
Livello della Livello della logica Livello dei dati
dell’applicazione
Presentazione DBMS
Applicazione 1
Ufficio del Personale
. .
. . Base di Dati
Ufficio Stipendi Applicazione n
Una base di dati viene utilizzata dai vari uffici (e persone), ciascuno
con le proprie competenze, attraverso programmi diversi.
Il DBMS garantisce integrazione e condivisione coordinando i vari
flussi di informazioni che giungono dalle varie sorgenti.
19 Basi di Dati 20/21 1 – Nozioni Preliminari
DBMS vs File System
La gestione di insiemi di dati grandi e persistenti è
possibile anche attraverso sistemi più semplici - i classici
file system dei sistemi operativi.
Un file consente di memorizzare e ricercare dati, ma
fornisce solo semplici meccanismi di accesso e
condivisione.
I DBMS estendono le funzionalità dei file system,
fornendo più servizi ed in maniera integrata.
I file, a loro volta, sono fondamentali per gestire insiemi
di dati localmente a una specifica procedura o
applicazione.
20 Basi di Dati 20/21 1 – Nozioni Preliminari
Descrizione dei Dati
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,
utilizzabile dai vari programmi.
La rappresentazioni dei dati avviene livelli diversi
l‘indipendenza
in modo da permettere 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
E‘
fondamentale il concetto di modello dei dati.
21 Basi di Dati 20/21 1 – Nozioni Preliminari
Modello dei Dati
Insieme di costrutti utilizzati per organizzare i dati di
interesse all‘interno del DBMS e descriverne la dinamica.
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
Una relazione viene rappresentata per mezzo di una
tabella, le cui righe rappresentano specifici record e le cui
colonne corrispondono ai campi del record.
22 Basi di Dati 20/21 1 – Nozioni Preliminari
Il Modello Relazionale
Una relazione viene rappresentata per mezzo di una tabella, le cui righe
rappresentano specifici record e le cui colonne corrispondono ai campi del
record.
E‘ il più diffuso nell‘ambito delle Basi di Dati. Sarà anche il nostro modello
di riferimento. Intestazione della tabella: nome della relazione
Attributo
Squadra
Nome Cognome Posizione Squadra Età
31
Tommaso Rocchi Attaccante S.S.Lazio 34
Alessandro Del Piero Attaccante Juventus F.C. 32
Francesco Totti Attaccante A.S. Roma
Tupla o Record
23 Basi di Dati 20/21 1 – Nozioni Preliminari
Schemi e Istanze
In ogni base di dati si distinguono :
lo schema, sostanzialmente invariante nel tempo, che ne descrive
▪ nell’esempio,
la struttura (aspetto intensionale); le intestazioni
delle tabelle :
Giocatore (Nome, Cognome, Posizione, Squadra, Età)
Squadra (Nome, Anno di Fondazione)
l’istanza,
costituita dai valori attuali, che possono cambiare molto
nell’esempio, il “corpo”
rapidamente (aspetto estensionale); di
ciascuna tabella :
Tommaso Rocchi Attaccante S.S. Lazio 31
Alessandro Del Piero Attaccante Juventus F.C. 34
Francesco Totti Attaccante A.S. Roma 32
24 Basi di Dati 20/21 1 – Nozioni Preliminari
Due tipi (principali) di modelli
Modelli Logici: utilizzati nei DBMS esistenti per
l’organizzazione dei dati; ad essi fanno riferimento i
programmi e gli utenti. I modelli logici sono indipendenti
dalle strutture fisiche.
(basato sull’uso di strutture ad albero) –
Modello Gerarchico
anni 60 (basato sull’uso di grafi) –
Modello Reticolare anni 70
–
Modello Relazionale anni 70/80
Modello ad Oggetti (estende alle basi di dati il paradigma di
–
programmazione ad oggetti) anni 80
Modello XML (rivisitazione del modello gerarchico, in cui i
dati devono essere presentati assieme alla loro descrizione)
25 Basi di Dati 20/21 1 – Nozioni Preliminari
Due tipi (principali) di modelli
Modelli Concettuali: permettono di rappresentare i dati
in modo indipendente da ogni sistema, cercando di
descrivere i concetti del mondo reale, piuttosto che i dati
utili a rappresentarli.
▪ Il più noto è il modello Entità-Relazione.
Essi vengono utilizzati nelle fasi preliminari del processo
di progettazione della base di dati.
▪ Rappresentano il modo migliore per analizzare la realtà
d’interesse, senza “contaminazioni” di tipo realizzativo.
26 Basi di Dati 20/21 1 – Nozioni Preliminari
Architettura semplificata per un DBMS
utente Modello Relazionale
Schema logico
Schema fisico Lo schema fisico riassume come
le relazioni descritte nello schema
logico sono realmente registrate
BD su dispositivi di memorizzazione
DBMS di massa.
27 Basi di Dati 20/21 1 – Nozioni Preliminari
Architettura standard a tre livelli per DBMS
E’ possibile associare utente utente utente
utente
ad uno schema logico
utente
vari schemi esterni. Schema Schema Schema
esterno esterno esterno
Schema Esterno :
costituisce la descrizione di Schema logico
una porzione della base di dati
di interesse. Può prevedere
organizzazioni dei dati diverse Schema fisico
a quelle utilizzate nello
schema logico, che riflettono
il punto di vista di un BD
particolare insieme di
utenti.
28 Basi di Dati 20/21 1 – Nozioni Preliminari
Indipendenza dei dati l’accesso avviene
Conseguenza della articolazione in livelli:
solo tramite il livello esterno (che può coincidere con il livello
logico).
Nei sistemi moderni, lo schema esterno non è esplicitamente
presente, ma è possibile definire relazioni derivate (o viste).
Due forme di indipendenza dei dati :
▪ 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.
29 Basi di Dati 20/21 1 – Nozioni Preliminari
Esempio : Una Vista
Corsi Aule
Docente Aula
Corso Nome Edificio Piano
Marrella DS1
Basi di dati DS1 Meschini Primo
Neri N3
Sistemi N3 Meschini Terra
Bruni N3
Reti G Pincherle Primo
Bruni G
Controlli
CorsiIstitutoMeschini Corso Aula Piano
Sistemi N3 Terra
Reti N3 Terra
Basi di Dati DS1 Primo
30 Basi di Dati 20/21 1 – Nozioni Preliminari
Controllo di Concorrenza
L’esecuzione concorrente di programmi utente è
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Appunti completi corso Basi di dati
-
Appunti Basi di dati completi
-
Dati e Algoritmi 1 - Appunti del corso
-
Appunti Fisica