Sei sulla pagina 1di 34

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

Corso di Basi di Dati e Laboratorio

INTRODUZIONE

Prof. S. Castano

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

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

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

INFORMAZIONE E DATO

V1
un dato

Prof. S. Castano

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

INFORMAZIONE E DATO

V1 laula in cui si tiene il corso di Basi di Dati


E uninformazione

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
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

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 Manipolazione della BD


Comprende linterrogazione per il recupero di di dati specifici, laggiornamento 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 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

4 * (1011) byte = 400 gigabyte

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

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 Nellambito del corso ci focalizzeremo sui DBMS relazionali.

Prof. S. Castano

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

13

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


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 lesecuzione di transazioni.

Prof. S. Castano

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

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

File system vs. DBMS

sw applicativo sistema operativo

sw applicativo DBMS sistema operativo

File dati (separati)

Base di dati (condivisa)


18

Prof. S. Castano

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

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

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 eleborazione interrogazioni/programmi maper anche la descrizione di 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 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

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

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 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

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 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 allelaboratore. 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


Luso di un modello dei dati nei DBMS il mezzo attraverso il quale si realizza lastrazione 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


Si consideri una realt applicativa relativa a studenti e corsi. Oggetto:Mario Rossi, il corso di BD. Insieme di oggetti :linsieme di tutti gli studenti. linsieme 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: 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 lordine 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 Laboratorio - A.A. 2007-2008

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 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

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

32

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 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

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

36

LIVELLI DI ASTRAZIONE NEI DBMS

mapping
LIVELLO LOGICO (CONCETTUALE) SCHEMA LOGICO

mapping

Prof. S. Castano

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

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

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

39

ESEMPIO

Prof. S. Castano

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

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

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

42

LINGUAGGI PER BASI DI DATI

Il linguaggio DML supporta operazioni di:


Ricerca: per il ritrovamento dei dati di interesse; unoperazione di ricerca spesso detta interrogazione o query Inserimento: per limmissione di nuovi dati. Cancellazione: per leliminazione 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

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

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

44

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). Uninterrogazione 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. 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 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 sullinterrogazione 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

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 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

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

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

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

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

52

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, 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

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

54

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 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

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 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

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

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

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

59

ARCHITETTURA TWO-TIER
THIN
Interfaccia utente Client

THICK
Interfaccia utente
Logica applicativa

BD
Logica applicativa

DBMS server

BD

Prof. S. Castano

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

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 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 Bruno Mondadori Editori

Prof. S. Castano

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

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

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

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)

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 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 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 nellelaborazione 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 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