IL DATA BASE
Un data base o base di
dati è un sistema di gestione dei dati che presenta delle caratteristiche
molto particolari: permette di definire i dati indipendentemente dai programmi,
in modo che si possano fare delle modifiche sui dati senza dover modificare
tutti i programmi che li usano; permette di organizzare in modo efficiente i
dati evitando inutili duplicazioni; permette di gestire dei meccanismi per
garantire la sicurezza e la protezione dei dati.
IL DATA BASE MANAGEMENT SYSTEM
Un sistema di gestione di un data base viene
chiamato DBMS (Data Base Management System).
Il Data Base Management System
permette di organizzare i dati secondo un particolare modello e di gestirli per
le elaborazioni, facendo da intermediario con il sistema
operativo.
L'organizzazione dei dati dal punto di vista logico viene
rappresentata attraverso un modello. La descrizione dell'organizzazione logica
del data base si chiama schema; si possono definire anche dei sottoschemi,
cioè delle riduzioni a sottoinsiemi (per esempio dati che interessano in
un'applicazione).
L'organizzazione logica dei dati è indipendente
sia dai programmi applicativi che usano il data base che non devono quindi
venire modificati se non si fanno variazioni sostanziali sui dati (come
aggiungere un campo a un record, se questo non deve essere elaborato dal
programma), sia dal modo con cui i file sono memorizzati sui supporti di
registrazione.
Schema del sistema di gestione di un data base
I LINGUAGGI DI GESTIONE DEI DATA BASE
Un data base viene definito da una persona
chiamata amministratore (o da un gruppo di persone) che deve stabilire
l'organizzazione logica e fisica dei file.
L'organizzazione logica del data
base viene definita attraverso un linguaggio di definizione dei dati chiamato
DDL (Data Definition Language); l'organizzazione fisica viene descritta mediante
un altro linguaggio chiamato DMCL (Device Media Control Language), cioè
linguaggio di controllo dei dispositivi periferici.
Le elaborazioni sul
data base vengono eseguite dai programmatori o dagli utenti tramite linguaggi di
manipolazione dei dati chiamati DML (Data Manipulation Language) che offrono
istruzioni per effettuare ricerche o aggiornamenti.
Esistono vari tipi di
linguaggi di manipolazione; si possono comunque dividere in due grandi gruppi:
quelli che permettono di realizzare dei veri e propri programmi (linguaggi di
tipo procedurale) e quelli che permettono di effettuare interrogazioni o
aggiornamenti sul data base senza conoscere le regole della programmazione,
attraverso semplici comandi o maschere video da completare (chiamati query
language).
Le funzioni svolte dai diversi tipi di linguaggi di gestione
possono essere integrate in un unico linguaggio che costituisce l'interfaccia
tra utente e DBMS; questo è vero per esempio per i pacchetti di gestione
di data base disponibili su personal computer.
MODELLI DI DBMS
I modelli utilizzati per descrivere lo schema di
un data base sono i modelli gerarchico, reticolare e relazionale.
Il
modello gerarchico può essere utilizzato quando ci sono delle relazioni
gerarchiche tra i dati, cioè quando i dati possono venire rappresentati
mediante una struttura ad albero.
Un data base gerarchico risulta
efficiente soltanto se le interrogazioni che vengono poste rispettano la
struttura gerarchica; quindi prima di definire la struttura bisognerebbe
conoscere il tipo di richieste che verranno fatte più
frequentemente.
Nel modello reticolare si possono descrivere associazioni
tra i dati di qualsiasi tipo (non solo dipendenze gerarchiche), anche se
sfruttando qualche artificio, come quello di creare delle entità fittizie
per realizzare i collegamenti, il modello assume una struttura a grafo.
Il
modello relazionale si basa sul concetto matematico di relazione, considerata
come una tabella di m righe e n colonne dove ogni colonna rappresenta un
attributo e ogni riga un elemento o entità.
Per esempio si
può definire la relazione dei dati anagrafici degli studenti di una
scuola; ciascuna colonna riporterà un attributo, come il nome,
l'indirizzo, la classe di appartenenza e ogni riga conterrà i dati di uno
studente.
Le righe vengono chiamate anche tuple e devono essere tutte
distinte tra di loro.
Una chiave della relazione è un insieme di
attributi i cui valori siano diversi in tutte le righe della relazione (in modo
che attraverso i loro valori si possa identificare ciascuna riga della
relazione).
LE OPERAZIONI SULLE RELAZIONI
Sulle relazioni sono definite delle operazioni
matematiche.
Le operazioni fondamentali, cioè quelle necessarie per
definire qualsiasi interrogazione, sono:
unione, intersezione, differenza,
proiezione, selezione, join naturale (giunzione).
- UNIONE
Operazione
che si può eseguire tra due relazioni dello stesso tipo, cioè con
lo stesso numero e tipo di colonne. La relazione risultante contiene tutte le
righe della prima relazione più tutte le righe della seconda (le righe
comuni alle due relazioni vanno prese una volta sola).
-
INTERSEZIONE
Operazione che si può eseguire tra due relazioni dello
stesso tipo, cioè con lo stesso numero e tipo di colonne. La relazione
risultante contiene le righe che appartengono sia alla prima relazione che alla
seconda.
- DIFFERENZA
Operazione che si può eseguire tra due
relazioni dello stesso tipo, cioè con lo stesso numero e tipo di colonne.
La relazione risultante contiene tutte le righe che appartengono alla prima
relazione ma non alla seconda.
- PROIEZIONE
Data una relazione, si
dice proiezione su alcune colonne della relazione, quella che si ottiene
considerando solo le colonne indicate; se rimangono più righe uguali, le
righe doppie devono essere eliminate.
- SELEZIONE
La selezione o
restrizione di una relazione in base ad una condizione è la relazione
costituita soltanto dalle righe che soddisfano la condizione richiesta.
-
GIUNZIONE NATURALE
L'operazione di giunzione si può eseguire su due
relazioni con diverso numero e tipo di colonne, se hanno almeno una colonna
comune, cioè uguale come significato anche se con valori
diversi.
Nella relazione risultante le righe della seconda relazione
vengono concatenate alle righe della prima in base al valore della colonna in
comune.
LE BANCHE DATI
Una banca dati pubblica è un data base che
può essere consultato da chi ne è interessato con mezzi
telematici, cioè attraverso un collegamento in rete al computer su cui
viene gestito il data base.
Le banche dati più diffuse e conosciute
sono quelle di tipo economico o giuridico, realizzate da organizzazioni
specializzate pubbliche o private.
INFORMATION RETRIEVAL SYSTEM
Un Information Retrieval System (IRS o sistema di
reperimento delle informazioni) è un data base in cui è possibile
soltanto compiere delle ricerche di informazioni e non anche altre elaborazioni
(inserimenti, aggiornamenti ecc.).
Gli information retrieval system
permettono di gestire soprattutto informazioni registrate sotto forma di testo
libero (anziché di record suddivisi in campi).
Quando viene inserito
un testo nel data base vengono determinate le parole chiave da associare al
testo creando una specie di indice; il thesaurus è il dizionario di tutte
le parole chiave che sono state utilizzate per classificare i testi nel data
base.
L'utente ricerca un testo indicando uno o più termini scelti
dal dizionario.