Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Prof. S. Castano
INTRODUZIONE
Prof. S. Castano
BASE DI DATI
Lo svolgimento delle attivit di un organizzazione si fonda sulla disponibilit di informazioni e sulla capacit di poterle gestire in maniera efficiente. Le attivit di raccolta, organizzazione e conservazione dei dati costituiscono uno dei principali compiti dei sistemi informatici Una base di dati una collezione di dati che rappresentano le informazioni relative a una realt di interesse
Es.: elenchi di utenze telefoniche, quotazioni azioni nei mercati telematici, elenchi dei C/C, elenco iscritti facolt universitarie
Prof. S. Castano Basi di Dati e Laboratorio - A.A. 2007-2008 3
BASE DI DATI
Propriet di una base di dati: Rappresenta una determinata realt di interesse detta Universo del Discorso (UoD); i dati contenuti devono sempre essere aggiornati per riflettere i cambiamenti che si verificano nellUoD. I dati contenuti sono logicamente correlati e consistenti, non sono una raccolta casuale di dati. Viene creata per uno scopo specifico ed usata uno o pi gruppi di utenti e applicazioni.
Prof. S. Castano Basi di Dati e Laboratorio - A.A. 2007-2008 4
BASE DI DATI
Si pensi ad esempio ad un sistema informativo universitario. La base di dati conterr dati su studenti, docenti, piani studio, corsi, aule, corsi di laurea e cos via. I dati di uno studente sono correlati ai dati del piano studi che sono correlati a quelli dei corsi e cosi via. Esempi di applicazioni per cui viene creata la base di dati sono ad esempio, la gestione dei piani studio degli studenti, la gestione dei manifesti degli studi, la gestione dei corsi.
Prof. S. Castano Basi di Dati e Laboratorio - A.A. 2007-2008 5
INFORMAZIONE E DATO
Per informazione intendiamo tutto ci che produce variazioni nel patrimonio conoscitivo di un soggetto. Per dato intendiamo una registrazione della descrizione di una qualsiasi caratteristica della realt su un supporto che ne garantisca la conservazione e, mediante un insieme di simboli, ne garantisca la comprensibilit e la reperibilit.
Prof. S. Castano
INFORMAZIONE E DATO
V1
un dato
Prof. S. Castano
INFORMAZIONE E DATO
DBMS
Un sistema di gestione di basi di dati (DBMS Data Base Management System), un sistema software specificamente realizzato per supportare la definizione, costruzione, manipolazione e condivisione di basi di dati. Uno degli obiettivi di un DBMS proprio quello di fornire un contesto interpretativo ai dati, in modo da consentire un uso efficace delle informazioni da essi rappresentate.
Prof. S. Castano
Costruzione della BD
Popolare la BD, memorizzando i dati su un supporto di memorizzazione gestito dal DBMS
Prof. S. Castano
10
Condivisione della BD
Pi utenti e programmi applicativi possono accedere contemporaneamente ai dati contenuti nella base di dati
Prof. S. Castano Basi di Dati e Laboratorio - A.A. 2007-2008 11
BASI DI DATI E DBMS Le basi di dati possono essere di qualsiasi dimensione e avere diversa complessit
ES. Base di dati erariale statunitense (IRS) che memorizza dati su 100 milioni di contribuenti
Dichiarazione: mediamente 5 moduli/contribuente Ca. 200 caratteri/modulo 100 * (106) * 200 * 5 caratteri (byte) 3 dichiarazioni (storico) + la corrente/contribuente
Necessit di organizzare e gestire grandi quantit di dati in modo da rendere possibile agli utenti operazioni di ricerca, recupero e aggiornamento secondo necessit in maniera efficiente
Prof. S. Castano Basi di Dati e Laboratorio - A.A. 2007-2008 12
Prof. S. Castano
13
Prof. S. Castano
14
Prof. S. Castano
15
FUNZIONALITA DEI DBMS Gestione delle interrogazioni Al fine ricostruire linformazione completa in risposta a uninterrogazione, in generale necessario collegare dati in file diversi e (ad esempio, fornire linformazione sugli studenti con i relativi esami). Il DBMS fornisce funzionalit per la formulazione di interrogazioni di alto livello in base alle propriet dei dati e per lesecuzione efficiente delle interrogazioni in base alle strutture fisiche di memorizzazione.
Prof. S. Castano Basi di Dati e Laboratorio - A.A. 2007-2008 16
FUNZIONALITA DEI DBMS Protezione dei dati Un importante requisito per una base di dati la protezione del suo contenuto da accessi non autorizzati.
Il DBMS fornisce funzionalit di sicurezza e
autorizzazione, per garantire che solo utenti autorizzati abbiano accesso alla base di dati e che gli utenti possano compiere solo le operazioni consentite su specifici dati secondo informazioni contenute in opportune tabelle di autorizzazione.
Basi di Dati e Laboratorio - A.A. 2007-2008 17
Prof. S. Castano
Prof. S. Castano
APPROCCIO BASI DI DATI vs. FILE SYSTEM La struttura della BD memorizzata separatamente dai programmi nel catalogo (indipendenza tra programmi e dati) La BD condivisa da molteplici programmi applicativi (no ridondanza e inconsistenza) Una BD ha molti utenti, ciascuno dei quali pu richiedere una diversa vista o prospettiva sui dati nella BD. Gestione delle transazioni in ambiente multi-utente
Il DBMS realizza il controllo della concorrenza per garantire che aggiornamenti concorrenti agli stessi dati portino ad un risultato corretto Il DBMS realizza meccanismi sofisticati per il controllo dellaffidabilit (recovery da guasti)
Prof. S. Castano Basi di Dati e Laboratorio - A.A. 2007-2008 19
Programmi applicativi/interrogazioni
SW del DBMS Il sistema basi di dati non contiene solo la BD SW eleborazione interrogazioni/programmi maper anche la descrizione di completa della sua struttura e dei suoi vincoli (metadati, memorizzati nel catalogo)
Prof. S. Castano
20
Amministratore della base di dati (Data Base Administrator), DBA Responsabile di:
Autorizzare laccesso alla BD Coordinare e monitorare luso della BD Manutenere il sistema BD (es., acquisizione di nuove risorse hw/sw)
Prof. S. Castano
21
Prof. S. Castano
22
Prof. S. Castano
23
SISTEMA DI BASI DI DATI ATTORI Utenti finali sono utenti che usano sistematicamente la base di dati attraverso transazioni. Luso che tali utenti fanno dei dati pu essere anche complesso ma noto a priori e quindi vengono sviluppati appositi programmi, denominati transazioni standard che realizzano attivit frequenti e predefinite. Utenti occasionali sono utenti le cui richieste non sono predefinite. Sono in grado di utilizzare i linguaggi interattivi per laccesso alla base dati formulano interrogazioni/ aggiornamenti estemporanei. Per tali utenti sono spesso previste interfacce grafiche di facile uso.
Prof. S. Castano Basi di Dati e Laboratorio - A.A. 2007-2008 24
Prof. S. Castano
25
Prof. S. Castano
26
Prof. S. Castano
28
E basato su un singolo costrutto, la relazione. Una relazione consente di organizzare i dati in insiemi di record a struttura fissa. Una relazione pu essere vista come una tabella in cui le righe rappresentano i singoli record le colonne corrispondono ai campi del record lordine delle righe/colonne irrilevante
Prof. S. Castano
29
Esempi di relazioni
Prof. S. Castano
30
ALTRI MODELLI DEI DATI Modello gerarchico: uso di strutture ad albero (anni 60) Modello reticolare (o CODASYL): uso di grafi (inizio anni 70) Modello ad oggetti: estende alle BD il paradigma della programmazione ad oggetti (anni 90) Modello object-relational (relazionale-a oggetti): estensione del modello relazionale con alcune caratteristiche dei modelli a oggetti
Prof. S. Castano Basi di Dati e Laboratorio - A.A. 2007-2008 31
MODELLI DEI DATI MODELLI CONCETTUALI Descrivono i dati in maniera indipendente dal modello logico s Non sono disponibili in DBMS commerciali. Usati nelle fasi alte di progettazione. modello Entity-Relationshi MODELLI LOGICI Descrivono i dati con strutture che riflettono una particolare organizzazione (es., tabellare). Sono disponibili in DBMS commerciali. Modello relazionale Modello ad oggetti Modello reticolare Modello gerarchico
Prof. S. Castano
32
La descrizione delle caratteristiche dei dati facendo uso di un modello dei dati costituisce lo schema della base di dati. Lo schema fornisce una descrizione intensionale del contenuto della base di dati. E una descrizione sostanzialmente invariante nel tempo.
Cambiamenti allo schema si ritengono operazioni poco frequenti per adeguamenti; normalmente i DBMS mettono a disposizione opportuni comandi per la modifica dello schema.
Il primo passo nello sviluppo di una base di dati rappresentato dalla definizione dello schema della base di dati.
Prof. S. Castano Basi di Dati e Laboratorio - A.A. 2007-2008 33
MODELLI DEI DATI SCHEMA E ISTANZA Linsieme dei dati presente in un dato momento in una base di dati costituisce l insieme delle istanze (o stato) della base di dati. Linsieme delle istanze variabile nel tempo, ovvero cambia molto spesso nel tempo per riflettere tutti gli aggiornamenti apportati (inserimenti, cancellazioni, modifiche). La BD ha uno stato corrente. Il DBMS garantisce che ogni stato sia valido, ovvero verifichi struttura e vincoli specificati nello schema. Linserimento dei dati nella base di dati rappresenta il passo successivo nello sviluppo di una base di dati.
Prof. S. Castano Basi di Dati e Laboratorio - A.A. 2007-2008 34
ESEMPIO DI SCHEMA
Schema
Prof. S. Castano
35
ESEMPIO DI ISTANZA
Istanza
Prof. S. Castano
36
mapping
LIVELLO LOGICO (CONCETTUALE) SCHEMA LOGICO
mapping
Prof. S. Castano
37
LIVELLI DI ASTRAZIONE NEI DBMS Una base di dati pu essere vista a tre diversi livelli di astrazione. Per ogni livello ce uno schema: Schema Logico: descrizione dellintera BD per mezzo del modello logico dei dati adottato dal DBMS (es., relazionale). Schema Fisico: descrizione dello schema logico per mezzo di strutture fisiche di memorizzazione e di accesso (file, indici, ecc.). Schema Esterno o Vista: descrizione di una porzione dellintera base di dati limitata ai dati che costituiscono la specifica visione di singoli utenti o gruppi di utenti, facendo uso del modello dei dati logico del DBMS. Possono essere definite pi viste di una stessa base di dati.
Prof. S. Castano Basi di Dati e Laboratorio - A.A. 2007-2008 38
LIVELLI DI ASTRAZIONE NEI DBMS La distinzione fra livello fisico e logico consente agli utenti e ai programmatori di fare riferimento solo al livello logico. I dati descritti al livello logico sono poi memorizzati per mezzo di opportune strutture fisiche, ma per accedere ai dati non necessario conoscere le strutture fisiche stesse. Il DBMS mantiene anche le corrispondenze (o mapping) fra gli schemi dei 3 livelli, in modo da tradurre le richieste di accesso formulate a livello di schema logico/esterno in accessi a strutture di memorizzazione, sfruttando lo schema fisico.
Prof. S. Castano
39
ESEMPIO
Prof. S. Castano
40
INDIPENDENZA DEI DATI Indipendenza fisica Consente di interagire con il DBMS in modo indipendente dalla struttura fisica dei dati. Modifiche apportate alla rappresentazione fisica dei dati (ad esempio uso di una struttura di accesso piuttosto di unaltra) non influiscono sulla descrizione a livello logico e quindi sulle applicazioni esistenti. Indipendenza logica Interazione a livello esterno indipendentemente dal livello logico. Es., aggiunte/modifiche allo schema logico richiedono modifiche a un numero limitato di schemi esterni.
Prof. S. Castano Basi di Dati e Laboratorio - A.A. 2007-2008 41
LINGUAGGI PER BASI DI DATI DDL (Data Definition Language) Linguaggio per la definizione di schemi logici, esterni e le autorizzazioni di accesso ai dati (VDL-View Definition Language-, per indicare il linguaggio di specifica delle viste utente) DML (Data Manipulation Language) Linguaggio utilizzato per linterrogazione e laggiornamento delle istanze della base di dati
Prof. S. Castano
42
Prof. S. Castano
43
Laccesso ai dati pu avvenire mediante: Linguaggi testuali interattivi (es. SQL) Interfacce amichevoli (es. linguaggi grafici) Comandi come quelli del linguaggio interattivo immersi:
in un linguaggio ospite (es., C, C++, Cobol) in un linguaggio ad hoc anche con lausilio di strumenti di sviluppo (es., Oracle PL/SQL)
Prof. S. Castano
44
Prof. S. Castano
46
Prof. S. Castano
47
Prof. S. Castano
48
LINGUAGGI PER BASI DI DATI Durante il corso ci concentreremo sui linguaggi di accesso ai dati testuali interattivi, in particolare SQL immersi in altri linguaggi di programmazione, in particolare PL/SQL
Prof. S. Castano
49
TRANSAZIONI
Una transazione: Rappresenta la tipica unit di lavoro elementare di un DBMS Identifica una unit di lavoro svolta da una applicazione, cui si vogliono associare particolari caratteristiche di correttezza, robustezza e isolamento I DBMS sono sistemi transazionali: mettono a disposizione un meccanismo per la definizione e lesecuzione di transazioni Nellesecuzione di una transazione devono essere garantite le cosiddette propriet ACIDe (Atomiticit, Consistenza, Isolamento, Durability-persistenza)
Prof. S. Castano Basi di Dati e Laboratorio - A.A. 2007-2008 50
ARCHITETTURA DI UN DBMS
Prof. S. Castano
51
Componenti di un DBMS
Ottimizzatore: seleziona la strategia di accesso ai dati Gestore accesso ai dati: esegue la strategia Gestore buffer: gestisce gli accessi alle pagine Sottosistema di recovery: gestisce i malfunzionamenti Sottosistema di controllo della concorrenza: gestisce le interferenze nellaccesso concorrente ai dati
Prof. S. Castano
52
Prof. S. Castano
53
ARCHITETTURA CENTRALIZZATA
Mainframe + terminali Tutte le funzionalit del DBMS, lesecuzione dei programmi e la gestione delle interfacce utente sono eseguite su una sola macchina dove risiedono anche il DBMS e i programmi applicativi. Vantaggi: gestibile da un amministratore centrale Svantaggi: la gestione dellinterfaccia grafica sottrae potenza di calcolo alla gestione della BD
Prof. S. Castano
54
ARCHITETTURA CENTRALIZZATA
Prof. S. Castano
55
ARCHITETTURA CLIENT-SERVER
Client-server: modello di interazione tra processi sw
Processo client: richiede servizi; dedicato a interagire con lutente finale; ruolo attivo perch genera richieste di servizi. Processo server: offre servizi; reattivo perch svolge una computazione solo a seguito di una richiesta da parte di un qualunque client. Ogni processo server pu rispondere a (molte) richieste da parte di processi client.
Interazione client-server richiede la definizione di una interfaccia di servizi che elenca i servizi messi a disposizione dal server Non e necessario che i processi client e server siano allocati su macchine diverse, anche se e diffuso luso di macchine diverse per la parte client e server nella gestione dei dati (client, DBMS server)
Prof. S. Castano Basi di Dati e Laboratorio - A.A. 2007-2008 56
ARCHITETTURA CLIENT-SERVER
Prof. S. Castano
57
ARCHITETTURA CLIENT-SERVER
Macchina client: adatta allinterazione con lutente. Generalmente si utilizza un PC dotato di strumenti per office automation con le applicazioni che richiedono luso della BD; collegate ai server attraverso una rete di comunicazione (e.g., LAN, WAN) Macchina server (DBMS server, database server): adatta per le funzionalit transazionali e di interrogazione; dimensionato in funzione dei servizi che deve offrire e del carico transazionale Ampia memoria principale (gestione dei buffer) e dispositivi di memoria di massa ad elevata capacit (per memorizzare tutta la BD) Nei RDBMS, si parla anche di SQL server
Prof. S. Castano
58
ARCHITETTURA CLIENT-SERVER
Le funzioni di client e server sono ben definite Corrispondenza naturale con i ruoli di un sistema di basi di dati
Programmatore applicativo: responsabile della gestione del software relativo al client Amministratore (DBA): responsabile della organizzazione e della gestione della base dati sul server, per garantire prestazioni ottimali a tutti i client
Prof. S. Castano
59
ARCHITETTURA TWO-TIER
THIN
Interfaccia utente Client
THICK
Interfaccia utente
Logica applicativa
BD
Logica applicativa
DBMS server
BD
Prof. S. Castano
60
ARCHITETTURA TWO-TIER
Il client ha funzioni solo di interfaccia o anche di gestione dellapplicazione Il server ha funzione di gestione dei dati Pi diffusa larchitettura thin client; larchitettura thick client ha delle limitazioni: aggiornamento e mantenimento della logica applicativa non sono centralizzati richiede altissima capacit di elaborazione da parte del server, che deve rispondere a un elevato numero di interrogazioni non scalabile (non pi di poche centinaia di client; molto complesso aggiungere nuovi server)
Prof. S. Castano Basi di Dati e Laboratorio - A.A. 2007-2008 61
ARCHITETTURA THREE-TIER
E presente un secondo server, il server applicativo (application server), responsabile della gestione della logica applicativa Il client si occupa solo dellinterfacciamento con lutente finale (thin client)
Il client invia le richieste al server applicativo Il server applicativo dialoga con il DBMS server per la gestione dei dati
ARCHITETTURA THREE-TIER
(Javascript, cookies)
Prof. S. Castano
63
ARCHITETTURA THREE-TIER
Interconnessione di sistemi eterogenei I client sono thin (browser web) Integrazione dei dati gestita nel livello intermedio (resta il problema metodologico del come) Scalabilit: si possono aggiungere anche macchine a livello intermedio (impossibile nel caso thick client) Riuso
Prof. S. Castano
64
CLASSIFICAZIONE DI DBMS Modello dei dati: DBMS relazionali, DBMS object-relational, DBMS Object-Oriented, DBMS reticolari, DBMS gerarchici Numero di utenti:
DBMS mono-utente (tipicamente su PC) DBMS multi-utente (pi utenti concorrentemente)
Prof. S. Castano
65
EVOLUZIONE DEI SISTEMI DI BASI DI DATI ANNI 60: appaiono i primi DBMS commerciali gerarchici e reticolari 1970: viene proposto il modello relazionale (Codd) a superamento dei limiti dei modelli dei dati precedenti Anni 70/80: Diffusione dei DBMS relazionali commerciali 1990: i DBMS relazionali sono uno standard aziendale Anni 80/90: DBMS ad oggetti Dal 1990 ad oggi: continua evoluzione della tecnologia basi di dati in molteplici direzioni
Prof. S. Castano
66
Very small databases: realizzazione di sistemi di gestione dei dati per dispositivi di piccole dimensioni come dispositivi mobili (e.g., PDA, smart card, palm PC) Very large databases: (centinaia di gigabyte, terabyte)
Memoria terziaria (CD, DVD) Parallelismo nellelaborazione di query e nel reperimento dei dati da dispositivi di memorizzazione
Prof. S. Castano
67
Integrazione di informazioni
Tecniche per creare informazioni integrate a partire da dati provenienti da molteplici BD eterogenee e distribuite della stessa organizzazione o di organizzazioni diverse (legacy DB) Costruzione di datawarehouse aziendali dove convergono dati che sono integrati e utilizzati per scopi di analisi e data mining
Prof. S. Castano Basi di Dati e Laboratorio - A.A. 2007-2008 68