DAGLI ARCHIVI AI DATABASE
MOTIVAZIONI STORICHE
ALL’INTRODUZIONE DEI DB
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
Fino al 1965 (III generazione) gli archivi erano
costituiti da un insieme di files sequenziali con
organizzazione fisica simile all’organizzazione logica.
Le elaborazioni erano esclusivamente di tipo batch.
LIMITI DELLE ORGANIZZAZIONI
TRADIZIONALI



La definizione dei dati era embedded nei programmi applicativi piuttosto che
essere memorizzata separatamente e indipendentemente
Nessun controllo sugli accessi e la manipolazione di dati se non quella imposta
dal programma applicativo
Separazione e isolamento dei dati (RIGIDITA’)


Duplicazione dei dati (RIDONDANZA)



La struttura dei file è definita nel codice del programma
Format incompatibili per i dati


Gli stessi dati sono gestiti da programmi diversi.
Spazio di memoria sprecato e talora valori e formato diversi per lo stesso dato
Data dependence (DIPENDENZA LOGICA)


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
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
BASI DI DATI
Svolta : data base
 Obiettivo : fornire all’utente un archivio integrato con ampie
possibilità di accesso
 Nei DB infatti ogni utente, in base alle proprie esigenze, può
accedere all’archivio per depositare, aggiornare o prelevare le
informazioni senza preoccuparsi di gestire l’organizzazione
interna dei dati.
In senso lato 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 una base di dati o database o banca dati è
insieme di archivi memorizzati in modo permanente nella
memoria di massa e di relazioni fra di essi
Esempi:
 banca dati normativa = insieme dei testi normativi + relazioni
fra le norme (citazioni)
 banca dati scolastica = dati degli studenti + composizione del
piano di studio
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 e contengono i dati e
le informazioni sulle strutture dei dati ovvero i
metadati o cataloghi
CARATTERISTICHE









DI UN DBMS
I DBMS consentono l’indipendenza dei dati dai
programmi Indipendenza logica (Indipendenza logica)
Indipendenza fisica : l’organizzazione a livello fisico
dei dati può essere cambiata senza variazioni
dell’organizzazione logica e viceversa.
persistenza - i dati persistono nel tempo
non ridondanza dei dati - i dati vengono memorizzati
una sola volta ( o ridondanza controllata)
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
Facilità di interrogazione
FILE VS DB
LIVELLI DI ASTRAZIONE DI UN DBMS
LIVELLI DBMS
COMPONENTI DELL’AMBIENTE DBMS
•Hardware : da un Pc ad 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 db e dal
DBMS
Classi di utenza: Si possono individuare almeno 4 classi di utenza di un DBMS a seconda del
livello cui accedono e dell’uso che ne fanno.
•Utenti finali : ad esempio i lavori di sportello. Usano i comandi messi a disposizione dal
programmatore
•Utenti non esperti : alcuni DBMS vengono corredati di un linguaggio di manipolazione dei
dati detto Query language che consente agli utenti privi di specifiche capacità
programmatiche di accedere alle informazioni della base di dati nonché di aggiornarle senza
ricorrere alla mediazione di un programma applicativo.
•Programmatori applicativi : usano un DML per soddisfare specifiche applicazioni interattive
e no.
•Amministratori del DB(DBA) : si tratta di una persona o di un gruppo che partecipa in
genere alla progettazione di un sistema informatico e che svolge compiti quali :
•creazione e manutenzione dello schema logico del DB mediante DDL
•definizione e manutenzione dello schema fisico mediante DSL
•aggiornamento dei diritti di accesso al DB
•corretto ripristino del DB in caso di malfunzionamento hardware o software.
LINGUAGGI DI UN DBMS
Data Definition Language (DDL) : esprime le regole di generazione degli schemi
di un modello logico di dati.
Data Manipulation Language (DML) : strumento di ricerca (query) sui dati;
consente di accedere e/o modificare i dati di un DB . Il DML può essere un
linguaggio di programmazione completo (DML a sé stante) oppure può essere un
insieme di operatori e di costrutti linguistici destinati ad essere usati (“immersi”)
all’interno di un linguaggio di programmazione tradizionale (DML con linguaggio
ospite).
Data Control Language(DCL) : strumento per il controllo degli utenti e dei
permessi
Data Storage Language (DSL) : consente di definire alcuni parametri qualitativi
e quantitativi delle strutture fisiche di memorizzazione del DB (schema fisico)