Sei sulla pagina 1di 23

Corso di Basi di Dati e Laboratorio

Modulo BASI DI DATI


Prof. Silvana Castano

Prof. S. Castano

Basi di Dati e Laboratorio - AA. 2011-12

Corso di Basi di Dati e Laboratorio

INTRODUZIONE

Prof. S. Castano

Basi di Dati e Laboratorio - AA. 2011-12

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

Basi di Dati e Laboratorio - AA. 2011-12

INFORMAZIONE E DATO

G8
un dato

Prof. S. Castano

Basi di Dati e Laboratorio - AA. 2011-12

INFORMAZIONE E DATO

G8 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 - AA. 2011-12 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 - AA. 2011-12

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 - AA. 2011-12

10

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

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 - AA. 2011-12 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 Nell ambito del corso ci focalizzeremo sui DBMS relazionali.

Prof. S. Castano

Basi di Dati e Laboratorio - AA. 2011-12

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

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, sono memorizzate su disco il DBMS fornisce accesso rapido a porzioni arbitrarie dei dati contenuti nei file della base di dati in memoria secondaria mediante specifiche strutture di accesso dette indici

Prof. S. Castano

Basi di Dati e Laboratorio - AA. 2011-12

15

FUNZIONALITA DEI DBMS


Gestione delle transazioni

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

FUNZIONALITA DEI DBMS


Protezione dei dati Poich una base di dati condivisa da molteplici utenti con esigenze diverse, occorre garantire che ciascun utente abbia accesso ai soli dati di sua pertinenza, che gli consentito leggere e/o modificare.
Il DBMS fornisce funzionalit di sicurezza e autorizzazione, per garantire che solo gli utenti autorizzati abbiano accesso alla base di dati e che gli utenti possano compiere solo le operazioni consentite su dati autorizzati secondo privilegi specificati opportune tabelle di autorizzazione.

Prof. S. Castano

Basi di Dati e Laboratorio - AA. 2011-12

17

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 - AA. 2011-12

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

AMBIENTE DI SISTEMA DI BASI DI DATI


Utenti/Programmatori
Sistema di Basi di dati SW del DBMS

Programmi applicativi/interrogazioni

SW per eleborazione di interrogazioni/programmi SW per accesso ai dati memorizzati

Definizione BD memorizzata (metadati)

Base di Dati (BD) memorizzata

Prof. S. Castano

Basi di Dati e Laboratorio - AA. 2011-12

20

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 - AA. 2011-12

21

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 - AA. 2011-12

22

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 - AA. 2011-12

23

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 - AA. 2011-12

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

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 - AA. 2010-11 Basi di Dati e Laboratorio AA. 2011-12

26

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 - AA. 2011-12

27

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 - AA. 2011-12 28

MODELLI DEI DATI


Si consideri una realt applicativa relativa a studenti e corsi. Oggetto: lo studente 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 - AA. 2011-12

29

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 - AA. 2011-12

30

10

ESEMPIO: IL MODELLO RELAZIONALE

Esempi di relazioni

Prof. S. Castano

Basi di Dati e Laboratorio - AA. 2011-12

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

Basi di Dati e Laboratorio - AA. 2011-12

33

11

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

Basi di Dati e Laboratorio - AA. 2011-12

36

12

ESEMPIO DI ISTANZA

Istanza

Prof. S. Castano

Basi di Dati e Laboratorio - AA. 2011-12

37

LIVELLI DI ASTRAZIONE NEI DBMS

mapping
LIVELLO LOGICO (CONCETTUALE) SCHEMA LOGICO

mapping

Prof. S. Castano

Basi di Dati e Laboratorio - AA. 2011-12

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

Basi di Dati e Laboratorio - AA. 2011-12

40

ESEMPIO

Prof. S. Castano

Basi di Dati e Laboratorio - AA. 2011-12

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

Basi di Dati e Laboratorio - AA. 2011-12

43

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 - AA. 2011-12

44

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 - AA. 2011-12

45

15

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 - AA. 2011-12 46

ESEMPIO: modalit grafica


Trovare nome, cognome e nazionalit degli attori di nazionalit americana.

Prof. S. Castano

Basi di Dati e Laboratorio - AA. 2011-12

47

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 sull interrogazione e andare manualmente ad editare il codice SQL automaticamente generato dal sistema.

Prof. S. Castano

Basi di Dati e Laboratorio - AA. 2011-12

48

16

ESEMPIO: modalit grafica

Prof. S. Castano

Basi di Dati e Laboratorio - AA. 2011-12

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

Basi di Dati e Laboratorio - AA. 2011-12

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

Basi di Dati e Laboratorio - AA. 2010-11

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

Basi di Dati e Laboratorio - AA. 2011-12

53

DBMS: ARCHITETTURE Centralizzata Distribuita - Client server


2 tier 3 tier

Prof. S. Castano

Basi di Dati e Laboratorio - AA. 2011-12

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

Basi di Dati e Laboratorio - AA. 2011-12

55

ARCHITETTURA CENTRALIZZATA

Copyright 2007 Paravia Bruno Mondadori Editori

Prof. S. Castano

Basi di Dati e Laboratorio - AA. 2011-12

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

Copyright 2007 Paravia Bruno Mondadori Editori

Prof. S. Castano

Basi di Dati e Laboratorio - AA. 2011-12

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

Basi di Dati e Laboratorio - AA. 2011-12

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

Basi di Dati e Laboratorio - AA. 2011-12

60

20

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 - AA. 2011-12

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

Architettura tipica delle applicazioni Web


Client = browser Web Application server = Web server
Prof. S. Castano Basi di Dati e Laboratorio - AA. 2011-12 63

21

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 - AA. 2011-12

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

Basi di Dati e Laboratorio - AA. 2011-12

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)

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 - AA. 2011-12

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

Basi di Dati e Laboratorio - AA. 2011-12

67

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 - AA. 2011-12

68

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