Estratto del documento

1. Introduzione alle Basi di Dati

1.2 Un po' di Storia...

La necessità di memorizzare e manipolare l'informazione è sempre stato un elemento di grande interesse sin dalla nascita

dell'Information Technology (IT) stessa. Per tal motivo le Basi di Dati, che sono sistemi atti a manipolare grandi quantità di

dati, hanno sempre occupato un ruolo primario nel campo dell'IT. Il modo di concepire, progettare ed implementare una

1

Base di Dati si è evoluto nel tempo assecondando le esigenze di questo settore. Si è passati perciò da applicazioni realizzate

ed implementate per modellare uno specifico scenario fino a grandi Basi di Dati integrate in Internet, eventualmente

distribuite ed accessibili ovunque con differenti tecnologie. Il percorso evolutivo sopra descritto è maturato nell'arco di

mezzo secolo partendo dagli anni cinquanta fino ad arrivare ai giorni d'oggi.

Attualmente le Basi di Dati maggiormente utilizzate sono le Basi di Dati Relazionali.

Lentamente, si stanno affermando le Basi di Dati ad Oggetti che spesso sono realizzate come estensioni delle prime e

quindi più propriamente dette Basi di Dati Relazionali ad Oggetti. Sebbene non siano ancora stati introdotti i concetti di

Basi di Dati Relazionali e di Basi di Dati ad Oggetti si può comunque intuire come questa lenta transizione sia dettata da

un cambio delle esigenze del contesto in cui le Basi di Dati sono inserite: la realtà dell'IT. Questa è una costante che ha

sempre influenzato la modellazione delle Basi di Dati: essendo queste orientate manipolare informazioni che spesso hanno

forte legame con scenari reali sono sempre state influenzate dalle esigenze di questi. Uno dei motivi di questa dipendenza è

dato dal voler rendere la modellazione e la trattazione dei dati il più conforme possibile a quanto avvenga nella realtà. Sono

stati perciò proposti diversi modelli che si sono seguiti nel tempo ed hanno affrontato il problema della rappresentazione

dell'informazione e della sua manipolazione da diverse prospettive.

Argomento del corso di Basi di Dati, e quindi di queste dispense, sono principalmente le Basi di Dati Relazionali

anche se nella storia si sono state proposti diversi modelli. Il resto del paragrafo propone una breve carrellata delle

diverse soluzioni che sono state proposte nel corso del tempo. Le prime realizzazioni di sistemi assimilabili alle Basi di Dati

risalgono ai primi anni cinquanta. Non vi era allora un concetto di Base di Dati vero e proprio ma venivano sviluppate

soluzioni specifiche per particolari domini applicativi; non era perciò possibile utilizzare un'applicazione precedentemente

sviluppata per gestire le informazioni in un altro contesto. La prima Base di Dati general purpose fu realizzata nei primi

modello reticolare

anni 60 presso la General Electric da Charles Bachman che introdusse il e fu un punto di riferimento

tutto il decennio. Verso la fine degli anni 60 l'IBM sviluppò il sistema IMS (Information Management System), attualmente

tipo gerarchico.

ancora utilizzato, che si basava invece su un modello di rappresentazione dei dati di Nel 1970, presso i

il modello

laboratori di ricerca dell'IBM di San Jose, Edgar Codd sviluppò un nuovo modello di rappresentare i dati:

entità relazione.

– L'introduzione del modello relazionale costituì un enorme cambiamento nell'ambito dello sviluppo dei

sistemi per la gestione delle Basi di Dati: il modello relazionale era infatti supportato da una solida infrastruttura teorica

ma allo stesso tempo abbastanza semplice ed intuivo da essere compreso anche dai non addetti ai lavori. Per tal motivo il

il modello relazionale divenne così uno

modello proposto da Codd si affermò sia in ambito accademico che commerciale:

standard di fatto per la rappresentazione e la manipolazione di enormi quantità di informazioni. Nel 1980 quando il

linguaggio SQL Query

modello relazionale aveva ormai assunto una posizione di egemonia venne introdotto il (Structured

Language) che si affermò in breve tempo come lo strumento principale per la definizione, la manipolazione e

Attualmente le Basi di Dati relazionali ed il linguaggio SQL sono gli

l'interrogazione di Badi di Dati relazionali.

strumenti maggiormente utilizzati per la gestione di Basi di Dati. Nei tardi anni 80 e negli anni 90 vennero fatti

ulteriori progressi nel campo dei Sistemi di Basi di Dati volti sostanzialmente a fornire estensioni degli strumenti

precedentemente affermatisi. In particolare venne teorizzato il concetto di Base di Dati ad Oggetti che ha arricchito il

modello relazionale, e di conseguenza il linguaggio SQL, con il concetto di oggetto. L'integrazione del modello relazionale

con il modello ad oggetti ha permesso di estendere ulteriormente il dominio applicativo delle Basi di Dati: con l'avvento e la

diffusione su larga scala di Internet sono ormai prassi comune, nonché fonte di guadagni notevoli, enormi Basi di Dati

accessibili via web e distribuite in rete. Tra queste ve ne sono alcune che sono specializzate nella gestione di informazioni

di Dati Multimediali): le Basi di Dati Multimediali hanno tratto un significativo

di carattere multimediale (Basi

vantaggio dall'integrazione del modello relazionale con quello ad oggetti ed hanno permesso la realizzazione di

grandi biblioteche digitali (e multimediali) fruibili dalla comunità in rete.

La pubblicazione di informazioni in rete diventa sempre più massiva e per tal motivo le Basi di Dati continuano ad

assumere un ruolo sempre più importante. Dal punto di vista commerciale i sistemi di Basi di Dati rappresentano uno dei

più estesi e solidi segmenti di mercato in quanto costituiscono un requisito ormai irrinunciabile per qualunque tipo di

sistema che gestisca almeno un medio volume di informazioni.

1.3 Concetti Generali

In questo paragrafo verranno introdotti i concetti generali associati ad una Base di Dati ed ai sistemi di Basi di Dati in

genere. Verranno definite più nel dettaglio quali sono le caratteristiche che ogni Base di Dati possiede e come tali

caratteristiche vengano costituiscano un punto di forza dell'approccio proposto da questo modello di organizzazione

dell'informazione.

1.3.1 Definizione di Base di Dati e di DBMS

Base di Dati dati

Una è una collezione di dati correlati. Con il termine si fa riferimento a qualunque tipo di informazione

che possa essere memorizzato ed abbia un significato implicito. Esempi di dati possono perciò essere: nomi, numeri di

telefono, indirizzi, ma anche la media voti, l'insieme dei corsi frequentati etc. La definizione precedentemente data è di fatto

piuttosto generale, anche se fornisce in maniera immediata quale sia la caratteristica principale di una Base di Dati. In

realtà l'espressione Base di Dati assume un significato più restrittivo in quanto per essere considerata tale le si

proprietà:

attribuiscono proprietà aggiuntive . Una Base di Dati ha le seguenti

2

1 Il termine implementare è stato mutuato dal mondo dell'informatica e fa riferimento all'atto di realizzare, costruire un programma, un'applicazione od un sistema software che risolva

un determinato problema o modelli un particolare dominio. L'implementazione è una fase del processo di produzione del software che sempre segue la progettazione: durante la

progettazione viene realizzata una specifica del software e l'implementazione traduce questa specifica in un oggetto concreto che è il sistema software realizzato.

2 La semplice definizione di Base di Dati come collezione di dati correlati potrebbe infatti condurre a definire Base di Dati quasi qualunque cosa, ad esempio queste stesse dispense:

in tal caso le parole che formano il testo di queste dispense costituirebbero la collezione dei dati che sono ovviamente correlati.

1

 rappresenta un certo aspetto del mondo reale (dominio od universo del discorso): i cambiamenti in tale dominio si

riflettono sulla Base di Dati;

 è una collezione di dati logicamente coerenti con un significato intrinseco: questo significa che un assortimento

casuale di dati non può essere considerato una Base di Dati;

 è progettata, costruita e popolata con dati per uno scopo specifico: una Base di Dati è sempre associata ad un

determinato gruppo ed alcune applicazioni a cui questi sono interessati.

In altre parole una Base di Dati presenta una sorgente da cui derivano i dati, un certo grado di interazione con gli

eventi del mondo reale, ed un pubblico che è attivamente interessato al suo contenuto.

La definizione precedentemente restringe perciò l'insieme delle collezioni di dati che possono essere considerati Basi di

Dati. Esempi più significativi sono perciò: l'insieme delle informazioni che sono gestite dall'anagrafe comunale per tenere

traccia degli abitanti, l'insieme dei dati associati ad ogni contribuente per il pagamento delle tasse, oppure l'insieme delle

schede che catalogano i libri di una biblioteca. Osserviamo che in tal caso non è il volume dei dati che caratterizza l'essere

o meno una Base di Dati ma il fatto che sussistano le proprietà precedentemente elencate: in tutti gli esempi è infatti

possibile individuare il dominio del discorso, la coerenza logica delle informazioni in esame, e l'insieme di utenti ed

Detto questo una Base di Dati può essere composta soltanto da pochi elementi (quale può

applicazioni in gioco.

essere la propria collezione di CD e DVD) o da milioni di elementi (quali possono essere le informazioni storiche

sull'andamento del meteo in una regione). Sistema di Gestione delle Basi di Dati (DBMS –

Le Basi di Dati sono rese accessibili attraverso i sistemi opportuni. Un

Database Management System) è un insieme di programmi che permettono agli utenti di creare e mantenere una Base di

sistema software con scopi generali

Dati. Un DBMS è perciò un che permette di definire, costruire, manipolare e

condividere Basi di Dati per varie applicazioni. Vediamo ora più nel dettaglio quale sia il significato di queste attività:

 Definire una Base di Dati implica specificare i tipi di dati che questa ospiterà al suo interno le loro strutture ed i

vincoli a cui devono sottostare.

 Costruire una Base di Dati significa immagazzinare i dati stessi in un supporto di memorizzazione controllato dal

DBMS.

 Manipolare una Base di Dati vuol dire effettuare delle ricerche sulla collezione dei dati per estrarne delle

informazioni e dei prospetti (report), aggiornare la Base di Dati per renderla coerente con il dominio a cui è

associata ed eventualmente cambiarne la struttura quando il dominio muta.

 Condividere una Base di Dati significa consentire a più utenti e programmi di accedere contemporaneamente ad

essa.

La figura 1 fornisce uno schema di massima di come sia organizzato un sistema di gestione per di Basi di Dati o più

semplicemente DBMS.

In un sistema come quello descritto in figura vi sono diverse figure professionali che giocano un ruolo importante:

 della Base di Dati:

l'amministratore l'amministratore è la figura che gestisce e mantiene la Base di Dati e si

occupa del corretto funzionamento del DBMS. Il DBA (Database Administrator) è il garante del funzionamento

della Base di Dati e quindi deve rispondere delle violazioni di sicurezza e di eventuali rendimenti scadenti del

sistema. Nel caso di Basi di Dati di grandi dimensioni il DBA è supportato da uno staff di persone;

 progettisti della Base di Dati:

i sono coloro che si occupano di definire la strutture adeguate per rappresentare i

dati e di individuare i dati stessi da memorizzare. I progettisti delle Basi di Dati interagiscono con tutti i potenziali

utenti del sistema per individuare e quindi definire in maniera precisa il dominio del discorso associato alla Base

di Dati;

 utenti della Base di Dati:

gli questi sono quelle persone le cui attività lavorative richiedono l'accesso alla Base di

Dati per interrogazioni, aggiornamenti e generazioni di prospetti. Di fatto, la Base di Dati è stata realizzata per

loro;

 analisti di sistema programmatori di applicazioni:

gli e sono coloro che Facoltà di Scienze della

rispettivamente determinano le esigenze degli utenti finali, sviluppano le specifiche per le operazioni che verranno

3

i .

più frequentemente svolte sulla Base di Dati e implementano i programmi che effettuano queste operazion

Figura 1: Architettura di un Sistema di Basi di Dati

3 Questa ultima classe di utenti non deve essere confusa con i progettisti delle Basi di Dati. I primi infatti determinano la struttura ed il dominio associato alla Base di Dati, i secondi

intervengono in un momento successivo per fornire degli strumenti di alto livello agli utenti finali e rendere più efficiente l'interazione con la Base di Dati

2

Esiste una classe di applicazioni per la gestione delle Basi di Dati che in realtà non presenta tutte le caratteristiche

elencate. Tali applicazioni sono normalmente orientate alla gestione delle Basi di Dati ad uso personale. Le Basi di Dati ad

uso personale rappresentano un caso particolare delle Basi di Dati in quanto l'insieme degli utenti interessati ai dati è

normalmente molto ridotto e nella maggior parte composto da una sola persona: le figure professionali precedentemente

elencate sono di fatto coperte da un unico individuo che l'utente finale della Base di Dati. Tali Basi di Dati spesso

immagazzinano un numero di dati relativamente ridotto e costituiscono un esempio su piccola scala di quello che sono le

Basi di Dati in generale. Le applicazioni che gestiscono le Basi di Dati ad uso personale, di cui alcuni esempi sono

OpenOffice.org Base e Microsoft Access, hanno un insieme di funzionalità ridotte rispetto ai DBMS ad esempio non sono

pensati per gestire l'accesso concorrente di più utenti, non devono sottostare a determinati requisiti di performance, ne

presentano strumenti sofisticati per l'analisi dei dati. Tali applicazioni sono maggiormente orientate ad offrire uno

strumento semplice per la gestione di piccole Basi di Dati per persone non esperte. Nonostante ciò sono un ottimo esempio

di Base di Dati e verranno utilizzate nell'ambito di questo corso come strumento per la progettazione e l'utilizzo della Base

di Dati di esempio.

1.3.2 Un Esempio

È possibile ora fornire un primo esempio più significativo di una Base di Dati. L'esempio qui riportato è adatto sia per

modellare una Base di Dati sofisticata sia una Base di Dati ad uso personale. In tal caso si sceglierà un livello di dettaglio

inferiore e si trascureranno tutti quegli aspetti associati alla gestione dell'insieme di utenti associati alla Base di Dati, ai

requisiti di performance ed all'accesso concorrente. L'esempio presentato sarà inoltre l'esempio guida che verrà utilizzato

per illustrare i diversi concetti associati alle Basi di Dati.

Consideriamo un esempio a noi familiare cercando di modellare uno scenario reale con cui abbiamo a che fare

quotidianamente: vogliamo costruire una Base di Dati in grado di modellare con buona approssimazione l'attività di una

Facoltà Universitaria. L'attività è determinata da coloro che la frequentano ovvero gli studenti, i professori, i dottorandi, i

ricercatori, ed il personale amministrativo. Una facoltà è costituita da più dipartimenti ai quali appartengono i professori, i

ricercatori ed il personale amministrativo ed ogni dipartimento ha un direttore. I professori tengono dei corsi che sono

frequentati dagli studenti. Gli studenti hanno un piano di studi che individua i corsi che devono frequentare ed hanno una

media voti. Il personale accademico della facoltà oltre ad insegnare porta avanti dei progetti di ricerca, un progetto

normalmente prevede un responsabile ed ha un dipartimento di riferimento.

La caratterizzazione di una facoltà universitaria effettuata con la precedente descrizione ci permette di individuare a grandi

linee quali siano i dati e le informazioni di interesse per rappresentare tale realtà con una Base di Dati. In un primo

momento si potrebbe pensare di organizzare questo insieme di informazioni in un insieme di file che contengono tali dati.

Con riferimento alle sole informazioni riguardanti lo studente potremmo definire i seguenti file:

 il file degli studenti: questo memorizza l'elenco degli studenti con i dati anagrafici di interesse per l'università;

 il file degli insegnamenti: questo mantiene l'elenco degli insegnamenti disponibili in una facoltà e le informazioni

che li qualificano;

 il file dei moduli: un modulo identifica un particolare insegnamento tenuto da un particolare docente in un

determinato anno e semestre. Il file dei moduli mantiene l'elenco dei moduli;

 il file delle votazioni: una voto è associato ad un particolare studente ed u determinato modulo. Il file delle

votazioni mantiene l'elenco di tutte le votazioni di tutti i moduli e di tutti gli studenti;

 il file dei docenti: mantiene l'elenco dei docenti che lavorano in una facoltà con il dipartimento di appartenenza;

 il file dei dipartimenti: il file mantiene l'elenco dei dipartimenti registrando per ognuno alcune informazioni di

carattere burocratico ed ad esempio il direttore.

I file precedentemente introdotti saranno organizzati con una struttura a record: informalmente possiamo pensare ad una

struttura tabellare in cui ogni riga rappresenta appunto le informazioni associate ad un record. I record presenti in un file

hanno tutti gli stessi attributi (le colonne della tabella) in quanto modellano sempre la stessa entità. Ad esempio il file degli

studenti conterrà un record per ogni studente e per ogni studente ci interesserà memorizzare gli stessi attributi (matricola,

nome, cognome...). La figura 7 illustra una possibile organizzazione dei file sopra elencati.

Possiamo in questo caso riscontrare le differenti proprietà che caratterizzano una base di dati. In questo caso il dominio

del discorso scelto è quello della facoltà universitaria con tutto ciò che ne consegue: al mutare delle entità d

Anteprima
Vedrai una selezione di 11 pagine su 48
Basi di dati - Riassunto esame, prof. Coccoli Pag. 1 Basi di dati - Riassunto esame, prof. Coccoli Pag. 2
Anteprima di 11 pagg. su 48.
Scarica il documento per vederlo tutto.
Basi di dati - Riassunto esame, prof. Coccoli Pag. 6
Anteprima di 11 pagg. su 48.
Scarica il documento per vederlo tutto.
Basi di dati - Riassunto esame, prof. Coccoli Pag. 11
Anteprima di 11 pagg. su 48.
Scarica il documento per vederlo tutto.
Basi di dati - Riassunto esame, prof. Coccoli Pag. 16
Anteprima di 11 pagg. su 48.
Scarica il documento per vederlo tutto.
Basi di dati - Riassunto esame, prof. Coccoli Pag. 21
Anteprima di 11 pagg. su 48.
Scarica il documento per vederlo tutto.
Basi di dati - Riassunto esame, prof. Coccoli Pag. 26
Anteprima di 11 pagg. su 48.
Scarica il documento per vederlo tutto.
Basi di dati - Riassunto esame, prof. Coccoli Pag. 31
Anteprima di 11 pagg. su 48.
Scarica il documento per vederlo tutto.
Basi di dati - Riassunto esame, prof. Coccoli Pag. 36
Anteprima di 11 pagg. su 48.
Scarica il documento per vederlo tutto.
Basi di dati - Riassunto esame, prof. Coccoli Pag. 41
Anteprima di 11 pagg. su 48.
Scarica il documento per vederlo tutto.
Basi di dati - Riassunto esame, prof. Coccoli Pag. 46
1 su 48
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Ingegneria industriale e dell'informazione ING-INF/05 Sistemi di elaborazione delle informazioni

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Exxodus di informazioni apprese con la frequenza delle lezioni di Basi di dati e Sistemi Informativi e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi di Genova o del prof Coccoli Carlo.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community