Una Introduzione alle Basi
di Dati
Storia
Concetti
Modelli
Struttura
In Principio era la scheda…

Inizialmente i sistemi informativi su
computer memorizzavano le informazioni
su scheda perforata
I Limiti di un Sistema
Informativo su scheda






Non riutilizzabile
Occupa molto spazio per pochi dati
E’ macchinoso da trasportare, duplicare,
modificare
E’ sequenziale
Ha dei limiti sulla dimensione del record
Le operazioni di inserimento, modifica,
cancellazione sono manuali
Vengono introdotti i concetti
di base

Record fisico, campo, record logico
Record fisico
Cognome
Campo

E’ possibile rappresentare archivi
correlati
Studente
Docente 1
Docente 2
L’apparizione delle unità a
nastro e il Sistema Informativo
Riutilizzabile
 Occupa poco spazio
 E’ semplice da trasportare
 Non ha limiti sulla dimensione del
record fisico
 E’ sequenziale
 Le operazioni richiedono due unità
nastro

Le unità a disco
Ad accesso diretto
 Possibile il collegamento
tra più archivi contemporaneamente
 Riutilizzabile
 Occupa poco spazio
 E’ semplice da trasportare
 Non ha limiti sulla dimensione del
record fisico

Vengono messi a punto gli
algoritmi fondamentali
Accesso Sequenziale
 Accesso Diretto Relativo
 Accesso Sequenziale con Indice
 Tecniche di Ricerca
 Ricerca Binaria
 Indice con B-Tree
 Tecniche Hash

La realizzazione di un programma
che gestisce archivi



Viene definito il “tipo record”
Viene definito l’archivio (nome, supporto
fisico, tipo record, organizzazione fisica)
Vengono scritti i sottoprogrammi di
inserimento, modifica, cancellazione,
ricerca, stampa nel linguaggio di
programmazione prescelto (COBOL, RPG,
PL/I )
I difetti di una gestione
tradizionale degli archivi









Il modello dei dati è “cablato” nei programmi
I controlli sono “cablati” nei programmi
I programmi devono cambiare se cambia il
modello logico o fisico dei dati
Programmi diversi possono usare tipi record
diversi per lo stesso archivio
Ripetitività degli algoritmi
I campi possono essere duplicati in più archivi
Ridondanza, rischio di incongruenza e
inconsistenza
Mancanza di controllo degli accessi
Difficoltà nell’accesso multiutente ai dati
Data Base: cos’è

Un Data Base è una collezione di dati operativi
memorizzati su un supporto per computer,
utilizzato dai programmi applicativi di una
particolare azienda (C. Date)

Un Data Base contiene informazioni collegate tra
di loro ed informazioni sulle informazioni (metainformazioni in un Dizionario dei dati) in maniera
da superare i difetti della gestione tradizionale
degli archivi
Data Base: I pregi









Il modello dei dati è nel Data Base
I controlli di integrità sono nel Data Base
Il controllo degli accessi è nel Data Base
Raramente i programmi cambiano se cambia il
modello logico o fisico dei dati
Programmi diversi usano lo stesso modello per lo
stesso archivio
I programmi applicativi non contengono gli algoritmi
di base ma usano un linguaggio di interrogazione e
manipolazione per accedere ai dati
L’esigenza di duplicare i campi viene ridotta
Meno ridondanza, meno rischio di incongruenza e
inconsistenza
Supporto nell’accesso multiutente ai dati
Con un Data Base…







La ridondanza dei dati può essere ridotta
Le inconsistenze possono essere evitate
Le informazioni possono essere condivise
Gli standard possono essere rinforzati
La sicurezza dell’informazione può essere
controllata
E’ possibile trovare un punto di incontro tra
esigenze contrastanti
La produttività può essere aumentata
Data Base: I difetti





Costa all’utente e alla Software House
Richiede maggiori risorse di calcolo
Richiede tempi di addestramento
Richiede figure professionali specifiche
(Data Base Administrator)
Richiede per grossi data base modifiche
organizzative nel centro E.D.P.
Data Base Management
System
E’
il Sistema Software che gestisce Data Bases
Nasce come insieme di sottoprogrammi
Oggi è un Sistema Software complesso
Interprete
Del
Linguaggio
Sottomodello
di A
Area di Lavoro
Utente interattivo A
Gestione del
Modello Logico
(Dizionario)
Gestione del
Modello Fisico
Sottomodello
di B
Area di Lavoro
Utente interattivo B
Sottomodello
di C
Area di Lavoro
Programma C
I Modelli dei dati




Rappresentano la struttura delle informazioni
Il modello concettuale dei dati rappresenta la
struttura delle informazioni inerente al problema
nel mondo reale
Il modello logico dei dati rappresenta la struttura
delle informazioni così come sono visibili
all’utente di un DBMS
Il modello fisico dei dati rappresenta la struttura
delle informazioni così come risiede su memoria
di massa
I Modelli dei dati - Esempi
I Dati
Il modello logico
dei dati
Il Modello Concettuale – Un
esempio
Modelli dei Dati e Notazioni



Il modello concettuale viene espresso usando la
notazione Entity-Relationship di P. Chen o UML
(Uniform Modeling Language)
Il modello logico viene espresso usando la
notazione supportata dal DBMS
Il modello fisico viene deciso dal DBMS su
suggerimento del programmatore o del Data
Base Administrator
Schema dei Dati

E’ l’insieme dei modelli dei dati contenuti in un
Data Base
Tipi di Modelli dei Dati
Gerarchico
 Reticolare
 Relazionale
 Entità-Relazione
 Orientato ad Oggetti (Semantico)

Il Modello Entità-Relazione







Usato per descrivere il modello concettuale delle
informazioni
Inventato da Peter Chen nel 1976
Ogni cosa è una Entità
Ogni Entità ha delle proprietà
Le Entità con le stesse proprietà fanno parte
dello stesso Insieme di Entità
Tra Entità ci possono essere delle Relazioni
Le Relazioni possono essere 1:1, 1:n, n:n
Notazione di Chen
Entità
Studenti
Relazione
Nome
Fax
Proprietà
Dal Problema al Modello
Concettuale




Ogni nome diventa una entità
Ogni aggettivo diventa una proprietà
Ogni verbo diventa una relazione
Il verbo HA può diventare una proprietà o una
relazione
Esempio: Uno studente ha un nome, un cognome ed un
indirizzo. Ha inoltre un genitore con nome, un cognome ed
un indirizzo.
Studenti
Cognome
Nome
Indirizzo
n
n
Ha
Genitori
Cognome
Nome
Indirizzo
Il Modello Gerarchico
Il Modello Gerarchico –
Assunzioni di Base
Il Linguaggio: IMS-DL/I

Data Definition Language
Data Manipulation
Language



Cerca per chiave (Get Unique)
Cerca il prossimo (Get Next)
Cerca il prossimo nel padre (Get Next
Within Parent)
Il Modello Reticolare
Il Modello Reticolare –
Assunzioni di Base
Il Linguaggio: Cobol

Data Definition Language
Data Manipulation
Language



Cerca in archivio (Find)
Cerca owner (Find owner)
Cerca member (Find member)
Il Modello Relazionale
Assunzioni di Base





I duplicati non sono permessi
L’ordine non è importante
I valori sono atomici
Le colonne sono omogenee
Le righe sono omogenee
Il Linguaggio: SQL

Data Manipulation Language

Data Definition Language
Problemi Aperti






Qualità del Modello e Normalizzazione
Multiutenza e Transazione
Ottimizzazione e Data Base Administrator
Sicurezza e Data Base Administrator
La Frattura con il linguaggio ospite
I Limiti del Modello Relazionale
Scarica

Una Introduzione alle Basi di Dati