Archivi e database
Lezione n. 7
Dagli archivi ai database (1)
I dati non sempre sono stati considerati dall’informatica
oggetto separato di studio e di analisi
Nei primi tempi i dati erano parte integrante del
programma e venivano organizzati seguendo la logica
sia dell’algoritmo sia del supporto fisico di
memorizzazione. Si utilizzavano i modelli degli archivi
Se per esempio si aveva a disposizione un tape ossia un
nastro per archiviare i dati di una banca,
necessariamente i dati dovevano essere trattati con
algoritmi sequenziali a causa del mezzo fisico di
memorizzazione
Dagli archivi ai database (2)
Questo creava problemi di diversa natura e si è iniziato a
pensare a modellare i dati come oggetto indipendente
Nasce la disciplina dell’organizzazione dell’informazione
spesso chiamata “Sistemi informativi e database”
Scopo di questa disciplina è di organizzare
concettualmente e logicamente i dati per rappresentarli
così come ontologicamente sono, indipendentemente
dal supporto fisico di memorizzazione (memorie di
massa) o dalla funzione che devono assolvere
(programma)
Dagli archivi ai database (3)
La definizione dei dati era embedded nei programmi
applicativi piuttosto che essere memorizzaza
separatamente e indipendentemente
Nessun controllo sugli accessi e la manipolazione di
dati se non quella imposta dal programma applicativo
Database: un sistema di gestione dati integrato in cui
i dati sono mantenuti in modo non ridondante e in cui
l’utente può specificare con un comando unico una
richiesta (query) per una varietà di dati
DBMS - Data Base Management System
Un sistema software che consente all’utente di definire,
creare, e mantenere il database e fornisce accesso
controllato ad esso
Limiti dei sistemi di gestione di archivi - I
Separazione e isolamento dei dati
Ogni programma gestisce il proprio insieme di dati :
gli utenti di un programma non hanno possibilità di
accedere a dati utili gestiti da altri programmi
Duplicazione dei dati
Gli stessi dati sono gestiti da programmi diversi.
Spazio di memoria sprecato e talora valori e format
diversi per lo stesso dato
Limiti dei sistemi di gestione di archivi - II
Data dependence
La struttura dei file è definita nel codice del
programma
Format incompatibili per i dati
I programmi sono scritti in linguaggi diversi e non
possono accedere agli file altrui
Query fisse e proliferazione dei programmi applicativi
I programmi sono scritti per funzioni particolari; ogni
nuova esigenza richiede un nuovo programma
Dato come risorsa
Dato - la più piccola unità significativa atomica che
rappresenta un oggetto, un evento, un fatto,
un’astrazione, un concetto a senso compiuto
Il Dato ha un ciclo di vita, un valore, una necessità
per qualche unità organizzativa
Un dato si dice persistente quando spento il
calcolatore mantiene la sua integrità
Il dato è una risorsa preziosa
Il dato merita di essere rappresentato nel suo valore
intensionale e astratto indipendentemente dalle
attuali e contingenti applicazioni
Triangolo semiotico: intensione ed estensione
Intensione concetto astratto
Significante classe o entità
Estensione o istanza specifica oggetto
Gottlob Frege [1848 - 1925], Charles Sanders Peirce
[1839 - 1914], e Ferdinande de Saussure [1857 -1913]
Differenza fra archivi e database
Il dato può essere visto come valore (estensionale) e come
elemento di una classe (intensionale)
Es. La classe dei numeri primi
P = {x l x ∈ N e x non ha divisori diversi da 1 e da se stesso} –
definizione intensionale tramite le proprietà
P = {I numeri primi } - abbiamo dato un nome a questa classe –
definizione del significante tramite una categoria (primi)
P = {1,3,5,7, 11, 13, … } - abbiamo dato una definizione tramite i
dati oggettivi concreti ossia le istanze concrete dell’insieme dei
numeri primi, abbiamo elencato i membri dell’insieme che sono i
valori estensionali
Negli archivi hanno una struttura lineare e registrano la sola
rappresentazione entensionale, la rappresentazione intensionale è
modellata nei programmi applicativi
Nei DBMS poichè abbiamo la rappresentate delle relazioni e degli
attributi riespetto ad ogni entità riusciamo a catturare anche la
rappresentazione estensionale
Dato e gli archivi
Il dato persistente viene memorizzato in apposite
strutture dati dette ARCHIVI o file
Un archivio è una collezione di dati organizzati secondo
uno schema detto record logico- lung. fissa o lung.
variabile
Esempio: l’archivio AGENDA
NOME
COGN.
INDIRIZZO TELEFONO1
TELEFONO2
Record
logico
Operazioni sui dati in generale
Indipendentemente se usiamo archivi o database
abbiamo alcune operazioni di basilari da compiere con i
dati
lettura
scrittura - inserimento
modificazione
cancellazione
ricerca
Come è fatto un archivio - il record
Per comprendere come è formato un archivio occorre
partire dall’unità di base ossia il Record o registrazione:
unità logica minima di dati cui il computer può
accedere
negli archivi strutturati: suddiviso in campi,
ciascuno dei quali codifica una singola
informazione elementare, numerica o alfanumerica
negli archivi di testo: l’intero record è costituito da
una riga o paragrafo
Un formato di record
Nome:
Cognome:
Via:
Città:
CAP:
testo,
testo,
testo,
testo,
Numero
15 caratteri
20 caratteri
30 caratteri
20 caratteri
intero
Il contenuto di un record
Matricola:
Nome:
Cognome:
Via:
Città:
CAP:
00004356789
Mario
Rossi
Verdi, 30
Milano
204378
Archivio o file: definizione
File strutturato:
file destinato a contenere un insieme di record
dotati della medesima struttura (formato)
Viene creato o modificato mediante apposite
istruzione del linguaggio di programmazione
relativo (o mediante apposite interfacce grafiche)
Diversi tipi di file:
Sequenziale
Accesso diretto
Accesso con chiave
Inverted file
Base di dati
In senso lato (giuridico) si intende per base di dati
una qualsiasi collezione di dati organizzata seguendo
uno schema logico che ne permette il reperimento
(possono essere anche documenti cartacei)
In senso stretto (informatico) una base di dati o
database è l’insieme di archivi memorizzati in modo
permanente nella memoria di massa e di relazioni fra
di essi
Attenzione non sempre le definizioni sono uniformi:
banca dati normativa = insieme dei testi normativi + relazioni fra le
norme (citazioni)
banca dati = contenuto + schema logico dei dati
database o base di dati = schema logico dei dati
DBMS
DBMS - database management system è il programma
specifico (software di base) che gestisce ed organizza basi
di dati
solitamente i DBMS consentono e gestiscono
l’aggiornamento e l’accesso dei dati da parte di più utenti
contemporaneamente
i DBMS contengono
i dati
le informazioni sulle strutture dei dati ovvero i metadati cataloghi
Caratteristiche di un DBMS
I DBMS consentono l’indipendenza dei dati dai programmi
persistenza - i dati persistono nel tempo
non ridondanza dei dati - i dati vengono memorizzati una
sola volta
sicurezza - meccanismi di accesso autorizzato ai dati
integrità - ad ogni dato vengono associati vincoli di
integrità e i programmi che non rispettano queste regole
vengono “bloccati”
utilizzo concorrente - i dati sono acceduti da più
programmi contemporaneamente
sistemi di backup e recovery dei dati in caso di errore
File vs. DBMS
Livelli di astrazione del DBMS
Livello fisico o schema interno: insieme di record
memorizzati nel dispositivo di memoria di massa
Livello logico: descrive l’organizzazione dei dati e
delle sue relazioni
Livello esterno o vista o livello concettuale: descrive i
dati così come vengono visti da un certo utente
Indipendenza fisica - si può ridefinire il livello fisico
senza modificare il modello logico
Indipendenza logica - si può estendere il modello
logico senza alterare il livello esterno
Livelli di un DBMS
Livelli di un DBMS
Livelli
Requisiti della base di dati
“CHE COSA”:
analisi
Progettazione
concettuale
Schema concettuale
Progettazione
logica
Schema logico
“COME”:
progettazione
Progettazione
fisica
Schema fisico
(da Atzeni e altri, Basi di dati, McGraw-Hill, 2002)
Esempio più concreto della divisione dei
livelli nella modellazione dei data base
Livello concettuale – Modellazione entità
relazione dei dati
Livello logico – Scelta del modello del DBMS
(es. relazionale) e modellazione delle tabelle
in terza forma normale sciogliendo anche le
relazioni N:M
Livello fisico – istruzioni SQL per gestire i
dischi
Componenti dell’ambiente DBMS - I
Hardware
da un pc a una rete di computer
Software
DBMS, sistema operativo, programmi applicativi, software di rete (se
necessario)
Dati
dell’organizzazione e una loro descrizione in schema e sottoschema
Procedure
istruzioni e regole da applicare al progetto e all’uso del database e
dal DBMS
Persone
Data Base Administrator - DBA
Data administrator, programmatori applicativi
Progettisti di database (sia logici che fisico)
Utenti
Le transazioni - ACID
Le transazioni sono operazioni di programma che agiscono
sulla banca dati e non alterano la sua integrità (commit e rollback)
commit – fine della transazione con esito positivo
roll-back – fine della transazione con esito negativo e quindi
ritorno allo stato precedente l’inizio della transazione
atomicità- l’operazione viene eseguita tutto o si torna indietro
ripristinando la situazione originale
consistenza - le operazioni non devono violare i vincoli di
l’integrità dei dati
isolamento - ogni transazione agisce in modo isolato
dall’altra per non creare sovrapposizioni
durabilità - l’operazione deve avere effetto duraturo nel
tempo
Domande possibili
Caratteristiche del DBMS rispetto agli archivi
Le proprietà delle transazioni ACID
Perché i DBMS sono una tecnologia più robusta
rispetto agli archivi?
Sottolineare le differenze fra DBMS e gestione dei
documenti utilizzando linguaggi di marcatura come
l’XML
I dati sono la risorsa più preziosa nella società della
conoscenza che tipo di problemi possono occorrere
specie in relazione alla privacy?