Beruflich Dokumente
Kultur Dokumente
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 - AA. 2011-12 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 nell UoD. 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 - AA. 2011-12 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 cos 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 - AA. 2011-12 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
G8
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 - AA. 2011-12 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 - AA. 2011-12 12
Prof. S. Castano
13
FUNZIONALITA DEI DBMS Gestione delle interrogazioni Gli utenti hanno esigenza di reperire informazioni che soddisfino criteri e condizioni di ricerca diversificati
Es. Trovare tutte le informazioni sugli studenti iscritti al 2 anno di informatica con i relativi esami sostenuti Il DBMS fornisce fornisce linguaggi e funzionalit per la formulazione di interrogazioni di alto livello (query) in base alle propriet dei dati Il DBMS assicura l esecuzione efficiente delle query collegando tra loro i dati nei in diversi file su disco (ad esempio, il file degli studenti, il file dei corsi, il file degli esami).
Basi di Dati e Laboratorio - AA. 2011-12 14
Prof. S. Castano
Prof. S. Castano
15
Una base di dati normalmente condivisa e acceduta contemporaneamente da molteplici utenti attraverso vari programmi sw (transazioni).
il DBMS fornisce funzionalit di controllo della concorrenza, per garantire che transazioni concorrenti operino correttamente sui dati, senza interferenze reciproche. il DBMS fornisce funzionalit di salvataggio e ripristino (backup e recovery) dei dati contenuti nella base di dati, per garantire che non ci siano perdite di dati anche in caso di guasti e malfunzionamenti hw/sw durante l esecuzione delle varie transazioni.
Prof. S. Castano Basi di Dati e Laboratorio - AA. 2011-12 16
Prof. S. Castano
17
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 - AA. 2011-12 19
Programmi applicativi/interrogazioni
Prof. S. Castano
20
Programmi applicativi/interrogazioni
SW del DBMS Il sistema basi di dati non contiene solo la BD SW per eleborazione di interrogazioni/programmi ma anche la descrizione completa della sua struttura e dei suoi vincoli (metadati, memorizzati nel catalogo)
Prof. S. Castano
21
Amministratore della base di dati (Data Base Administrator), DBA Responsabile di:
Autorizzare l accesso alla BD Coordinare e monitorare l uso della BD Manutenere il sistema BD (es., acquisizione di nuove risorse hw/sw)
Prof. S. Castano
22
Prof. S. Castano
23
Prof. S. Castano
24
SISTEMA DI BASI DI DATI ATTORI Utenti finali sono utenti che usano sistematicamente la base di dati attraverso transazioni. L uso 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 l accesso 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 - AA. 2011-12 25
Prof. S. Castano
Basi di Dati e Laboratorio - AA. 2010-11 Basi di Dati e Laboratorio AA. 2011-12
26
Prof. S. Castano
27
Prof. S. Castano
29
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 l ordine delle righe/colonne irrilevante
Prof. S. Castano
30
10
Esempi di relazioni
Prof. S. Castano
31
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 - AA. 2011-12 32
MODELLI DEI DATI MODELLI CONCETTUALI Descrivono i dati in maniera indipendente dal modello logico scelto. Non sono disponibili in DBMS commerciali. Usati nelle fasi alte di progettazione. modello Entity-Relationship. MODELLI LOGICI Descrivono i dati con strutture che riflettono una particolare o organizzazione (es., tabellare). Sono disponibili in DBMS commerciali. Modello relazionale Modello ad oggetti Modello reticolare Modello gerarchico
Prof. S. Castano
33
11
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 - AA. 2011-12 34
MODELLI DEI DATI SCHEMA E ISTANZA L insieme dei dati presente in un dato momento in una base di dati costituisce l insieme delle istanze (o stato) della base di dati. L insieme 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. L inserimento 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 - AA. 2011-12 35
ESEMPIO DI SCHEMA
Schema
Prof. S. Castano
36
12
ESEMPIO DI ISTANZA
Istanza
Prof. S. Castano
37
mapping
LIVELLO LOGICO (CONCETTUALE) SCHEMA LOGICO
mapping
Prof. S. Castano
38
LIVELLI DI ASTRAZIONE NEI DBMS Una base di dati pu essere vista a tre diversi livelli di astrazione. Per ogni livello c e uno schema: Schema Logico: descrizione dell intera 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 dell intera 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 - AA. 2011-12 39
13
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
40
ESEMPIO
Prof. S. Castano
41
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 un altra) 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 - AA. 2011-12 42
14
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 l interrogazione e l aggiornamento delle istanze della base di dati
Prof. S. Castano
43
Prof. S. Castano
44
L accesso 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 l ausilio di strumenti di sviluppo (es., Oracle PL/SQL)
Prof. S. Castano
45
15
Prof. S. Castano
47
Prof. S. Castano
48
16
Prof. S. Castano
49
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
50
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 l esecuzione di transazioni Nell esecuzione di una transazione devono essere garantite le cosiddette propriet ACIDe (Atomiticit, Consistenza, Isolamento, Durability-persistenza)
Prof. S. Castano Basi di Dati e Laboratorio - AA. 2011-12 51
17
ARCHITETTURA DI UN DBMS
Prof. S. Castano
52
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 nell accesso concorrente ai dati
Prof. S. Castano
53
Prof. S. Castano
54
18
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
55
ARCHITETTURA CENTRALIZZATA
Prof. S. Castano
56
ARCHITETTURA CLIENT-SERVER
Client-server: modello di interazione tra processi sw
Processo client: richiede servizi; dedicato a interagire con l utente 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 l uso di macchine diverse per la parte client e server nella gestione dei dati (client, DBMS server)
Prof. S. Castano Basi di Dati e Laboratorio - AA. 2011-12 57
19
ARCHITETTURA CLIENT-SERVER
Prof. S. Castano
58
ARCHITETTURA CLIENT-SERVER
Macchina client: adatta all interazione con l utente. Generalmente si utilizza un PC dotato di strumenti per office automation con le applicazioni che richiedono l uso 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
59
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
60
20
ARCHITETTURA TWO-TIER
THIN
Interfaccia utente Client
THICK
Interfaccia utente
Logica applicativa
BD
Logica applicativa
DBMS server
BD
Prof. S. Castano
61
ARCHITETTURA TWO-TIER
Il client ha funzioni solo di interfaccia o anche di gestione dell applicazione Il server ha funzione di gestione dei dati Pi diffusa l architettura thin client; l architettura 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 - AA. 2011-12 62
ARCHITETTURA THREE-TIER
E presente un secondo server, il server applicativo (application server), responsabile della gestione della logica applicativa Il client si occupa solo dell interfacciamento con l utente finale (thin client)
Il client invia le richieste al server applicativo Il server applicativo dialoga con il DBMS server per la gestione dei dati
21
ARCHITETTURA THREE-TIER
(Javascript, cookies)
Prof. S. Castano
64
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
65
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
66
22
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
67
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 nell elaborazione di query e nel reperimento dei dati da dispositivi di memorizzazione
Prof. S. Castano
68
Integrazione di informazioni
Tecniche per generare 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 - AA. 2011-12 69
23