Sei sulla pagina 1di 34
Corso di Basi di Dati e Laboratorio Modulo BASI DI DATI Prof. Silvana Castano Prof.
Corso di Basi di Dati e Laboratorio
Modulo BASI DI DATI
Prof. Silvana Castano
Prof. S. Castano
Basi di Dati e Laboratorio - A.A. 2007-2008
1
Corso di Basi di Dati e Laboratorio
INTRODUZIONE
Prof. S. Castano
Basi di Dati e Laboratorio - A.A. 2007-2008
2
BASE DI DATI  

BASE DI DATI

 
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

BASE DI DATI

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 - A.A. 2007-2008

4

 
BASE DI DATI

BASE DI DATI

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  

INFORMAZIONE E DATO

 
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

Basi di Dati e Laboratorio - A.A. 2007-2008

6

 
INFORMAZIONE E DATO • V1 – È un dato Prof. S. Castano Basi di Dati
INFORMAZIONE E DATO
V1
– È un dato
Prof. S. Castano
Basi di Dati e Laboratorio - A.A. 2007-2008
7
INFORMAZIONE E DATO
• V1 è l’aula in cui si tiene il corso di Basi di
Dati
– E’ un’informazione
• E’ necessario quindi fornire un contesto
interpretativo ai dati al fine di fornire
informazione.
Prof. S. Castano
Basi di Dati e Laboratorio - A.A. 2007-2008
8
DBMS

DBMS

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

Basi di Dati e Laboratorio - A.A. 2007-2008

9

 
BASI DI DATI E DBMS  

BASI DI DATI E DBMS

 
BASI DI DATI E DBMS  
 

Definizione della BD

 
 

Specificare i tipi, le strutture e i vincoli dei dati che devono essere memorizzati nella BD

 
 

Costruzione della BD

 
 

Popolare la BD, memorizzando i dati su un supporto di memorizzazione gestito dal DBMS

 
 

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

10

 
BASI DI DATI E DBMS  

BASI DI DATI E DBMS

 
BASI DI DATI E DBMS  
 

Manipolazione della BD

 
 

Comprende l’interrogazione per il recupero di di dati specifici, l’aggiornamento per rispecchiare i cambiamenti della realtà descritta dalla BD e la generazione di report a partire dai dati contenuti nella BD.

 
 

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
BASI DI DATI E DBMS • Le basi di dati possono essere di qualsiasi dimensione

BASI DI DATI E DBMS

BASI DI DATI E DBMS • Le basi di dati possono essere di qualsiasi dimensione e

• 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 * (10 6 ) * 200 * 5 caratteri (byte)

– 3 dichiarazioni (storico) + la corrente/contribuente

4 * (10 11 ) byte = 400 gigabyte

corrente/contribuente 4 * (10 1 1 ) byte = 400 gigabyte Necessità di organizzare e gestire

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

aggiornamento secondo necessità in maniera efficiente Prof. S. Castano Basi di Dati e Laboratorio - A.A.
BASI DI DATI E DBMS  

BASI DI DATI E DBMS

 
BASI DI DATI E DBMS  
 

• Dopo i primi DBMS gerarchici e reticolari (anni ‘60/70), si afferma la tecnologia dei DBMS relazionali come standard

 

di

mercato (anni ‘80/90)

 
 

• I DBMS diventano quindi una componente essenziale per la gestione delle informazioni dei sistemi informativi aziendali.

• Base di dati significa quindi collezione di dati gestita da un

DBMS

 

• Nell’ambito del corso ci focalizzeremo sui DBMS relazionali.

 
 

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

13

 
FUNZIONALITA’ DEI DBMS  

FUNZIONALITA’ DEI DBMS

 
FUNZIONALITA’ DEI DBMS  
 

Accesso efficiente a grandi quantità di dati persistenti

 
 

Le BD possono avere dimensioni anche molto elevate (es., gigabyte) e hanno un tempo di vita superiore a quello

di

esecuzione delle singole applicazioni

 

il DBMS fornisce accesso rapido a porzioni arbitrarie dei dati contenuti nella base di dati mediante indici

 
 

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

14

 
FUNZIONALITA’ DEI DBMS  

FUNZIONALITA’ DEI DBMS

 
FUNZIONALITA’ DEI DBMS  
 

Gestione delle transazioni Una base di dati è normalmente condivisa e acceduta contemporaneamente da molteplici utenti attraverso 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 di transazioni.

 
 

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

15

 
FUNZIONALITA’ DEI DBMS • Gestione delle interrogazioni Al fine ricostruire l’informazione completa in risposta a
FUNZIONALITA’ DEI DBMS • Gestione delle interrogazioni Al fine ricostruire l’informazione completa in risposta a

FUNZIONALITA’ DEI DBMS

FUNZIONALITA’ DEI DBMS • Gestione delle interrogazioni Al fine ricostruire l’informazione completa in risposta a

Gestione delle interrogazioni Al fine ricostruire l’informazione completa in risposta a un’interrogazione, in generale è necessario collegare dati in file diversi e (ad esempio, fornire l’informazione 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 l’esecuzione efficiente delle interrogazioni in base alle strutture fisiche di memorizzazione.

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

16

in base alle strutture fisiche di memorizzazione. Prof. S. Castano Basi di Dati e Laboratorio -
FUNZIONALITA’ DEI DBMS • Protezione dei dati Un importante requisito per una base di dati
FUNZIONALITA’ DEI DBMS • Protezione dei dati Un importante requisito per una base di dati

FUNZIONALITA’ DEI DBMS

FUNZIONALITA’ DEI DBMS • Protezione dei dati Un importante requisito per una base di dati è

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.

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

17

contenute in opportune tabelle di autorizzazione. Prof. S. Castano Basi di Dati e Laboratorio - A.A.
File system vs. DBMS sw applicativo sistema operativo File dati ( s e p a
File system vs. DBMS sw applicativo sistema operativo File dati ( s e p a
File system vs. DBMS sw applicativo sistema operativo File dati ( s e p a

File system vs. DBMS

sw applicativo sistema operativo
sw
applicativo
sistema
operativo

File dati

(separati)

sw

applicativo

DBMS

sistema

operativo

File dati ( s e p a r a t i ) sw applicativo DBMS sistema

Base di dati (condivisa)

Basi di Dati e Laboratorio - A.A. 2007-2008

18

Prof. S. Castano

sistema operativo Base di dati (condivisa) Basi di Dati e Laboratorio - A.A. 2007-2008 18 Prof.
sistema operativo Base di dati (condivisa) Basi di Dati e Laboratorio - A.A. 2007-2008 18 Prof.
sistema operativo Base di dati (condivisa) Basi di Dati e Laboratorio - A.A. 2007-2008 18 Prof.
sistema operativo Base di dati (condivisa) Basi di Dati e Laboratorio - A.A. 2007-2008 18 Prof.
APPROCCIO BASI DI DATI vs. FILE SYSTEM  

APPROCCIO BASI DI DATI vs. FILE SYSTEM

 
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 dell’affidabilità (recovery da guasti)

 
 

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

19

 
AMBIENTE DI SISTEMA DI BASI DI DATI Utenti/Programmatori Sistema di Basi di dati Programmi applicativi/interrogazioni
AMBIENTE DI SISTEMA DI BASI DI DATI
Utenti/Programmatori
Sistema di
Basi di dati
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)
SW per accesso ai dati memorizzati
Definizione BD memorizzata
(metadati)
Base di Dati (BD)
memorizzata
Prof. S. Castano
Basi di Dati e Laboratorio - A.A. 2007-2008
20
SISTEMA DI BASI DI DATI - ATTORI • Amministratore della base di dati (Data Base
SISTEMA DI BASI DI DATI - ATTORI
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
Basi di Dati e Laboratorio - A.A. 2007-2008
21
SISTEMA DI BASI DI DATI - ATTORI
Progettista della base di dati
Responsabile di:
– Individuare i dati da memorizzare
– Scegliere le strutture adeguate per la
rappresentazione e memorizzazione
– Comunicare con gli utenti finali della BD per
comprenderne le esigenze (requisiti utente)
Prof. S. Castano
Basi di Dati e Laboratorio - A.A. 2007-2008
22
SISTEMA DI BASI DI DATI ATTORI  

SISTEMA DI BASI DI DATI ATTORI

 
SISTEMA DI BASI DI DATI ATTORI  
 

Analista e programmatore (ingegnere del sw) Responsabile di:

 
 

– Determinare le esigenze degli utenti finali e sviluppare le specifiche per le necessarie transazioni di accesso alla BD (analisti)

– Realizzare, testare, documentare e manutenere i programmi che implementano le specifiche delle transazioni (programmatori)

 
 

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

23

 
SISTEMA DI BASI DI DATI ATTORI  

SISTEMA DI BASI DI DATI ATTORI

 
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 - A.A. 2007-2008

24

 
Corso di Basi di Dati e Laboratorio CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI
Corso di Basi di Dati e Laboratorio
CONCETTI E ARCHITETTURA
DI UN SISTEMA DI BASI DI DATI
Prof. S. Castano
Basi di Dati e Laboratorio - A.A. 2007-2008
25
MODELLI DEI DATI  

MODELLI DEI DATI

 
MODELLI DEI DATI  
 

• Modello dei dati

 
 

– Insieme di costrutti utilizzati per definire la struttura dei dati che caratterizzano la realtà di interesse a cui si riferisce la base di dati in maniera comprensibile all’elaboratore.

 

– una notazione per specificare i dati tramite i costrutti del modello

– Insieme di operazioni per interrogare e manipolare i dati secondo quel modello

 
 

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

26

 
MODELLI DEI DATI  

MODELLI DEI DATI

 
MODELLI DEI DATI  
 

• L’uso di un modello dei dati nei DBMS è il mezzo attraverso il quale si realizza l’astrazione dei dati, nascondendo agli utenti i dettagli sulla loro memorizzazione fisica.

 

• Qualsiasi modello dei dati deve trattare due aspetti fondamentali:

 
 

• come rappresentare (gli insiemi di) oggetti del mondo reale e le loro caratteristiche

 

• come rappresentare i legami (o associazioni) fra oggetti

 
 

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

27

 
MODELLI DEI DATI  

MODELLI DEI DATI

 
MODELLI DEI DATI  
 

Si consideri una realtà applicativa relativa a studenti e corsi.

 

Oggetto:Mario Rossi, il corso di BD.

Insieme di oggetti :l’insieme di tutti gli studenti. l’insieme di tutti i corsi.

 

Attributi:Matricola di studente, Nome, Cognome Nome del corso

Associazioni: Il fatto che Mario Rossi frequenta il corso di BD.

 

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

28

 
ESEMPIO:

ESEMPIO:

ESEMPIO:

IL MODELLO RELAZIONALE

 
 

• 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

Basi di Dati e Laboratorio - A.A. 2007-2008

29

 
ESEMPIO: IL MODELLO RELAZIONALE • Esempi di relazioni Prof. S. Castano Basi di Dati e
ESEMPIO: IL MODELLO RELAZIONALE
• Esempi di relazioni
Prof. S. Castano
Basi di Dati e Laboratorio - A.A. 2007-2008
30
ALTRI MODELLI DEI DATI  

ALTRI MODELLI DEI DATI

 
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 DEI DATI MODELLI CONCETTUALI Descrivono i dati in maniera indipendente dal
MODELLI DEI DATI
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.
MODELLI LOGICI
Descrivono i dati con strutture che riflettono una particolare
organizzazione (es., tabellare).
Sono disponibili in DBMS commerciali.
modello Entity-Relationshi
Modello relazionale
Modello ad oggetti
Modello reticolare
Modello gerarchico
Prof. S. Castano
Basi di Dati e Laboratorio - A.A. 2007-2008
32
MODELLI DEI DATI SCHEMA E ISTANZA  

MODELLI DEI DATI SCHEMA E ISTANZA

 
MODELLI DEI DATI SCHEMA E ISTANZA  

• 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  

MODELLI DEI DATI SCHEMA E ISTANZA

 
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 - A.A. 2007-2008

34

 
ESEMPIO DI SCHEMA Schema Prof. S. Castano Basi di Dati e Laboratorio - A.A. 2007-2008
ESEMPIO DI SCHEMA
Schema
Prof. S. Castano
Basi di Dati e Laboratorio - A.A. 2007-2008
35
ESEMPIO DI ISTANZA Istanza Prof. S. Castano Basi di Dati e Laboratorio - A.A. 2007-2008
ESEMPIO DI ISTANZA
Istanza
Prof. S. Castano
Basi di Dati e Laboratorio - A.A. 2007-2008
36
LIVELLI DI ASTRAZIONE NEI DBMS mapping LIVELLO LOGICO SCHEMA LOGICO (CONCETTUALE) mapping Prof. S. Castano
LIVELLI DI ASTRAZIONE NEI DBMS
mapping
LIVELLO LOGICO
SCHEMA LOGICO
(CONCETTUALE)
mapping
Prof. S. Castano
Basi di Dati e Laboratorio - A.A. 2007-2008
37
LIVELLI DI ASTRAZIONE NEI DBMS  

LIVELLI DI ASTRAZIONE NEI DBMS

 
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 - A.A. 2007-2008

38

 
LIVELLI DI ASTRAZIONE NEI DBMS  

LIVELLI DI ASTRAZIONE NEI DBMS

 
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

Basi di Dati e Laboratorio - A.A. 2007-2008

39

 
ESEMPIO Prof. S. Castano Basi di Dati e Laboratorio - A.A. 2007-2008 40
ESEMPIO
Prof. S. Castano
Basi di Dati e Laboratorio - A.A. 2007-2008
40
INDIPENDENZA DEI DATI  

INDIPENDENZA DEI DATI

 
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 - A.A. 2007-2008

41

 
LINGUAGGI PER BASI DI DATI  

LINGUAGGI PER BASI DI DATI

 
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

Basi di Dati e Laboratorio - A.A. 2007-2008

42

 
LINGUAGGI PER BASI DI DATI  

LINGUAGGI PER BASI DI DATI

 
LINGUAGGI PER BASI DI DATI  
 

Il linguaggio DML supporta operazioni di:

 

Ricerca: per il ritrovamento dei dati di interesse; un’operazione di ricerca è spesso detta interrogazione o query

 

Inserimento: per l’immissione di nuovi dati.

 

Cancellazione: per l’eliminazione di dati obsoleti.

 

Aggiornamento: per la modifica di dati.

 
 

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

43

 
LINGUAGGI PER BASI DI DATI  

LINGUAGGI PER BASI DI DATI

 
LINGUAGGI PER BASI DI DATI  
 

• 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

Basi di Dati e Laboratorio - A.A. 2007-2008

44

 
ESEMPIO: modalità grafica  

ESEMPIO: modalità grafica

 
ESEMPIO: modalità grafica  
 

• Access mette a disposizione uno strumento grafico per la formulazione di interrogazioni SQL su basi di dati relazionali, denominato Query by example (QBE).

 

• Un’interrogazione QBE viene formulata descrivendo le caratteristiche che devono essere possedute dal risultato

 

– Selezione della/e tabella/e che vengono presentate sotto forma grafica.

– Selezione dei campi delle tabelle che faranno parte del risultato fornito come risposta alla richiesta

– Selezione dei campi su cui esprimere le condizioni di ricerca.

 

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

45

 
ESEMPIO: modalità grafica • Trovare nome, cognome e nazionalità degli attori di nazionalità americana. Prof.
ESEMPIO: modalità grafica
• Trovare nome, cognome e nazionalità degli attori di nazionalità
americana.
Prof. S. Castano
Basi di Dati e Laboratorio - A.A. 2007-2008
46
ESEMPIO: modalità grafica • Access permette di visualizzare il codice SQL automaticamente generato al termine
ESEMPIO: modalità grafica • Access permette di visualizzare il codice SQL automaticamente generato al termine

ESEMPIO: modalità grafica

ESEMPIO: modalità grafica • Access permette di visualizzare il codice SQL automaticamente generato al termine della
ESEMPIO: modalità grafica • Access permette di visualizzare il codice SQL automaticamente generato al termine della

• Access permette di visualizzare il codice SQL automaticamente generato al termine della composizione di un’ interrogazione in modalità grafica. • Utenti esperti capaci di scrivere query direttamente in sintassi SQL possono in questo modo esercitare un pieno controllo sull’interrogazione e andare manualmente ad editare il codice SQL automaticamente generato dal sistema.

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

47

il codice SQL automaticamente generato dal sistema. Prof. S. Castano Basi di Dati e Laboratorio -
ESEMPIO: modalità grafica Prof. S. Castano Basi di Dati e Laboratorio - A.A. 2007-2008 48
ESEMPIO: modalità grafica
Prof. S. Castano
Basi di Dati e Laboratorio - A.A. 2007-2008
48
LINGUAGGI PER BASI DI DATI • Durante il corso ci concentreremo sui linguaggi di accesso
LINGUAGGI PER BASI DI DATI • Durante il corso ci concentreremo sui linguaggi di accesso

LINGUAGGI PER BASI DI DATI

LINGUAGGI PER BASI DI DATI • Durante il corso ci concentreremo sui linguaggi di accesso ai
LINGUAGGI PER BASI DI DATI • Durante il corso ci concentreremo sui linguaggi di accesso ai

• 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

Basi di Dati e Laboratorio - A.A. 2007-2008

49

linguaggi di programmazione, in particolare PL/SQL Prof. S. Castano Basi di Dati e Laboratorio - A.A.
TRANSAZIONI  

TRANSAZIONI

 
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 - A.A. 2007-2008

50

 
ARCHITETTURA DI UN DBMS Prof. S. Castano Basi di Dati e Laboratorio - A.A. 2007-2008
ARCHITETTURA DI UN DBMS
Prof. S. Castano
Basi di Dati e Laboratorio - A.A. 2007-2008
51
Componenti di un DBMS  

Componenti di un DBMS

 
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

Basi di Dati e Laboratorio - A.A. 2007-2008

52

 
DBMS: ARCHITETTURE • Centralizzata • Distribuita - Client server – 2 tier – 3 tier
DBMS: ARCHITETTURE
• Centralizzata
• Distribuita - Client server
– 2 tier
– 3 tier
Prof. S. Castano
Basi di Dati e Laboratorio - A.A. 2007-2008
53
ARCHITETTURA CENTRALIZZATA
• Mainframe + terminali
• Tutte le funzionalità del DBMS, l’esecuzione 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 dell’interfaccia grafica
sottrae potenza di calcolo alla gestione della BD
Prof. S. Castano
Basi di Dati e Laboratorio - A.A. 2007-2008
54
ARCHITETTURA CENTRALIZZATA Copyright © 2007 Paravia Bruno Mondadori Editori Prof. S. Castano Basi di Dati
ARCHITETTURA CENTRALIZZATA
Copyright © 2007 Paravia Bruno Mondadori Editori
Prof. S. Castano
Basi di Dati e Laboratorio - A.A. 2007-2008
55
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 - A.A. 2007-2008
56
ARCHITETTURA CLIENT-SERVER Copyright © 2007 Paravia Bruno Mondadori Editori Prof. S. Castano Basi di Dati
ARCHITETTURA CLIENT-SERVER
Copyright © 2007 Paravia Bruno Mondadori Editori
Prof. S. Castano
Basi di Dati e Laboratorio - A.A. 2007-2008
57
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
Basi di Dati e Laboratorio - A.A. 2007-2008
58
ARCHITETTURA CLIENT-SERVER  

ARCHITETTURA CLIENT-SERVER

 
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

Basi di Dati e Laboratorio - A.A. 2007-2008

59

 
ARCHITETTURA TWO-TIER THICK THIN Interfaccia utente Interfaccia utente Client Logica applicativa BD DBMS server
ARCHITETTURA TWO-TIER
THICK
THIN
Interfaccia utente
Interfaccia utente
Client
Logica applicativa
BD
DBMS server
BD
Logica applicativa
Prof. S. Castano
Basi di Dati e Laboratorio - A.A. 2007-2008
60
ARCHITETTURA TWO-TIER  

ARCHITETTURA TWO-TIER

 
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 - A.A. 2007-2008

61

 
ARCHITETTURA THREE-TIER  

ARCHITETTURA THREE-TIER

 
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

 
 

• Architettura tipica delle applicazioni Web

 
 

– Client = browser Web

– Application server = Web server

 

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

62

 
ARCHITETTURA THREE-TIER (Javascript, cookies) (Servlets, JSP, XSLT) (XML, stored procedure) Copyright © 2007 Paravia
ARCHITETTURA THREE-TIER
(Javascript, cookies)
(Servlets, JSP, XSLT)
(XML,
stored procedure)
Copyright © 2007 Paravia Bruno Mondadori Editori
Prof. S. Castano
Basi di Dati e Laboratorio - A.A. 2007-2008
63
ARCHITETTURA THREE-TIER  

ARCHITETTURA THREE-TIER

 
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

Basi di Dati e Laboratorio - A.A. 2007-2008

64

 
CLASSIFICAZIONE DI DBMS  

CLASSIFICAZIONE DI DBMS

 
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)

 
 

Numero di siti su cui la BD è distribuita:

 
 

BD centralizzata: tutta la BD risiede su un solo server

 

BD distribuita: la BD risiede su molteplici server; le transazioni coinvolgono più server

 

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

65

 
EVOLUZIONE DEI SISTEMI DI BASI DI DATI  

EVOLUZIONE DEI SISTEMI DI BASI DI DATI

 
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

Basi di Dati e Laboratorio - A.A. 2007-2008

66

 
EVOLUZIONE DEI SISTEMI  

EVOLUZIONE DEI SISTEMI

 
EVOLUZIONE DEI SISTEMI  

DI

BASI DI DATI

 

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

Basi di Dati e Laboratorio - A.A. 2007-2008

67

 
EVOLUZIONE DEI SISTEMI  

EVOLUZIONE DEI SISTEMI

 
EVOLUZIONE DEI SISTEMI  

DI

BASI DI DATI

Gestione di dati multimediali (es., video, audio, immagini satellitari)

 
 

– Definizione di operazioni complesse sui dati

 

– Esigenza di memorizzare e inviare oggetti di dimensioni elevate (es., ordine del gigabyte)

 

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