Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna...

185
Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04 A.A. 2003-04 Appunti su data base di: Anna Maria Carminelli Gregori Progettazione fisica & Schema Fisico Basi di Dati Distribuite e Architetture possibili 1 a Sez. Agganci col Web e Applicazioni Web Parte 3 Esempi Oracle: caratteristiche essenziali Progettazione logica: Modello E-R 2 a Sez. Fasi 1

Transcript of Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna...

Page 1: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

A.A. 2003-04

Appunti su data base

di:

Anna Maria Carminelli Gregori

Progettazione fisica & Schema Fisico Basi di Dati Distribuite e Architetture possibili 1a Sez. Agganci col Web e Applicazioni WebParte 3 Esempi Oracle: caratteristiche essenziali Progettazione logica: Modello E-R 2a Sez. “ “ Fasi Schema logico E-R & Relazionale Progettazione applicazioni Web (cenni) Cenni su: OOBD, Modelli Reticol-Gerarch. Appendice

1

Page 2: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

La Parte3 e’ rivolta alla progettazione del d.b. E’gia’ stato detto che le Fasi di progettazione di una Base di dati comprendenti progetto concettuale, progetto logico, progetto fisico, devono partire da un progetto concettuale ben fatto. Quindi occorrerebbe presentare il progetto concettuale per primo, poi quello logico e per ultimo quello fisico. Invece, dovendo introdurre il Sistema Oracle, per inquadrarlo tra i Sistemi che gestiscono basi di dati anche di tipo distribuito ed evidenziarne gli aspetti +interessanti, si ipotizza di avere gia’ realizzato lo schema logico e si introduce per prima l’ organizzazione fisica degli archivi dipendente dalla relativa “distribuzione” per dare una bozza di progetto fisico chiarendo subito che una sua impostazione precisa richiede la conoscenza dello specifico sistema di gestione utilizzato. Si noti: 1. che non si sta parlando di DBMS con architettura

Standard (centralizzato), ma di sistema di gestione in generale, nel senso che occorre porsi nella nuova prospettiva distribuita qui di seguito tratteggiata;

2. che in tale prospettiva l’ operazione di join dell’ Algebra relazionale puo’ risultare piu’ pesante rispetto alla situazione standard.

Si indicano come DBS ossia Data Base System i sistemi comprendenti oltre ai d.b. e DBMS anche altre applicazioni (per es. realizzate in Java o in altri linguaggi) per una gestione personalizzata delle informazioni che “migliori” la gestione amichevole propria dei DBMS e dei loro strumenti e/o “meccanismi”. Con l’ utilizzo delle reti di elaboratori, molti di questi “meccanismi” o componenti tipiche dei DBMS, da prodotti interni diventano esterni, disponibili come servizi da usare in rete e interessanti anche per effettuare la progettazione fisica dei d.b. E’ quindi opportuno conoscere almeno a grandi linee il funzionamento dei relativi DBS.

2

Page 3: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Ancora: con l’ utilizzo delle reti cambiano le Architetture di sistemi dedicati alla gestione dei dati, dei DBS, che si possono considerare attualmente anche da un altro punto di vista ossia in base al loro grado di decentralizzazione. Si evidenziano almeno 3 categorie di DBS: centralizzato, Client-Server, Distribuito. I DB considerati finora con le caratteristiche evidenziate erano di tipo centralizzato. Si passa adesso ad una nuova prospettiva distribuendo le funzioni dei DBS su sistemi diversi indicati come Server e Client che nel contesto d.b.sono: D.B. Client e D.B.Server.D.B. Client = Sistema dedicato all’ interazione utente- applicazione con una composizione del tipo: query language, graphics, 4GL, strumenti di dialogo, logica dell’ applicazione …Il D.B. Client e’ collegabile al D.B. Server (per es. tramite un’ interfaccia A.P.I.= Application Program Interface)D.B.Server = Sistema dedicato alla gestione dei dati. Composizione del D.B. Server: Ottimizzatore decide la strategia di accesso_dati, Gestore dei metodi di accesso ai dati sceglie un

metodo di accesso ai dati per trasferirli da/a C.M., Buffer-Manager gestisce i trasferimenti dei blocchi

(pagine) del disco, Controllore della concorrenza controlla gli accessi, Controllore della affidabilita’ di funzionamento in

presenza di guasti.Queste sono le componenti del D.B. Server piu’ interessanti per la progettazione fisica. Si dovrebbe tener conto del loro funzionamento per definire in modo ottimale i tipi di strutture dati usabili ed i relativi parametri come le dimensioni (dei record, di pagina o buffer…) e poi # MAX. applicazioni concorrenti… time-out .

3

Page 4: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

(Time-out Intervallo max. di attesa temporale da concedere alle operazioni di Lettura/Aggiornamento dati per ottenere l’ accesso ad un dato usato da altre applicazioni concorrenti) … Atzeni e … dedicano 2 capitoli a questi temi: qui solo poche indicazioni di massima (da approfondire sul Sistema usato al momento dell’ utilizzo) considerando le componenti del d.b.Server a partire dall’ ultima. (Poche indicazioni dato il tempo limitato e per l’ analogia con le caratteristiche simile dei S.O. )Le componenti relative all’ accesso (trasferimento lettura, scrittura) controllato e ottimizzato delle informazioni riguardano in generale la gestione delle transazioni. Si sono introdotte le transazioni parlando di Integrità logica = Integrità operazionale + Integrità Semantica che deve garantire correttezza e consistenza logica delle informazioni. L' affidabilita’ dipende dall’ Integrità ed il relativo Controllore, per garantire l’ Integrità operazionale usa un LOG o Journal su cui (come gia’ accennato in Parte1) sono registrate tutte le operazioni e gli stati del d.b. (i valori dei dati!). Se in una data transazione capita un malfunzionamento il sistema puo' riprendere con lo stato (i valori dei dati) precedente la transazione. Transazione si era indicata come una sequenza di operazioni sul data-base che trasforma uno stato del d.b. in un altro consistente col precedente. Sintatticamente questa unita’ elementare di lavoro e’ incapsulata tra 2 comandi:bot = begin transactioneot = end “Tra i 2 comandi: codice operativo (per es. X:= X+1;) ed anche 2 istruzioni particolari: commit work; rollback work. L’ istr. commit work; manda la transazione a buon fine; l’ istr. Rollback esegue l’ abort della transazione (commit, rollback = comandi tipici del D.M.L.).

4

Page 5: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Esempio di transazione in PL/SQL per trasferire 10 € dal conto 98145 al conto 11111 : begin transaction; update ContoCorrente set ammontare = ammontare +10 where numconto = 11111; update ContoCorrente set ammontare = ammontare -10 where (numconto = 98145 and ammontare >=10); commit work; if ammontare <10 rollback work ; end transaction;ACID properties of transaction: A tomicita’ = indivisibilita’ di esecuzione: o si conclude

felicemente o il DB torna allo stato precedente; C onsistenza (con i vincoli di integrita’ del DB: NO violazioni !); I solamento = Indipendenza dalla contemporanea esecuzione di

altre transazioni; D urability = Persistenza ( le informazioni modificate con un

commit NON devono essere PERSE ).Ogni DBS usato da diversi utenti e/o applicazioni e’ caratterizzato dal suo carico applicativo espresso in tps = #transazioni al secondo. Per es. un DBS per la prenotazione di posti aerei puo’ presentare carichi che vanno dall’ ordine di decine di tps, a migliaia di tps e’ indispensabile la concorrenza delle transazioni. Il controllore della concorrenza (detto anche genericamente Scheduler) segue la teoria che tratta i vari problemi posti dall’esecuzione concorrente e per risolverli usa specifici strumenti/meccanismi. Tipici meccanismi di controllo di concorrenza sono: il locking (di cui si parlera’ insieme allo Scheduler a proposito dei b*-tree usati da piu’ utenti simultanei in Parte 4) e il timestamp (= indicatore associato ad ogni transazione che indica l’ istante iniziale della transazione e quindi ne permette un ordinamento e controllo temporale lo Scheduler NON puo’ accettare una transazione (con timestamp x) che legga (modifichi) informazioni “modificate” da transazioni con timestamp superiori a x .

5

Page 6: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Il gestore dei metodi di accesso ai dati trasforma le richieste prodotte dall’ ottimizzatore (basate sulla strategia scelta) in sequenze di lettura/scrittura di tuple nelle pagine (=blocchi_disco) del D.B. La trasformazione dipende dal metodo di accesso disponibile e, come la struttura delle pagine (sequenziale, sequenziale ordinata e/o ad array, con accesso calcolato, ad albero…), dipende dal DBS usato … dall’ organizzazione dei trasferimenti e dalla struttura del Buffer Manager ed anche dai tipi di accesso dedotti dalla politica di gestione del DBS ( … simile a quella dei S.O. dedotta da principi classici come quello di localita’. Si ricordino i collegamenti col S.O. e lo schema relativo riportato in Parte1).L’ ottimizzatore e’ il responsabile delle strategie di accesso: in ambito RDBMS, riceve in input un’ interrogazione che dalla forma origine in SQL, dopo le varie analisi (lessicale, sintattica, semantica) e’ tradotta in un formato interno di tipo algebrico (algebra relazionale!) Su questa viene effettuata l’ ottimizzazione tenendo conto: della convenienza di trasformazioni (= proiezioni e/o

selezioni) convenienza desunta dalla cardinalita’ delle relation coinvolte,

dei metodi di accesso (tipici del gestore, ma anche dipendenti dalla presenza di indici),

del modello dei costi assunto nel DBMS usato. L’ ottimizzazione dipendente dai costi usa informazioni quantitative - che i DBMS conservano nei Data Dictionary - relative alle caratteristiche delle relation (per es. la cardinalita’) dette profili delle relation. In sostanza l’ utente (nella veste di DBA) deve formulare ipotesi (dedotte da valutazioni statistiche) sui valori di cardinalita’ e grado delle selezioni, proiezioni e join effettuabili.

6

Page 7: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Per lo Schema del Software di Sistema: cfr. Parte1 lucido5 Altro schema Parte4 lucido finale qui riportato

Appendice parte 3

Schema di architettura dei DBS relativa all’ accesso al d.b. estendibile anche al contesto client-sever (da Atzeni &… Fig. 9.1 - 10.1 ed. 1999).Nell’ ultima ed. 2003 gli schemi di Atzeni &… sono in una forma diversa, sullo stile di quello riportato a pag. 8 di DB20034P1. Ho preferito questo tipo di rappresentazione (arricchendola con la Tabella dei Lock), per la sua completezza nella schematicità.

( * ) Tra gli ALTRI MODULI ci sono l’ Ottimizzatore (a monte del Gestore dei Metodi di accesso) ed il Controllore dell’ affidabilita’ con procedure di ripristino in caso di malfunzionamento (a valle).

7

ALTRI

MODULI ( * ) DBS

Sche-duler

BufferMana-ger

Gestore Metodi di Accesso

Scan Manager

B+TreeManager

Primitive del File_ System e/o del D.B.M.S.

d.b.

LOG

Tab.dei lock

Page 8: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Le ipotesi sui valori di cardinalita’ e grado delle selezioni, proiezioni e join effettuabili sono utilizzate dall’ ottimizzatore per scegliere la sua strategia di accesso usando strutture dati come alberi binari di decisione o alberi a +rami per le alternative. Per un esempio del lavoro (SEMPLIFICATO) dell’ ottimizzatore in codice SQL-like cfr. uso di SQL come DML +oltre.

…da queste brevissime note si intuisce la pesantezza del lavoro richiesto all’ utente ( DBA !) in fase di taratura del DBS ed il collegamento di tale lavoro con la progettazione fisica che riceve in input: schema logico; caratteristiche del DBMS usato; previsioni sul carico applicativo (Tavole dei: Volumi,

Operazioni, Accessi)e produce in output: schema fisico con le strutture dati usate ed i relativi parametri (tipi record, dimensioni ...)La scelta dei parametri non e’ facile: alcuni DBMS presentano decine di possibilita’ per i parametri delle strutture che condizionano l’ efficacia delle applicazioni. Le soluzioni standard sono una possibile via d’ uscita, anche se sarebbe meglio specificarne valori ottimali ... Ma per questo occorre conoscere i DBMS, o almeno il funzionamento delle componenti del Server.

8

Page 9: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Seguono alcune linee fondamentali per basi di dati di medie dimensioni con carichi di lavoro non superiori a decine di tps.Operazioni piu’ delicate in un RDBMS:selezioni e joinche diventano piu’ efficienti se sugli attributi interessati vengono definiti indici che ne permettono l’ accesso diretto.Nelle operazioni di join e’ quasi sempre coinvolta la chiave primaria delle relation o di una delle 2 relation su cui si opera E’ corretto definire su ogni relazione un indice

relativo alla chiave primaria.… e per gli altri attributi ?Una semplice strategia per produrre lo schema fisico consiste nell’ usare analisi e considerazioni del tipo indicato per definire un primo insieme di indici e porre i fondamenti dello schema fisico.Con lo schema fisico ottenuto si possono eseguire esperienze sul comportamento di un’ applicazione in esame scegliendola opportunamente: se tale comportamento non da’ prestazioni soddisfacenti si puo’ procedere ad aggiungere altri indici su altri attributi, uno per volta in modo da poter capire se il comportamento globale del sistema trae vantaggio o risulta perturbato dal nuovo indice. SI tratta di una strategia di tipo empirico con impostazione a tentativi, che permette di TARARE, regolare l’ accesso ai dati

per un miglioramento delle prestazioni del DBS.

9

Page 10: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Si e’ visto che tra le componenti relative al D.B. Client figurano: query language, graphics, 4G, strumenti di dialogo, logica dell’ applicazione …Riguardo al query language le caratteristiche di base di SQL sono state fornite con appunti ... schematici !Qui di seguito e’ presentato un esempio d’ uso di SQL per mostrare un possibile tipo di scelta effettuabile dall’ ottimizzatore tra 2 espressioni algebriche. Con riferimento al d.b. Supplier, Part, SP, si consideri la seguente espressione:Select Sname from S, SPwhere S.S# = SP.S# and SP.P# = ‘P2’che richiede la relation unaria ottenuta come proiezione del join tra S ed SP sull’ attributo Sname.L’ ottimizzatore deve fare una scelta tra:((S join SP) where P# =’P2’) [Sname] che implementa pari pari la frase Select e:(S join (SP where P# =’P2’)) [Sname] che implementersebbe la frase:Select Sname from Swhere S.S# in Select S# from SP where SP.P# = ‘P2’

La seconda espressione appare piu’ conveniente della prima perche’ la cardinalita della relation estratta da SP con P# = P2 risulta inferiore a quella di SP: qui facile scelta per ottimizzatore!

10

Page 11: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

(Non e’ vero quel che e’ vero , ma e’ vero quel che appare. Pirandello)La struttura di un DBMS non e’ sempre rispondente alle apparenze: un DBMS (e qui si tratta proprio di DBMS con modello reticolare o gerarchico !) puo’ presentarsi sotto diversi aspetti… Mascheramento ottenibile col linguaggio di utilizzo disponibile.Importanza ed evoluzione del Linguaggio Strumento I 4GL danno anche tale possibilita’ e permettono: la realizzazione delle specifiche richieste ad un

DBMS con lo schema logico che dovrebbe indicare tutti i vincoli di Integrita’: sopperiscono alle possibili mancanze;

la possibilita’ di collegare sistemi diversi; … e l’ integrazione totale anche con archivi

tradizionali? Negli anni 90 c’ erano grandi aspettative per Focus (Information Builder Software Tecnology Italia: in Fig. luc. seguente il suo Schema di presentazione) un prodotto che permette l’ integrazione di archivi e d.b. realizzati con vari DBMS: e’ una soluzione tradizionale per ambienti Main-Frame. Una soluzione alternativa si puo’ ottenere con un D.B.Distribuito (cfr. +oltre) ed anche con d.b. remoti e accessibili con l’uso di Internet (cfr. +oltre) e dei relativi linguaggi usabili … che possono cosi’ inquadrarsi in speciali 4GL mentre i browser (ormai notissimi) possono diventare un’ interfaccia uniforme…

11

Page 12: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

12

Page 13: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Con l’ utilizzo delle reti, nelle Architetture dei DBS si distinguono le situazioni qui sotto schematizzate:Architettura Client/Server con funzioni distribuite tra Frontends = Client e Backend= Server le cui componenti sono quelle viste. Livello di decentralizzazione 1: prima figura, ma con Client e Server anche su macchine diverse e collegabili in rete.Livello di decentralizzazione 2: seconda figura con N Clients ed 1 Server che sopporta accessi concorrenti. Livello di decentralizzazione 3: seconda figura, ma con M Server e N Clients (N, M >1).Quando la collezione di dati e’ sparpagliata su macchine differenti collegate in rete e con DBMS differenti si parla di Distribuited Data Base.

13

Page 14: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Vari motivi spingono verso l’ architettura Client-Server: le funzioni di Client e Server sono ben identificate nel

contesto d.b. e corrispondono ad una decomposizione ideale delle competenze e … professionilita’ programmatori applicativi sul Client, D.B.A. sul Server;

l’ uso di Elaboratori diversi per Client e Server puo’ essere conveniente nel contesto d.b. Personal Comp. Per il Client, Elaboratore con notevole memoria di massa per il Server;

ogni interrogazione (per es. in SQL) del Client si concretizza nell’ attivazione di un servizio del Server che restituisce al Client le risposte desiderate con uso della rete limitato alla frazione di informazioni coinvolte. Il processo che costruisce le risposte e’ sempre attivo e multi-thread unico processo, ma composto da tante unita’ esecutive, per es. una per transazione. (Questo modello, tipico dei moderni sistemi operativi, e’ conveniente per il risparmio su allocazioni e deallocazioni relative ai sistemi multi-processo.)

l’ architettura Client-Server si puo’ estendere da 2 a 3 livelli (ed anche a N livelli …!) con un Client +semplice (thin Client) con la sola funzione di interfacciare l’ utente e inviarne le richieste ad un Server applicativo Application Server che contiene la logica delle applicazioni comuni a piu’ client (operando analogamente ad un Web Server cfr. +oltre): esso dialoga con il d.b. Server che gestisce le informazioni con la modalita’ indicata sopra. Questa architettura consente anche l’ attuazione pratica dei Client tramite i browser (cfr. +oltre) usati dal Web su Internet.

14

Page 15: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Distribuited Data Base D.D.B.Concetti introduttivi su Data Base Distribuito = specie di oggetto "virtuale" (C. J. Date) le cui parti componenti sono fisicamente posti in D.B. reali in siti distribuiti. (fig. 2.7 da Date)

15

Page 16: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

16

Page 17: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Un Sistema di D.D.B. si puo' considerare come una sorta di Societa' a Partecipazione Controllata di individuali e locali DBMS posti in siti locali di una rete locale o geografica e quindi geograficamente sparsi .... (anche se, CONCETTUALMENTE, basterebbe pensarli logicamente sparsi !) Il Sistema e' omogeneo se in ogni sito e' attiva una copia dello stesso DBMS, altrimenti eterogeneo.Principio base: un Sistema Distribuito dovrebbe apparire all' utente come un Sistema non Distribuito. Trasparenza totale.Da questo principio derivano altre regole che definiscono gli obiettivi dei DDBS (per es. locale autonomia/indipendenza da hard. e soft. locali e/o di rete, trasparenza parziale … ). Tutto cio' distingue un vero DDB dai tipi di "remote data access" spesso detti sistemi di elaborazione distribuita o sistemi di rete.Per questi ultimi esistono diversi prodotti soft. di interfacciamento (cfr. + oltre).Differenza tra architetture C/S e DDB.In architetture C/S c’e’ un solo Server a gestire una singola transazione; in DDB possono gestirla N Server con N>1.… ma una transazione puo’ essere gestita da N DataBaseM.S. dislocati in rete, con N>1? Si, se tra i DBMS esiste l’ interoperabilita’ attuata tramite interfacce standard relative ai protocolli di accesso ai dati.

17

Page 18: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

DDB: N Server con N>1 possono gestire una singola transazione. Cio’ permette di gestire dati posti fisicamente in siti distanti tra loro, ma collegati in rete locale/geografica (LAN/WAN= Local/Wide Area Network). Tipico esempio: applicazioni finanziarie di sistemi interbancari.Distribuzione dei dati sugli N Server: significato sulle informazioni strutturate (per es. Relations di

RDBMS) si puo’ applicare frammentazione orizzontale e verticale (uso di selection e projection);

ogni frammentazione puo’ essere realizzata a diversi livelli di trasparenza per l’ utente;

le transazioni sul D.B. possono riguardare 1 o piu’ server e sono classificate in: locali (se rivolte al server locale), remote (se rivolte ad un Server collegato in rete, come in C/S), distribuite (se rivolte a N Server con N>1);

problemi per le 2 proprieta’ delle transazioni indicate come: Atomicità e Isolamento =>

Atomicità: i controlli sul compimento di ogni transazione vanno effettuati in ambiente distribuito con protocolli speciali detti protocolli di commit;

Isolamento: il controllo di concorrenza con locking e timestamp deve essere effettuato in ambiente distribuito.

Si NOTI che ciascun server ha una sua identita’ e controlla i dati che gli sono funzionalmente associati.

18

Page 19: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

In pratica attualmente questi aspetti che distinguono un vero DDB dai sistemi di elaborazione distribuita o sistemi di rete sono implementati in ambienti omogenei per singoli DBMS. In ogni sistema sono comunque essenziali la trasportabilita’ (livello di compilazione) e l’ interoperabilita’ (livello di esecuzione). A livello logico l’ interoperabilita’ capacita’di operare in un sistema eterogeneo facendo interagire sistemi eterogenei, comporta che DBMS differenti supportino la stessa interfaccia. La trasportabilita’ indica la possibilita’ di far “girare” applicazioni in ambienti diversi.A livello applicativo si presentano alcuni problemi implementativi come: protocollo per lo scambio di dati tra DBMS diversi; traduzione di frasi in linguaggi e dialetti diversi; interazione tra servers relazionali e di altro tipo per l’

esecuzione di transazioni su D.B. con differenti modelli_dati;

controlli di transazioni concorrenti in ambienti diversi; …Inoltre col diffondersi delle reti entra in gioco anche il problema dell’ integrazione di sistemi Informatici raggiungibili con la rete legato al concetto di cooperazione capacita’ delle applicazioni di un sistema di utilizzare quelle di altri sistemi. Il tipo di cooperazione interessante nel contesto d.b. e’ basata sui dati i dati di un sistema devono essere usabili da altri sistemi eterogenei. Eterogeneita’, autonomia, distribuzione e cooperazione sono spesso in conflitto con problemi di:1. trasparenza, 2.complessita’, 3.attualita’ dei dati.

19

Page 20: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

1. Il livello di trasparenza misura quanto i d.b. cooperanti appaiono all’ esterno come un unico d.b.

2. la complessita’ delle operazioni distribuite misura il lavoro di coordinamento da effettuare sui d.b. cooperanti,

3. il livello di attualita’ dei dati misura la necessita’ di accedere a dati recenti che possono essere anche “derivati” da dati originali (repliche, copie) non sempre allineati con i dati originali, ma +facili da raggiungere.

Si NOTI il concetto della replicazione di dati: anche se il controllo a timestamp ipotizza (come rimedio) eventuali copie di dati per non uccidere troppe transazioni concorrenti sugli stessi dati, la replicazione “ufficiale” interviene proprio con i DDB e con le “basi di dati parallele” dove il parallelismo e’ introdotto con macchine multiprocessore per garantire prestazioni migliori. La possibilita’ di usare i d.b. in rete provoca la necessita’ di 2 tipi di architettura per i DBMS o +semplicemente di 2 funzionalita’ dei db-Server: la prima e’ quella tradizionale ossia la gestione di migliaia di tps e l’altra e’ l’ analisi dei dati. Col primo tipo di funzione o di dbS (detto OLTP On-Line Transaction Processing) sono generati i dati che si possono esportare in Data Warehouse o magazzino di dati provenienti da siti diversi per esempio corrispondenti a Societa’ che si fondono. Tali dati (storici!) una volta inseriti non vengono più modificati, ma saranno analizzati dal secondo tipo di funzione o di dbS (detto OLAP On-Line Analitical Processing dove On-Line indica che si tratta di processi interattivi). L’ OLAP e’ definito come “un importante strumento di “business intelligence” che indaga su possibili legami tra i dati ipotizzati dall’ utente per scoprire quali possono essere veri e quali no. (P. Giudici: “Data Mining” McGrawHill 2001).

20

Page 21: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Si differentzia dall’ OLAP il processo di Data Mining nel senso indicato dallo schema seguente dello stesso autore:

Query(&reporting)DATA RETRIEVALOLAPDATA MINING

Si tratta di un campo di indagini molto attuale (nato proprio dalle nuove tendenze di cooperazione e/o fusione in campo economico-finanziario) che si avvale di sofisticati strumenti di indagine statistica e/o di strutture dati (talune presentate in Parte4). Lo schema sta a sintetizzare proprio la differenza tra i tradizionali strumenti di interrogazione di un d.b. e l’ OLAP con il processo di Data Mining ancora piu’ “potente”. (Letteralmente: Scavare per estrarre nuove informazioni dai dati.) La differenza tra OLAP e Data Mining sta nel fatto che nell’ OLAP le ipotesi di ricerca (per es. di interrelazione tra i dati) sono fatte dall’ utente e non scoperte nei dati come avviene col Data Mining. Paolo Giudici lo definisce come “il processo di selezione, esplorazione e modellazione di grandi masse di dati al fine di scoprire regolarita’ o relazioni non note a priori e allo scopo di ottenere un risultato chiaro ed utile” per gli utenti del d.b. In altre parole si tratta di scoprire interrelazioni (anche le – evidenti) tra dati della stessa natura, ma di varia provenienza per indagare le loro analogie, trovare un modello descrittivo sia per presentarli (per es. raggruppati in base a tali analogie), sia per previsioni comportamentali (trend, diagnosi…) Fondamentale e’ che i risultati devono produrre un utile per l’ utente specie se si tratta di un’ Azienda Commerciale: quindi l’ indagine non e’ solo di tipo statistico, ma integrata con le conoscenze dell’ economia aziendale e naturalmente del d.b.

21

Page 22: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Possibili soluzioni ai problemi indicati come 1.trasparenza, 2.complessita’, 3.attualita’ dei datiin sistemi eterogenei che possono operare sia autonomamente, sia cooperando in un contesto di DDB.

Riguardo alla cooperazione esistono 3 tipi di architetture che producono forme di cooperazione differenti: Sistemi multi-d.b. con elevati 1 & 3, ma anche alta 2 si

tratta di d.b. a cui possono accedere (con un gestore locale) utenti locali e utenti remoti tramite un Gestore Globale. La struttura e’ di tipo gerarchico con capostipite il Gestore globale detto anche Multidatabase che interroga i singoli d.b. tramite la rete, i gestori locali ed i “mediatori” (filtri) che estraggono le porzioni dei dati desiderate (forniti dai gestori locali), poi integrate dal Gestore globale in una visione unitaria per gli utenti remoti. Le modifiche sono per lo piu’ realizzate a livello locale.

Sistemi con dati replicati in Data Warehouse con elevati 1 & 2, ma basso 3 sempre in una struttura gerarchica il Gestore globale diventa un Gestore della Warehouse collegato ai d.b. da 2 livelli di filtri (integratore e mediatori) che sono collegati ai gestori locali. E’ una soluzione utile quando i dati hanno dinamicita’ limitata e/o sono usati per analisi di tipo statistico su lunghi periodi di tempo.

Sistemi con d.b. accessibili direttamente da Client remoti che effettuano le integrazioni dei dati estratti dai singoli d.b. (tramite eventuali mediatori e gestori locali) e/o da Warehouse (tramite apposito gestore) bassi 1 & 2, variabile 3.

22

Page 23: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Interoperabilita’: in pratica si puo’ ottenere utilizzando una interfaccia API (= Application Programming Interface) con Architettura di rete a 2 strati (o livelli = tier) del tipo seguente: Client Server

ODBC = Open Data Base Connectivity interfaccia della Microsoft API JDBC = Java Data Base Connectivity interfaccia della Sun …Per esempio con un’ applicazione scritta per Access, usando ODBC si puo’ lavorare con un d.b. creato con SQL_Server (cfr +oltre).Con questo Architetttura a 2 tier ogni Client deve contenere e gestire le proprie Applicazioni con problemi di dimensione, replicazione e manutenzione dei programmi. Per svincolarsi dalle Applicazioni si passa ad una Architetttura a 3 tier col Client +semplice del tipo seguente:Thin Client Middle Tier o Ware DB_Server

La presentazione e’ svincolata dall’ Applicazione: comunicazioni ai d.b.Server e controlli sono gestiti nella infrastruttura detta Middle_Ware svincolando l’ utente anche dai dettagli di comunicazione. La presentazione puo’ essere fatta anche con Servlet Java (cfr +oltre) e nel Middle_Ware si puo’ introdurre J2EE=Java2EntrepriseEdition la piattaforma della Sun con tutti i servizi, compreso il Java_mail, e programmi in Java di tutti i tipi.

23

Presentazione Logica Applic.

D.B.S.D.B.

API

Presentazione

Logica Applicaz.Controlli di:comunicazione,sicurezza, servizi,transazioni …

D.B.Accesso ai dati

Page 24: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Riguardo all’ eterogeneita’ e interoperabilita’ seguono alcuni esempi il primo restringe l’ eterogeneita’ a RDBMS usando

un’ interfaccia A.P.I. (Application Program Interface) tra RDBMS diversi, ma sempre Relazionali !

il secondo utilizza Internet e WWW considerando un’ architettura Client-Server a 3 livelli del tipo seguente:

In figura si nota che l’accesso al d.b. passa per: Web_ Client dotato di un browser Uniforme

interfaccia-utente; Web_Server: effettua i servizi richiestigli dal Web_

Client tra i quali puo’ esserci anche l’ attivazione di programmi esterni (Gateway) oppure di funzioni;

Gateway: interfaccia il D.B.Server passandogli le richieste per il d.b. E’ un programma detto anche CGI = Common Gateway Interface, e/o anche “script” CGI che gira sul Web_Server che lo attiva passandogli eventuali parametri. Il Gateway tramite il D.B.Server apre la connessione con il d.b.

Uso di strumenti di sviluppo (tipici di prodotti commerciali) che sono interconnessi al Web_Server e possono connettersi direttamente al d.b.

D.B.Server: accede al d.b.Gli altri esempi si possono considerare come estensioni piu’ efficienti del secondo basati sull’ architettura sopra indicata.

24

Web_ClientWeb_Server D.B.Server

Gateway

D.B.

Str.Sviluppo

Page 25: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

1. Utilizzo di ODBC (Open Data Base Connectivity) che e’: un’ interfaccia software (a standard API = Application

Programming Interface della MicroSoft) tra due tipi di programmi, uno applicativo su Client e l' altro che gestisce un D.B. con uso di SQL;

consente di accedere ai dati in RDBMS qualunque; "supporta" un linguaggio che e' un sottoinsieme di SQL; utilizza un insieme di librerie dette drivers (che lavorano

nell' ambito di alcuni RDBMS e O.S.) e sono controllati da un Driver_Manager: la guida di Access fornisce indicazioni impostando “driver ODBC”). Si tratta del tipo di librerie CLI di cui si è accennato in db20034p2 luc.71 parlando di SQL nei linguaggi di programmazione.

Il programma applicativo richiede un driver gestito dal Driver_Manager di ODBC che con gli altri e' disponibile nell' O.S. usato (per es. i driver per Access sono disponibile in WINDOWS95, NT…) Il driver attivato trasmette i desiderata dell’ applicazione al d.b.Server nel formato voluto da questo e in modo trasparente per l’ applicazione

Prioritariamente (con ODBC installato col S.O. del Client p.e. Windows95-NT), e’ necessario: indicare il nome della Fonte_Dati (Data Source) usata nel

collegamento (per es. un d.b. con SQL_Server in un sito collegato in rete), e accertare che la configurazione del Server (SQL_Server) sia completa: e’ compito dell’ Amministratore del Sistema installare le procedure utili su ogni Server perche’ siano eseguite tutte le richieste dell’ utente;

Con ODBC si possono usare le frasi Commit e Rollback che garantiscono l’ atomicita’ delle transazioni ed effettuare interrogazioni sia statiche (per es. compilate) che dinamiche (per es. specificate in stringhe di output incluse in programmi eseguibili dinamicamente come mostrato negli esempi +oltre).

25

Page 26: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

…ma l’ interoperabilita’ e’ in evoluzione continua e con gli RDBMS piu’ moderni (per es. Access2000) anche alcune delle necessita’ sopra indicate potranno risultare ridondanti.Come esempio dell’utilizzo di ODBC si consideri un Server con un D.B. ed un sistema Relazionale (SQL_Server) che sia un nodo di una rete Intranet collegata ad Internet: per accedere ai dati del D.B. da vari RDBMS, localmente posti nei siti della rete, si puo’ usare ODBC. Al primo collegamento (necessari nome e password forniti dal D.B.A. di SQL_Server)) occorre rendere disponibili in rete i dati locali. Se e’ stato usato Access, per costruire un D.B. locale, occorre trasformare le tabelle locali Access in Relations SQL_Server: per questo e' anche necessario (almeno in Access95-97) uno strumento di trasformazione UPSIZING_Tool delle Tabelle costruite in Access in SQL_Server_Relation, strumento che deve essere disponibile su ogni Client. Praticamente si ottiene una replicazione del D.B. locale. Questo, una volta trasferito, puo’ essere eliminato.Con questi strumenti e' quindi possibile operare su un D.B. remoto con applicazioni scritte (o tradotte) in SQL e rendere il D.B. costruito localmente utilizzabile da applicazioni remote scritte in SQL anche con altri RDBMS.L’ utente abilitato a letture e scritture sul D.B. da nome e password riconosciuti da SQL_Server, puo’ connettersi al D.B. di rete. Come? In Access95-97 la connessione puo’ essere fatta tramite Apertura del D.B. esterno o Collegamento alle Tabelle desiderate dal menu’ File. Si puo’ quindi operare sul D.B. esterno o sulle tabelle Attached riconoscibili per un simbolo iniziale particolare (mondo, freccia) come se fossero locali.

26

Page 27: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Da qui appare chiaro che l’ utilizzo di ODBC non è di tipo friendly né generale, ma Microsoft ha presentato altre soluzioni per ampliare i tipi di “Data Source” da trattare: queste sono OLE DB e ADO. OLE DB si basa sulla tecnologia integrativa OLE (Object Linking and Embedding che già in Access95-97 permetteva di condividere informazioni tra programmi Office, utilizzando oggetti collegati o incorporati). OLE DB è un’ interfaccia che permette l’ accesso a dati di vario tipo: dalle caselle di posta elettronica ai sistemi CAD/CAM. Utilizza il modello a oggetti COM tipico dell’ architettura Microsoft. ADO (ActiveX Data Object) estende i servizi offerti da OLE DB presentandosi come una ricca interfaccia dotata di varie funzionalità e caratteristiche. Fondamentali sono: la Connessione a DB tramite User_Name e Psw (in evidenza possibili Errori), uso di Comandi SQL sotto forma di stringa, individuazione di una tupla e di un insieme di tuple ossia un “recordset” struttura che contiene i risultati delle interrogazioni inviate al DB e permette di scandire le tuple che contiene una alla volta come con i cursori. Tutto questo è realizzabile tramite l’utilizzo di moduli come ADODB che ne facilitano l’ uso (per esempio in programmi scritti in Visual Basic Script come verrà indicato nel seguito.)Il linguaggio e ambiente Java della Sun Microsystem offrono altre soluzioni che si basano sul modulo-interfaccia API Java Data Base Connectivity. JDBC (analogo a ODBC, con cui puo’ interagire) permette l’ accesso e lo scambio di informazioni tra programmi Java e RDBMS. Utilizzando JDBC si possono scrivere classi Java per accedere a D.B. Se per esempio si usa il metodo executeQuery si ottiene un insieme di tuple in un oggetto Result della classe ResultSet la quale permette di scandire le tuple che contiene una alla volta come avveniva con i cursori. (Esempio in Atzeni &… Vol.1 pag. 178.)

27

Page 28: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

2. Utilizzo di W.W.W. = World Wide Web la “ragnatela tessuta” sulla rete Internet che indica e realizza la gestione di informazioni testuali collegate tra loro (ipertesti) e dati multimediali ossia di documenti ipermediali (ipermedia). Contatti con il mondo dei Data Base? Evidenti anche a livello concettuale dato che: a) un ipermedia puo’ contenere anche informazioni

estratte da/inseribili in un Data Base; b) i DBMS stanno evolvendo verso la gestione di oggetti

= dati complessi o multimediali.Le Web Application ossia la gestione di informazioni estratte da d.b. tramite l’ uso del Web sono iniziate negli anni ’90 con estensioni del Web Server (http non é predisposto per questo fine) per la creazione di interfacce utente formate da pagine Web costruite partendo dalle informazioni del d.b. La prima di queste estensioni consisteva nell’ attivazione di brevi programmi CGI che effettuavano le elaborazioni richieste e restituivano come output pagine HTML (Hyper Text Markup Language) generate dinamicamente contenenti i risultati delle elaborazioni. Ormai il Web è una piattaforma per lo sviluppo di Sistemi Informativi su WEB (WIS). Si parte con le CGI e HTML che trae le sue origini dal linguaggio SGML (Standard Generalized Markup Language) un meta-linguaggio IBM usato dai ricercatori del Cern (anni ’90) per definire i linguaggi di markup (marcatura) composti da testo e da tag. HTML fu il primo di questi linguaggi, uno più recente è XML (eXtensible Markup Language). Tra questi 2 linguaggi ci sono analogie (per es. i tag sono scritti nello stesso modo, ma le relative regole sintattiche di XML sono più rigide) e differenze.

28

Page 29: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

HTML serve per costruire e visualizzare pagine Web, XML per descrivere e inviare informazioni (documenti) usabili non solo con il Web, ma anche in ambienti applicativi diversi (motori di ricerca, word-processor, basi di dati …) Il pregio di HTML ossia la semplicità dei suoi documenti é anche il suo limite: non c’è un controllo semantico dei costrutti, ma solo sintattico. Un browser deve talvolta “indovinare” la struttura del documento che non è sempre ben definita con i Tag: ne segue che alcune pagine sono illeggibili. XML ha più controlli, si può definire come un meta-linguaggio perchè permette la definizione di Tag personalizzati e fornisce una uscita (layout) indipendente dal browser usato attraverso l’ Extensible Stylesheet Language (XSL) che definisce lo stile del foglio di out. Un esempio di uso di XML in d.b. è in Access dove per es. un report può essere esportato in formato XML provocando la pubblicazione del contenuto per Internet e la registrazione del file XML e del relativo Foglio di Stile che deve contenere istruzioni perché la pubblicazione avvenga con l’ aspetto e la presentazione tipica di Access. Un foglio di stile XSL (Extensible Stylesheet Language) é molto flessibile e consente di selezionare con estrema precisione i dati che verranno visualizzati, di specificarne l'ordinamento o la disposizione e di modificare o aggiungere informazioni. È inoltre scritto in uno stile simile a quello di un documento XML, (utilizza una combinazione di tag XML e HTML per creare un modello di stile di output specifico). Cambiando il foglio di stile si può ottenere una pubblicazione del tutto diversa (per es. in braille). Di XML si riparlerà (in Oracle per es.), ma è giusto sottolineare che dalla versione 4.0 anche HTML è dotato di un linguaggio Cascading Style Sheet (CSS) che permette la separazione della formattazione dal contenuto del testo. Il foglio di stile CSS (parte di pagina Web che definisce gli stili per controllare la visualizzazione delle pagine Web da parte del browser), è spesso utilizzato per applicare velocemente una formattazione a più pagine.

29

Page 30: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

I documenti Web sono scritti generalmente in HTML che dà una descrizione del loro formato, interpretata e visualizzata da opportuni Client_Web = i browser (per es. Netscape.) Con HTML e’ possibile descrivere un documento ed anche collegarlo ad altri documenti locali o remoti. Il collegamento e’ realizzabile con frasi del linguaggio HTML che specificano il nome del documento e la sua locazione indicata come URL (Uniform Resource Locator). Nella URL devono essere indicati: il protocollo di trasmissione generalmente http: (hyper text transfer protocol) che usa i protocolli di trasmissione standard usati in Internet; il sito indicato con: //nome del Server_Web/directory/nome_file (Il nome del Server_Web e’ generalmente un nome simbolico come per es. WWW.lab.univ e segue le specifiche di Internet. Si ottiene cosi’ il collegamento (link) al server lab.) Esistono varie modalita’ per realizzare documenti interattivi che concettualmente consistono nel trasmettere dal Client_Web (usando pagine html) sia richieste che inserimenti di dati da estrarre o porre in un D.B. Interazione elementare: con la frase FORM di HTML

si possono costruire maschere (forms) apposite da riempire con i dati parametrici dell’ utente. Un esempio:

<FORM action= “” method=“post” >Nome: <INPUT type=”text” name “nome Scrivi_dati.exe”> <BR>Cognome: <INPUT type=”text” name “cognome”> <BR>... (altre possibili informazioni) ...<BR> <INPUT type=”submit” value=”INVIA”></FORM>Da questo file il Browser produce una pagina Web (la maschera) che l’ utente deve riempire con suoi dati: il Tag <INPUT type=”submit” é rappresentato dal browser come un bottone INVIA che l’ utente usa per sottomettere la maschera (dopo averla riempita) al Client_Web. Questo la passa con i dati inseriti al Server_Web per l’esecuzione. Il Server_Web attiva il programma CGI (indicato nella form) passandogli i parametri ricevuti, per esempio nello Standard Input. Con questi parametri, CGI interagisce col

30

Page 31: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

D.B.Server per gli aggiornamenti sul d.b. Questo tipo di comunicazione appare in Atzeni pag.141 vol.2. Altra interazione elementare per estrarre informazioni:

dal Client_Web, con un richiamo della URL apposita effettuato nello stile di Internet (ossia per es. http://WWW.nomeserver.univ.it/CGI-BIN/estrai?Cognome=Rossi) si richiama il programma estrai scritto in C lang. Questo al suo interno contiene le frasi di SQL precedute da un simbolo di riconoscimento. (Per es. $Connect database Tizio $Select stipendio from Tab1… servono per connettersi al d.b. Tizio tramite il d.b.Server ed estrarre le informazioni volute.) Eseguite le frasi SQL, i risultati sono posti (tramite variabili locali del programma estrai) in un documento Html da trasmettere al Client_Web. La trasmissione puo’ avvenire col canale di uscita standard del programma: Stdout. In tal caso le frasi Html appaiono come stringhe di printf nel programma estrai insieme alle variabili locali (per es. int stipendio).L’ esempio che segue è tratto da Atzeni&… ed. ’99, pag.530.

31

Page 32: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

.32

Page 33: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Esempio che è modificato nell’ edizione 2003 pag.143, dove sono usate le librerie di Postgres “un DBMS disponibile gratis al sito http://www.postgresql.org Si tratta delle librerie CLI (Call Level interface)” di cui si è accennato in db20034p2 parlando di SQL nei linguaggi di programmazione. Lì si era indicato l’ uso di “SQL incapsulato” indicandola come una delle 2 soluzioni per poter utilizzarlo da un programma scritto in uno dei linguaggi classici. L’ altra soluzione è quella offerta da alcuni DBMS che mettono a disposizione una propria CLI ossia una libreria di funzioni che si possono richiamare per realizzare:

la connessione col DBMS; la query opportuna; la visione e analisi del risultato in strutture a formato relazionale; la chiusura di tutto (strutture e connessione).Un esempio di uso di tutto questo è proprio il programma di Atzeni &…di pag.143 citato: si tratta del cosìdetto script CGI (scritto in C con HTML inserito dentro le printf) che permette la pubblicazione in pagine web dinamiche di quello che interessa all’ utente relativamente ad una base di dati. Dinamiche proprio come sono dinamici i desiderata dell’ utente. Analisi delle prestazioni di CGI: i pregi sono la semplicità (il codice è semplice anche se un po’ farraginoso) e l’ indipendenza dalle piattaforme; le limitazioni sono la lentezza derivata dal funzionamento tipico del Web Server che crea un nuovo processo ad ogni richiesta e lo chiude dopo la costruzione della pagina dinamica senza alcuna memorizzazione dei risultati condivisibili con altre richieste. Tutto ciò indica la necessità di un potenziamento del Web Server ed un’ architettura più complessa di quella con CGI esterna.

33

Page 34: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Si realizza quanto detto sopra con l’ con uso di strumenti di sviluppo realizzati dalle varie societa’ di Software: la differenza sta nel fatto che lo strumento di sviluppo fa parte del Server_Web come una delle unita’ esecutive del processo multi-thread e viene attivato ed inizializzato una volta, senza bisogno della connessione, allocazione, inizializzzazione ad ogni chiamata come avviene per il programma CGI (programmazione multiprocesso…) Quindi maggiore efficienza per gli strumenti di sviluppo! Esistono vari tipi di strumenti di sviluppo che producono template o bozze di pagine Html e contengono linguaggi di scripting server side per mettere in evidenza le istruzioni per il calcolo delle porzioni dinamiche separandole dalle parti di sagomatura della pagina.

La strada per arrivare a questa soluzione fu quella dei ”potenziamenti” via via sempre più efficienti della tecnica CGI. Una sequenza di migliorie é stata effettuata coll’ utilizzo di un ambiente Java dotato sia di JVM (Java Virtual Machine: macchina realizzata a software per l’ esecuzione di programmi Java tradotti in bytecode), sia di un Servlet Container con le funzionalità di poter scrivere e memorizzare programmi Java per il calcolo dinamico delle pagine. Questi programmi si chiamano Servlet e hanno funzioni simili agli script CGI. La differenza sta nel fatto che i Servlet dentro il Servlet Container dispongono dell’ ambiente a oggetti che facilita l’ interazione con il Web Serwer, senza la richiesta delle variabili come deve fare CGI. Inoltre i Servlet hanno la possibilità di usare JDBC per la connessione alla b.d.

34

Page 35: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Comunque si ottengono ancora script che oltre ad occuparsi della stampa dei risultati devono dare le direttive per il loro posizionamento ossia devono preoccuparsi della bozza (template) delle pagine dinamiche. Si arricchisce quindi l’ ambiente Java (estensione del Web Server!) anche di Java Server Page (JSP) linguaggio di scripting server side che sfrutta le bozze di pagine già programmate nel Servlet Container. La bozza si può intendere come un file HTML esteso con espressioni ed istruzioni (in generale componenti) di Java. Il browser ignorera’ tali frasi e utilizzera’ solo quelle di HTML per la visualizzazione del documento. Invece lo strumento di sviluppo (o gestore delle bozze, qui Servlet Container abilitato all’ esecuzione di file JSP) traduce la bozza in un programma Servlet, lo compila e lo esegue collegandosi al d.b. (direttamente tramite JDBC o tramite il d.b.Server) aprendo la strada al file HTML. Le componenti di JSP possono essere:

Direttive con incapsulamento <%@…%> Espressioni Java “ “ <%=…%> Funzioni Java “ “ <% …%> Dichiarazioni “ “ <% !…%>Un esempio dalla tesi < %@page import=”java.util.*” %>Di Cristina Camozzi: <HTML>(file Cri.jsp) <BODY> <%! Date thedate = new Date();Dichiaraz. { System.out.println(“In getDate() method”);Eseguite al return thedate;}primo caricamen. %> Hello! The time is now<%= getDate() %> </BODY> </HTML>

35

Page 36: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Si noti che con la direttiva <%@ si possono importare: file, librerie, Package e con <% si possono raggruppare in un solo blocco le definizioni di metodi e variabili. Mentre le dichiarazioni sono eseguite al primo caricamento delle pagine, le espressioni Java sono valutate al run time richiamate dal file HTML seguente:<HTML><BODY>Hello! The time is now<%= new java.util.Date() %> </BODY></HTML> Se dal browser (Client_Web) si richiama il file Cri.jsp si ottiene una delle solite pagine Web con la stringa: Hello! The time is now Mon Jan 26.11 ....

Un gruppo di studenti dell’ a.a. ‘99-2000 ha usato questo tipo di interazione per realizzare tramite una pagina Web dinamica un questionario con varie domande. Per costruirlo gli studenti hanno usato prodotti della Microsoft e la scelta fu determinata dall’ Utente: sul Server_Web gli studenti installarono le librerie di Front Page e il prodotto IIS Internet Information Server (per Windows_NT) che supporta lo strumento ASP ossia Active Server Page analogo a JSP.

(Presso un server compatibile con le Active Server Pages (ASP) si possono installare siti Web usando per esempio Personal Web Server, compatibile ASP e presente all’interno del CD-Rom di installazione dei S.O. Microsoft dal Windows 98 in poi.) Il file ASP costruito dagli studenti (detto pagina ASP

o index.asp) contiene il codice Html usato dal Client_Web per la visualizzazione e il codice Visual Basic Script eseguito sul Server_Web che effettua il collegamento ad un d.b. Access (questionario .mdb) con i dati raccolti.

36

Page 37: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Il Visual Basic Script e’ un linguaggio orientato agli oggetti che deriva dal Visual Basic, linguaggio base di Access per creare per es. Moduli di Access. Visual Basic Script e’ solo interpretato (non compilato) ed eseguito: puo’ utilizzare oggetti del Sistema Operativo utili per la gestione del D.B. (come ADODB.Connection, ADODB.recordset, ADODB.command...) Il Visual Basic Script (come JSP) e’ inserito, racchiuso

tra <% e %> nel codice Html che realizza la visualizzazione del questionario sul Client_Web. Una volta riempito il questionario con le sue risposte, l’ utente lo invia al Server_Web (premendo un tasto Submit alla fine del questionario stesso): entra in funzione il codice scritto in Visual Basic Script che recupera i valori delle risposte come parametri da inserire nel d.b., si connette al d.b. ossia al file questionario.mdb di Access, e se i controlli sulla correttezza delle risposte non segnalano errori, le inserisce nella tabella.

Un’ applicazione simile a questa nella sostanza, anche se diversa per gli strumenti ed il linguaggio usato e’ stata fatta nell’A.A. 2001-02 da un altro gruppo di studenti che hanno utilizzato il Sistema Oracle ed il relativo Web Server Apache integrato tra i prodotti di Oracle (cfr. note su Oracle). Apache puo’ essere configurato con l’ interprete del linguaggio di scripting PHP. Si tratta di un linguaggio che puo’ contenere frasi proprie, frasi SQL, essere intercalato col linguaggio HTML e (con particolari accorgimenti di installazione) richiamare l’ interfaccia OCI (Oracle Call Interface) che permette alle applicazioni esterne di usufruire delle funzionalita’ di Oracle. Non volendo usare il PHP Language si puo’ usare il Linguaggio Java e JSP…

37

Page 38: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

E’ quello che hanno fatto altri studenti che riferendosi all’ architettura a 3 tier presentata precedentemente: hanno realizzato il Thin Client con Internet Explorer, il terzo livello con Oracle Enterprise Edition che fa da d.b.Server ed il Middle Ware con l’utilizzo combinato

del Web Server Apache, della tecnologia di Sun Microsystem per la creazione di pagine web dinamiche server–side, Java Server Pages (JSP), dell’ Oracle implementation delle specifiche JDBC (Java Data Base Connectivity) un insieme di classi Java per l’ accesso al d.b.Ancora: altri studenti hanno realizzato nell’ ultimo A.A. un’ applicazione simile, anche se più generale, con Mysql un RDBMS che può essere scaricato gratis dalla rete. Hanno usato il Web Server Apache ed il linguaggio PHP; il prodotto costruito oltre ai risultati richiesti comprende anche un’ interfaccia User friendly per la realizzazione di altre applicazioni simili. Un altro esempio di utilizzo di strumenti di sviluppo che

favoriscono l’ accesso a siti Web sono le funzionalita’ del linguaggio PL/SQL (SQL esteso al Procedural Language PL) di Oracle che permettono di generare interfacce Html. Si tratta di una generazione simile a quella ottenuta col programma estrai.C, ma qui il ruolo svolto dal C nel programma CGI e’ effettuato dallo stesso linguaggio SQL che lavora sul d.b. Nella versione di Oracle si usa PL/SQL, linguaggio procedurale in cui con l’ istruzione:

htp.print(‘<HTML> <HEAD> <TITLE> … ‘) si generano le frasi Html.

38

Page 39: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Come si intuisce dalla serie di esempi gli strumenti necessari per le varie applicazioni diventano sempre più numerosi estendendo il lavoro che il Web Server deve svolgere. Da qui la necessità di suddividere i compiti del Web Server e passare (per interazioni più articolate e con carichi di lavoro notevoli e variabili) ad architetture a più livelli con l’ introduzione di un Application Server connesso al Web Server con il compito di effettuare oltre a tutto il lavoro svolto dagli strumenti di sviluppo anche:Salvaguardia ed eventuale ripristino da guasti, Gestione delle transazioni,Gestione delle risorse condivise,Interoperabilità con altri sistemi,Gestione di ambienti sia misti che no, ma con possibilità di usare linguaggi a oggetti con gestione di diversi protocolli applicativi (per es. CORBA acronimo di Common Object Request Broker Architecture ossia Architettura per la gestione di richieste a Oggetti condivisi.),Trasparenza nella eventuale distribuzione dell’ Application Server stesso. Si Ottiene così un WIS ossi un Sistema Informativo su Web.Un esempio è quello già indicato realizzato in un ambiente “tutto Java”, con programmi in Java (e tradotti nel codice nativo del computer in cui girano) e con strumenti Java come la piattaforma J2EE.

39

Page 40: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

b) Tutti questi strumenti testimoniano la continua evoluzione delle modalita’ di comunicazione tra D.B.S. ed il mondo di Internet. La potenzialita’ del linguaggio Java ha dato un’ accelerazione a tale evoluzione denotata, per esempio, anche dalla facilita’ di pubblicare in Internet una tabella di Access o un suo report. (Già in Acccess ‘95 bastava seguire le indicazioni sul menu’ File di Access alla voce Salva come Html, per ottenere automaticamente le pagine Web con i dati desiderati da porre in un file locale o in una URL specificata. In Acccess 2000 si è visto che un Report si può salvare come file Xml,… Questo collegamento tra Access e Web e’ anche un esempio dell’ evoluzione dei d.b. verso dati multimediali e dei DBMS verso O.O.D.B.M.S. ossia Object Oriented DBMS. Già in Access95 tabella o dato era richiamabile col suo riferimento proprio come gli oggetti tipici degli ipermedia usati col Web. Esempi tipici in Access sono gli attributi di tipo OLE.Si noti ancora che in Acccess2000 e’ fornito anche la strumento che permette la costruzione guidata di pagine Web per accedere a dati, similmente a come sono costruite le query.) L’ evoluzione appare anche dal testo di Atzeni (ripetto ai precedenti) che presenta la costruzione di un sito Web in modo generale con la “progettazione di applicazioni Web” e per questo riparte dal ciclo di vita del software. L’ accento è posto sull’ interazione con l’ utente. Occorre identificare i tipi di utenti che possono essere interni alla Società che richiede l’ applicazione (ossia gli impiegati) ed esterni come i clienti di detta Società che a loro volta possono essere casuali o registrati. Vengono definite classi di impiegati con permessi diversi di scrittura sugli oggetti dell’ applicazione e classi di clienti che avranno viste diverse del sito in progettazione. (Evidente l’ analogia con le view del d.b.)

40

Page 41: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Anche l’ analisi dei requisiti dell’ applicazione è influenzata dall’ ambiente Web per cui le specifche sui dati si arricchiscono di quei concetti che siano d’ aiuto alla loro pubblicazione in pagine Web. La progettazione prosegue con la progettazione concettuale dei dati utili all’ applicazione Web estendendo ed integrando la progettazione concettuale classica che deve essere ancora presentata. Si rimanda quindi questo tema alla fine della parte 3. … e con i DBMS piu’ moderni ? … l’ evoluzione continua!

Tipico esempio di cio’ e’ Oracle ed i continui nuovi release del d.b.System detto Oracle Server disponibile su diversi Sistemi. Segue una breve sintesi delle caratteristiche essenziali di Oracle: per il DBS Oracle si e’ scelta questa semplice presentazione, uno “schizzo” di guida, data la complessita’ del Sistema. Diverso e’ stato il comportamento per Access (molto noto e facile da usare) le cui caratteristiche sono state introdotte in modo sparso e per DB3+ al quale si e’ accennato per introdurre i Sistemi Relazionali.Cosi’ si e’ adottato un modo personalizzato per ogni Sistema.

41

Page 42: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Oracle Con i suoi sempre nuovi release (versioni) e’ un tipico esempio dell’ evoluzione continua dei DBS. Fu immesso nel Mercato nel 1979 dalla Relational Software Inc. di Belmont (California), Societa’ che ha poi preso il nome di Oracle Corporation. E’ stato il primo prodotto basato sul linguaggio SQL ad essere commercializzato precedendo tutti gli altri, anche quelli della IBM. E’ compatibile (e collegabile in rete) con altri DBS (per se. DB2) con vari Sistemi Operativi (Window, Unix,...)Uno degli aspetti positivi di Oracle Server e’ proprio la portabilita’ e interoperabilita’ (e quindi pare appropriato l’ appellativo Server). Queste caratteristiche pero’ producono anche un suo limite: assenza di un’ interfaccia grafica amichevole e generale. In alcune versioni esistono varie interfacce, ma pur essendo molto utili non sono complete.Un esempio composito: nella versione 8i per il sistema Window2000, il DBA puo’ gestire l’intero ambiente Oracle (anche distribuito in una rete locale) col prodotto Oracle Enterprise Manager (System Management) che ha un’ interessante architettura a 3 livelli. Al primo livello (Client) c’e’ la Java Console che fornisce l’ interfaccia grafica per il DBA. Il DBA puo’ cosi’ controllare tutti i nodi delle rete Oracle tramite il Management Server che é un servizio del S.O. e sta al livello 2… (ma su Oracle9i non si trova … su Oracle 8i non si avvia …) e dovrebbe essere in collegamento con gli Intelligent Agent (terzo livello). Questi possono agire sui d.b. locali posti nei nodi delle rete locale eseguendo tutti i compiti-funzioni richiesti dal System Management. (Si usano i vocaboli Inglesi per essere in sintonia con la Guida di Oracle)…. E gli utenti normali ?

42

Page 43: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Sempre nella stessa versione esiste l’ interfaccia grafica DBAStudio (integrata nella versione 9i in Enterprise Manager) facilita la connessione al d.b. locale, la sua Creazione e/o Aggiornamento, la sua Gestione tramite Editor particolari per: Schemi, Tabelle, Utenti ed i loro privilegi di Sicurezza… ambiente Oracle fatto di: d.b., componenti, programmi di utilita’ (come SQL*Plus con la sua Guida) e alcune “Interface” Supporto PL/SQL (Procedural Language di cui si e’ gia’ indicata la possibilita’ di generare frasi Html) Parallel server, possibilita’ di gestire repliche di d.b. per piu’ master e Oracle J-Server (nome del motore Java), Strumenti per gestire i Tipi di dati astratti (O.O. con CORBA ed EJB componenti implementate in Java ed eseguibili entro il d.b. per gestire Oggetti distribuibili tra +Client) e poi Times Series, Spatial date, Information Retrieval... Un d.b. Oracle e’ identificato da un nome di db globale (di solito nel formato “nome_db.nome_dominio” es. dbmary.ds.units.it) e da un Identificativo di Sistema (SID) relativo all’ istanza del db. Ad ogni db Oracle si accede tramite UserName & Password (per es. UserName= System, Password=Manager da cambiare al primo accesso ).Come componenti del d.b. si intendono il Dizionario dei Dati, le Tabelle, le Viste, gli Indici, i Trigger ed i Cluster che permettono di raggruppare i dati posti nelle Tabelle a secondo del loro uso piu’ frequente. Programmi di utilita’ sono le componenti essenziali di Oracle Server per esempio il nucleo centrale che gestisce il d.b. ed e’ caricato in (e scaricato dalla) C.M. da applicazioni di tipo IOR (Initialise Oracle) attivate alla partenza e arresto del Sistema.

43

Page 44: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Il nucleo inizializza il d.b. con i parametri che all’ atto della configurazione del d.b. stesso sono stati posti in un file (Init.ora che in ambiente operativo Windows sta in “Oracl_base”\admin\SID-directory\Pfile\ dove Oracl_base e’ il nome del direttorio iniziale.. Si noti che la configurazione del d.b. avviene un sola volta per es. subito dopo l’ installazione di Oracle. Per l’ installazione cfr. paragrafo Installazione tra 4 lucidi). Il nucleo permette l’uso del d.b., la sua manutenzione, il monitoraggio attivando anche altri programmi di utilita’. Tra i parametri di Init.ora oltre al nome del db e al suo SID figurano quelli che servono per ottimizzare le prestazioni del d.b. fissando per esempio aspetti e dimensioni della System Global Area (SGA) ossia l’ area di C.M. usata da Oracle per trasferire ed elaborare i dati. A questo scopo si puo’ per es. incrementare il valore del parametro BUFFERS ossia il # di buffer presenti in memoria diminuendo cosi’ il # di accessi al disco con miglioramento delle prestazioni del Sistema. L’area di disco riservata ad un d.b.Oracle si compone di alcune partizioni (Tablespace) destinate a contenere tutte le componenti del d.b. e poste in Oracl_base\ORADATA\db-name(directory)\. Alla configurazione del d.b. e’ generata una prima partizione di nome SYSTEM01. DBF in cui sono registrati e mantenuti automaticamente il Data Dictionary con la definizione delle tabelle, viste, procedure necessarie per il d.b.Oracle. Alla partizione di sistema sono aggiunte altre partizioni destinate a contenere le tabelle degli USERS, per esempio in USERS01.DBF saranno poste le tabelle del primo utente, mentre quelle temporanee andranno in TEMP01.DBF (partizione TEMP) e gli Indici in INDX01.DBF (partizione INDX).

44

Page 45: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Sempre in Oracl_base\ORADATA\db-name(directory)\ sono i file di Log che si chiamano REDO01,02,03 e che sono usati ciclicamente per conservare memoria di tutte le operazioni fatte.Ancora allo stesso indirizzo sono posti i file di controllo con la struttura fisica del d.b. che servono al Sistema per far partire il d.b. Ogni d.b. contiene almeno uno Schema per ogni utente: ogni Schema (che ha il proprio nome) raggruppa le componenti del d.b. come Tabelle, Viste, Utenti, Indici, Cluster, Trigger, Object… Per molte di queste componenti esiste un Wizard che ne facilita la costruzione, anche se questa si puo’ realizzare con Editor appositi e naturalmente usando SQL*Plus. Tra le componenti citate (ma ce ne sono altre!) i Cluster ed i Trigger non sono noti. Il Clustering (generalmente sfruttato dall’ Ottimizzatore!) e’ una tecnica di memorizzazione dei dati che produce un aumento delle prestazioni di ricerca dei dati nelle tabelle memorizzando fisicamente vicini dati che sono vicini logicamente. Una sua applicazione riguarda le tabelle con una o piu’ colonne in comune che siano frequentemente oggetto di operazioni di join. Le tuple delle tabelle con valori uguali nelle colonne in comune sono poste nello stesso blocco di disco diminuendo i tempi di scansione-disco. Un esempio: nel d.b. Supplier-Part ritenendo frequenti le interrogazioni richiedenti i nominativi dei Supplier associati ai nomi delle Parti relative alla stessa Citta’ di origine, si puo’ creare un cluster delle tabelle S e P. Chiave del Cluster sara’ il nome della Citta’. Un blocco di questo Cluster conterra’ una sola volta il valore della chiave e per ogni tupla i relativi valori delle 2 tabelle. In Oracle8i si puo’ creare un Cluster da DBAStudio anche tramite un apposito Wizard col comando Create Cluster .

45

Page 46: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

A proposito di Cluster in Oracle9i esiste anche la RAC (Real Aplication Cluster), Architettura Software che permette di sfruttare le possibilità di più computer interconnessi in modo da poter eseguire contemporaneamente transazioni su un d.b. condiviso.I Trigger (reazioni o regole attive che seguono il paradigma Evento Condizione Azione ECA (cfr.20034p1 e Atzeni &… ed. 2003 cap.7, Vol.2) sono procedure la cui esecuzione e’ innescata da un evento quando si verifichino le condizioni che contengono. L’ evento puo’ essere l’ introduzione di dati incongruenti (per es. fuori range) o la tentata eliminazione di valori che l’ Utente definisce riservati … Le condizioni sono opzionali, mentre e’ obbligatorio stabilire il tempo in cui il trigger deve essere eseguito, per esempio prima dell’ evento se questo e’ un Delete. In Oracle8i i trigger possono essere creati col comando Create Trigger di SQL con apposita sintassi o da DBAStudio tramite un apposito metodo di creazione facilitata dove si scrive in SQL/PL solo il corpo del Trigger (if evento fai…) mentre le altre informazioni sono introdotte con l’ accensione/spegnimento di apposite opzioni.Come “Interface” si intendono i prodotti utilizzabili da utenti e/o applicazioni che si vogliono collegare al d.b. Per esempio ecco alcuni strumenti di Interfacciamento: per il Sistema Window 2000 (release 8i) l’ interfaccia grafica DBAStudio gia’ indicata che ha diverse possibilita’ di aiuto per l’utente inesperto di Oracle, ma non tutte quelle che si vorrebbero … SQL*Net per la gestione di Oracle in rete locale Oracle Call Interface (OCI) per interazioni con Oracle Server da un’ applicazione esterna

46

Page 47: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Web Server Apache: un Web Server integrato tra i prodotti di Oracle che permette di accedere al d.b. tramite un’ interfaccia Web. Per questo tipo di connessione si possono usare varie alternative: qui di seguito se ne ricorda una.Come gia’ indicato esiste il prodotto JDBC (equivalente di ODBC della Microsoft) che funziona in ambiente Java e contiene le specifiche di classi per la Connessione al d.b. per Aggiornamenti del d.b. (col metodo

executeUpdate()), per Interrogazioni al d.b. (col metodo executeQuery()) ….

Usando queste applicazioni, (ma ce ne sono altre come l’uso di PHP un linguaggio di scripting invece di Java di cui si e’ gia’ accennato) l’ Architettura di rete a 3 strati (o livelli = tier) gia’ presentata si puo’ realizzare ponendo: nel Thin Client: Internet Explorer; nel Middle_Ware: JDBC, JAVA, APACHE e le

applicazioni Web (pagine JSP =Java Server Page, equivalenti alle pagine ASP di Microsoft dove pero’ il codice e’ scritto in JSP -e non in Visual Basic Script- intercalato ad Html);

ed al terzo livello il d.b. col “suo” d.b.Server: Oracle Enterprise Edition.

47

Page 48: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Oracle presenta tante altre possibilita’ e funzionalita’ che possono stimolare curiosita’. Si ricordano ad esempio oltre ai Java Beans (EJB) programmi Java e CORBA ( Common Object Request Brocker Architecture cfr. Basi di dati a Oggetti) la possibilita’ di effettuare On-Line Analitical

Processing e On-Line Transaction Processing (funzioni OLAP e OLTP); elaborazioni con dati replicati in Data Warehouse (usando configurazioni estese a tali scopi);

utilizzo di indici spaziali con strutture dati ad albero a piu’ dimensioni (di cui si parlera’ in 20034p4)

utilizzo di XML: Oracle9i permette la creazione di d.b.XML (o XDB) progettato per accedere a oggetti XML tramite un percorso gerarchico più rapido. Questo è quanto afferma la guida di Oracle9i: però prima di parlare dei miei tentativi di utilizzo di XDB torniamo su quanto esposto in Atzeni & … e sull’ uso di XML in Access. In Atzeni &… ed. 2003 cap.6, Vol.2 è presentato l’ esempio di uno “Schema XML per la rappresentazione di indici di libri”, il documento XML contenente la descrizione del Primo Vol. di “Basi di Dati” e la XQuery per estrarre gli autori del libro fatta nel Linguaggio Xquery con riferimento allo Schema XML. C’ è anche la pagina Web prodotta usando il linguaggio XSL (eXstensible Stylesheet Language) col quale si costruisce il file chiamato Foglio di Stile (stylesheet) fatto di regole per selezionare una parte o tutto un documento XML e trasformarlo in un altro documento di output con struttura diversa.

48

Page 49: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Si è già visto un esempio di uso di XML in d.b. Access dove si é esportato un report in formato XML. Automaticamente è stata realizzata la pubblicazione del report per Internet e la registrazione del relativo file XML e del relativo Foglio di Stile con le istruzioni necessarie per ottenerne la pubblicazione uguale a quella tipica di Access.

In Access è anche possibile effettuare una query in XML: qui di seguito appare il file GAIA.xml che importato in db1conv.mdb produce la tabella MAL Query col numero del paziente, il suo nome e la diagnosi. Si noti nella riga 1 del file GAIA.xml c’è il richiamo alla codifica e nella riga 2 l’ aggancio ad uno schema XML fornito dall’ ambiente di Microsoft Office a cui occorre riferirsi per usare le tabelle di Access.

<?xml version="1.0" encoding="UTF-8" ?> <datarootmlns:od="urn:schemas-microsoft-com:officedata"><MAL_x0020_Query><NUMEROMAL>30</NUMEROMAL><COGNOMEMAL>Gaia Gi</COGNOMEMAL> <DIAGNOSIMAL>Depressione</DIAGNOSIMAL></MAL_x0020_Query></dataroot>

Da osservare ancora nel file riprodotto la definizione di Tag personalizzati (per es. NumeroMAL) caratteristica che, come già accennato, rende XML un meta-linguaggio. I miei tentativi per realizzare qualcosa di analogo in Oracle9i non sono andati a buon fine … forse dipende dal fatto che Oracle 9i NON è garantito su Windows XP-home edition, ma solo su Professional edition e/o forse dipende dallo schema costruito il cui uso non è così immediato come in Access.

49

Page 50: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Installazione di Oracle9i per Windows 2000XpNOTA: ad Installazione eseguita si è scoperto che Oracle9i funziona bene solo con Windows 2000Xp Professional Edition… Comunque occorre:

iscriversi al sito http://technet .oracle.com eseguire il download di una versione trial cercando Oracle

9i Database Si ottengono 3 file Disk1.zip, Disk2.zip, Disk3.zip Si scoppattano i 3 file e nella directory del primo file appare

il setup.exe con un’ icona a forma di disco. Uno, due Clik sopra non producono nulla. Invece cliccando sulla cartella Install parte l’ installazione con una schermata di presentazione dell’ Installazione Guidata ed il tasto Avanti: si fa clic su questo e alla schermata successiva vengono richieste le posizioni dei file di origine e di destinazione (già presenti automaticamente per default). Clic sul tasto Avanti e compaiono i Prodotti disponibili (si sceglie Oracle9i Database 9.0.1. …); alla schermata seguente il Tipo di Installazione é Standard Edition. Al successivo Avanti è chiesto il #porta per l’ uso di Recovery (si lascia quello predefinito). Al Clic sul tasto Avanti compare la schermata Configurazione del database (va bene Uso generico) e poi la schermata Identificazione del d.b. dove occorre scrivere sia il nome del d.b.globale (dbmary.ds.units.it) che il suo identificatore SID. Clic sul tasto Avanti ed è richiesta la directory per i files di d.b. (per default C:\oracle\oradata). Al successivo Avanti é richiesto il set di caratteri (predefinito) e finalmente dopo la schermata sul Riepilogo di Impostazioni e Scelte fatte, al successivo Avanti inizia la Sessione di Installazione che dura circa 40min. ed in cui vengono anche richieste le PSW. Ad installazione completata, clic su Avanti e appare la schermata sugli Strumenti di Configurazione dei vari servizi integrati che sono avviati automaticamente ad ogni ripartenza. E poi FINE installazione.

50

Page 51: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

2a Sezione

51

Page 52: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Il tema della Progettazione logica riprende dalla normalizzazione che permette controllo e verifica della progettazione concettuale e logica di una Base di dati, mettendo in luce possibili errori. Ecco un esempio (Atzeni): si suppone che l’ analisi effettuata abbia evidenziato l’ Entita’ Prodotto (fornito da una ditta) considerando come suoi attributi Codice, Nome_Prodotto, Nome_Fornitore, Indirizzo, Partita_Iva dove gli ultimi 2 attributi sono correlati al Nome_Fornitore, mentre tutti dipendono dal Prodotto ossia dal suo Codice. Dopo quel che si e’ detto sulle FD dalla chiave si vede subito che non e’ adeguata la rappresentazione seguente: Codice (*) Nome_Prodotto Indirizzo Partita_Iva Nome_Fornitore

(*) Qui e’ seguita la rappresentazione grafica tipica del Modello Entity-Relationship: per es. Codice indica l’ attributo candidato chiave e per questo e’ collegato a Prodotto con una linea che termina con un circoletto nero, gli altri sono attributi semplici e dovrebbero essere collegati a Prodotto con una linea che termina con un circoletto bianco che per semplicita’ e’ omesso.Anche se lo schema rappresentato risulta inadeguato in quanto si evidenziano le seguenti dipendenze funzionali:CodiceNome_Prodotto,Indirizzo, Partita_Iva, Nome_FornitorePartita_IvaNome_Fornitore, Indirizzo e dovra’ essere modificato (a pagina seg.), occorre tener conto della situazione che rappresenta ossia: il Codice e’ chiave primaria identifica quindi anche il Nome_Fornitore.

52

Prodotto

Page 53: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

L’ esigenza di avere le 3 relations seguenti deriva dunque dalla violazione di … quale NF ? PR(Codice, Nome_Prodotto) FORN(Partita_Iva, Nome_Fornitore, Indirizzo)PR_FORN(Codice, Partita_Iva) Nello schema originario Partita_Iva dipende da Codice, ma non viceversa !

Nel Modello Entity-Relationship questa situazione puo’ essere cosi’ rappresentata:

Codice Partita_Iva Indirizzo (1,1) (0,N)

Nome_Prodotto Nome_Fornitore

(Domande: perche’ associazione 1:1 tra Prodotto e Fornitura ? “ “ 0:N “ Fornitore e Fornitura ? quale potra’ essere la chiave nella relation relativa a Fornitura ?Domanda: va bene la chiave in PR_FORN ? Perche’ ?)In questa rappresentazione si evidenzia subito la semantica delle 3 relations delle quali 2 rappresentano Entita’ ed una rappresenta l’ Inter-relazione (=associazione) tra le 2 Entita’ Le Entita’ sono rappresentate da rettangoli;le Inter-relazioni sono rappresentate da rombi;i valori numerici che appaiono rappresentano il tipo di associazione ossia 1 a 1; 1 a molti; molti a molti (cfr.+oltre).D’ altronde e’gia’ stato detto che le Fasi di progettazione di una Base di dati comprendenti progetto concettuale, progetto logico, progetto fisico devono partire da un progetto concettuale ben fatto.

53

Prodotto Fornitura Fornitore

Page 54: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Come si ottiene? Tramite la Progettazione Concettuale che usa un modello concettuale dei dati in grado di permettere la descrizione completa dei dati col loro significato informativo ad un livello di astrazione alto. Il modello concettuale dei dati che permette la descrizione dei dati col loro significato informativo ad un livello di astrazione alto e’ il Modello Entity - Relationship (Chen, ACM “Transactions on Data Base System”, vol.1, pag.9-36) i cui costrutti fondamentali sono forniti di seguito (2 pagine da Date e Atzeni & …).

54

Page 55: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

55

Page 56: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Recentemente nel contesto dell’ Ingegneria del Software ha acquistato importanza il modello UML acronimo di Unified Modelling Language. Si tratta di un formalismo che permette la modellazione completa di Applicazioni Software specialmente di tipo O.O. E’ “ricco” essendo dotato di 9 tipi di diagrammi per la rappresentazione degli aspetti (come classi, moduli, attività, loro sequenzialità …) di un’ applicazione sotto prospettive o “viste” diverse. Tra i tipi di diagrammi, il diagramma delle classi e delle relazioni che le legano è anche talvolta preso in prestito per la rappresentazione di una base di dati, anche se secondo Atzeni & … il modello E-R “costituisce uno strumento appositamente pensato per il progetto concettuale dei dati ed è funzionale a questo uso”. Nel modello UML invece i diagrammi delle classi di un’ applicazione sono pensati per un uso diverso. La conclusione è che il modello UML può diventare utile quando si vuole integrare: descrizione concettuale dei dati con progetto delle classi di un’ applicazione.

Entity-Relationship Model: distinzione e importanza Ruoli

Attributi rappresentati nel modo gia’ indicato.Segue l’ esempio di un Diagramma Entity-Relationship per un d.b. che risponda a ricerche su spostamenti di persone.

56

Page 57: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Esempio: PNome Codice

CNomeDiagramma Entity-Relationship per un d.b. che risponda a ricerche su spostamenti di persone.Nelle Relazioni che legano tra loro Entita’, ai verbi si preferiscono Nomi in modo da evitare le forme attive e passive. La Persona x ha la Residenza nella Citta’ yEs. Residenza La Citta’ y e’ il luogo di Residenza di x

Altro Esempio: numero

Nome Posizione Nome Citta’ Allenator. Casalingo Data

Entita’ e Relazioni possono avere attributi !La realizzazione? Sempre col Modello Relazionale la semantica delle Relazioni e’ evidenziata dalla grafica !La cardinalita’ delle Entita’, delle Inter-relazioni e quella degli attributi seguono le stesse regole ed esprimono quante volte 1 occorrenza di una delle Entita’ coinvolte puo’ essere associata a occorrenze delle altre Entita’.

57

Persona

Citta’

Residenza Attivita’

Nascita

Giocatore Appartene.

Squadra Coinvolg.

Partita

Page 58: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Nell’ esempio qui sotto: un Impiegato puo’ avere da 1 a 5 Incarichi,un Incarico puo’ o non essere assegnato o essere assegnato ad un numero di Impiegati 50 (*).

(1, 5) (0, 50)

0 Coinvolgimento opzionale

Cardinalita’ MInima { 1 Coinvolgimento obbligatorio

1 Associazione 1 a 1 parziale se MI.=0

Cardinalita’ massima{ NAssociazione 1 a N “ “ “ “ “Associazioni N a M (molti a molti) tra 2 Entita’ si hanno in casi come: (1, N) (0, N)

dove si nota: N per entrambe le Entita’ coinvolte (M N) , un Viaggio puo’ non essere assegnato, un Turista viaggia per definizione !

(*) Se l’Impiegato potesse avere un solo Incarico e l’ Incarico potesse essere assegnato: al piu’ ad 1 Impiegato Associazione 1 a 1; ad N Impiegati Associazione 1 a N.

58

Assegnamento

Incarico

Turista Prenotazione

Viaggio

Impiegato

Page 59: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Le Generalizzazioni si indicano col nome di Gerarchie I.S.A. Codice FiscaleEs. Man IS A Person. Cognome e Nome Eta’

Rappresentano sempre legami logici tra Entita’, ma di tipo gerarchico nel senso che un’ Entita’ (a livello superiore) e’ detta Padre e le altre (a livello inferiore) figlie o Specializzaioni: in questo caso l’ Entita’ Padre e’ detta proprio Generalizzazione.Proprieta’: ogni occorrenza di un’ Entita’ figlia e’ anche occorrenza

dell’ Entita’ Padre; (+1 Man = +1 Person); ogni proprieta’ di un’ Entita’ Padre e’ anche proprieta’

delle figlie (es. attributi !)Una Generalizzazione puo’ essere: totale freccia piena (es. Person) parziale “ bianca (es. Entita’ Padre = Veicoli ed

Entita’ Figli = Auto e Biciclette queste due non esauriscono tutti i veicoli !)

parziale e sovrapposta freccia bianca (es. Entita’ Padre = Persona, Entita’ Figli = Studente e Lavoratore esistono Studenti-Lavoratori !)

Un Entita’ puo’ essere coinvolta in +Generalizzazioni; Possono esserci Generalizzazioni su +livelli gerarchie di Generalizzazioni. Esempi in appunti da Atzeni (2pagine Esempi & Diagramma Costrutti E-R).

59

Person

Man Woman

Page 60: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

60

Page 61: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Le Gerarchie evidenziate nel modello E-R mettono in luce un aspetto non ottimale del modello relazionale ossia la

61

Page 62: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

“piattezza” delle relations. (E’ questa una critica degli oppositori di Codd. In realta’ un accenno di gerarchia c’e’ nel Relational Model, per es. si pensi alle relation Master Supplier e Part ed alla relation Slave SP). Per superare gli aspetti non ottimali del suo modello Codd nel 1979 ne presenta una “estensione” col nome di RM/T (Relational Model Tasmania). Questa sua “revisione” si inserisce nella ricerca degli anni `80-90 che presta maggiore attenzione all’ analisi dei dati, al ‘design’, e, tramite il Modello Entity-Relationship, alla modellazione ed allo sviluppo pianificato del sistema informativo utilizzando anche gli strumenti software di Information Engineering. (Tipico esempio di tali ‘tools’ e’ il CASE Computer Assisted Software Engineering che permette la rappresentazione dei vari E-R schemi o diagrammi).Nel Relational Model Tasmania RM/T si sente l’ influsso di Chen e del Modello Entity-Relationship. Sono introdotte gerarchie con la distinzione tra 2 tipi di relations:E-Relations kernel Relations = tipi Entita’ in senso esteso anche alle Inter-relazioni = Relations unarie contenenti superchiavi o surrogati chiave (identificatori unici) di tutti gli elementi presenti nel DBMS)P-Relations tipi Proprieta’ = Relazioni di grado >1 , ma qualunque con tuple contenenti le superchiavi definite e gli attributi standard. Cio’ fornisce maggiore integrita’ e gerarchia al modello risultante che non ha esemplari in commercio, ma le cui idee possono trasferirsi ed essere utili nel progettare i data base relazionali.Supplier & Part D.B. in RM/T con 2 Suppliers, 3parti e 5 forniture.

62

Page 63: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

E-Relations:S P SP ------------ --------------------- -------------------|

S% P% SP% |------------- ---------------------- ------------------|

alfa gamma zetabeta delta eta epsilon theta iota kappa, , , … = superchiavi assegnate e controllate automaticamente dal Sistema. P-Relations:Sn St Sc-------------------------------------------------------- ---------------------------------------- ----------------------------------------------

S% S# Sname S% Status S% City-------------------------------------------------------- ---------------------------------------- ----------------------------------------------

alfa S1 Smith alfa 20 alfa Londonbeta S2 Jones beta 10 beta Paris

Analogamente per P e per SP (SP%, S%, P%, Qty)I surrogati chiave sono in effetti le chiavi primarie e le chiavi esterne: al Sistema sono necessari e sufficienti per identificare tutti gli oggetti presenti… Superindici ?… estensioni dei TID a livello concettuale ?D’ altronde anche il Modello Entity-Relationship ha qualche insufficenza: per es. non e’ quasi mai sufficiente a rappresentare tutti gli aspetti di un’ Applicazione.Occorrono Dizionario (GLOSSARIO) dei dati e vincoli di integrita’ … come appare da Atzeni & …)

63

Page 64: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

64

Page 65: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Esempio di progetto di D.B. Atzeni & … ripresentano il ciclo di vita del software (simile a quello presentato in db20034p1), però preceduto da uno Studio di Fattibilità per definire costi e priorità delle possibili componenti del sistema informativo. Poi per fissare alcune regole da seguire nell’ analisi dei requisiti ed esigenze raccolte fanno un esempio relativo al progetto di un d.b. per una Societa’ di formazione. Le specifiche sui dati (dedotte da: interviste, regolamenti interni, documentazioni /applicazioni … buon senso!) sono in linguaggio naturale e contengono anche info. sul carico dei dati. Esempio di Requisiti Si vuole realizzare un d.b. per una Societa’ di formazione che eroga corsi di cui si vogliono rappresentare i dati dei Partecipanti e dei Docenti. Per i Partecipanti ( 5000) identificati da un codice si vuole memorizzare il codice fiscale, il cognome, l’eta’, il sesso, il luogo di nascita, il nome della Societa’ per cui stanno lavorando, i Posti dove hanno gia’ lavorato, insieme al periodo, indirizzo e #tel., i Corsi che hanno frequentato (#corsi 200), il Giudizio finale e il periodo. Rappresentiamo anche i Seminari che stanno attualmente frequentando e, per ogni giorno, i Luoghi e le ore dove sono tenute le lezioni. I Corsi hanno un codice, un titolo, e possono avere varie edizioni con un certo numero di Partecipanti. Se gli studenti sono liberi professionisti si vuole conoscere l’area di interesse e se lo possiedono il titolo. Di quelli che lavorano per un ente dello Stato si vuole conoscere il loro livello e posizione ricoperta. Per gli insegnanti ( 300) rappresentiamo il nome, l’eta’, il posto dove sono nati, il nome del Corso che insegnano, quelli che hanno gia’ insegnato e quelli che possono insegnare. Rappresentiamo anche i loro recapiti telefonici. I Docenti possono essere dipendenti dalla Societa’ o collaboratori esterni.

65

Page 66: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Ambiguita’ e Imprecisioni:Posto: usato col significato di citta’ e di Societa’;Partecipanti = studenti ?Docenti = insegnanti ?Corsi = Seminari ?titolo = ? Meglio titolo professionaleGiudizio =? Meglio Valutazione in decimi Altre inesattezze ?!

66

Page 67: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

5 Regole per ottenere specifiche sui dati precise e non ambigue facendo riferimento alle specifiche generiche del progetto di D.B. per una Societa’ di formazione (da Atzeni …): 1) Evitare termini generici ...(per es. Giudizio!);2) “ frasi contorte (per es. SOSTITUIRE la

frase “quelli che lavorano per un ente dello Stato” CON “dipendenti statali”);

3) Individuare sinonimi/omonimi e sostituirli con un appropriato sostantivo (per es. docente/insegnante USARE docente, posto/luogo USARE societa’, oppure aula secondo il contesto …);

4) Nessuna ambiguita’ nel riferimento tra termini (come accade nelle 2 prime frasi dell’ esempio);

5) Costruire un Glossario dei termini normalizzati (cfr. +avanti).

Con le modifiche indicate da queste regole si possono riscrivere le specifiche raggruppandole in gruppi di frasi relative agli stessi concetti.

67

Page 68: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Si ottengono le specifiche strutturate indicate di seguito (1 pagina da Atzeni & …).

68

Page 69: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Si raccolgono poi le specifiche sulle operazioni ed il loro volume (informazioni determinanti per il Progetto Logico successivo).Specifiche sulle operazioni e loro volume relative all’ esempio:1) inserimento di un nuovo partecipante (40 volte al

giorno);2) assegnazione di un nuovo partecipante ad una

edizione di corso (50 volte al giorno);3) inserimento di un nuovo docente (2 volte al

giorno);4) assegnazione di un nuovo docente ad una edizione

di corso (15 volte al giorno);5) stampa informazioni sulle edizioni di un corso con

orario lezioni, # partecipanti (10 volte al giorno);6) stampa totale (tutti i corsi con informazioni sui

docenti che possono insegnarli: 20 volte al giorno);

7) per ogni docente trovare tutti i partecipanti ai corsi in cui insegna (5 volte alla settimana);

8) Statistiche sui partecipanti

Quindi avvio alla costruzione dello schema concettuale

69

Page 70: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Trasformazione delle specifiche sui dati in un progetto concettuale con costrutti E-R .Partendo dal presupposto fondamnetale che non ci sono rappresentazioni univoche ossia:1 Realta’ – N Rappresentazioni,la trasformazione comporta:1. Definizione di criteri base di rappresentazione;2. Scelta di una strategia.

1. Criteri base sono:CONCETTO con proprieta’ significative Entita’ altrimenti Attributo;

“ che associa +Entita’ Associazione; CONCETTI che siano particolarita’ di un altro Gerarchie.2. Strategie sono: top- down, bottom-up, (inside-out),

mista.La strategia top- down ha il vantaggio principale dell’ astrazione. Produce lo schema concettuale per raffinamenti successivi a partire da uno schema iniziale completo (lo schema scheletro) con pochi concetti astratti.Nell’ esempio potrebbe essere:

I raffinamenti avvengono considerando le specifiche e le primitive di trasformazione.

70

Partecipante

Partecipaz.

Corso Docenza

Docente

Page 71: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Strategie di trasformazione e primitive di trasformazione: 1 pagina da Atzeni &.….

71

Page 72: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Della strategia Top-Down sono state indicate le primitive di trasformazione usate nel procedimento.Delle altre 2 strategie Bottom-Up e Inside-Out si dira’ solo cio’ che e’ usato nel tipo di strategia piu’ comune: la strategia mista. Bottom-Up: delle specifiche iniziali sono consideratequelle che descrivono un frammento elementare (componente) delle realta’ considerata (caso piu’ semplice: uno dei tipi Entita’, per es. Lezione). Le componenti vengono rappresentate da schemi concettuali elementari poi fusi in schemi concettuali piu’ complessi fino allo schema concettuale finale con un’ integrazione totale delle componenti.

Fase di decomposizione

…….……..Rappresentazioni elementari

… …….…………

Fase di fusione (integrazione)

Vantaggi Strategia Bottom-Up: gli schemi delle varie componenti sono effettuabili da progettisti diversi lavoro collaborativo Svantaggi: l’integrazione puo’ avere grosse difficolta’.

72

Specifiche

Componente1

Componente2

ComponenteN

Componente11

Componente1n Componente2

1

Component.Nn

Uso di Primitive di Trasformazione (con Generazione di Entita’, Associazioni, Generalizzazioni) e Integrazione degli schemi delle varie componenti.

Schema Finale

Page 73: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Strategia Inside-Out:e’ un caso particolare della Strategia Bottom-Up. Si individuano inizialmente alcuni concetti importanti, si procede poi trovando i concetti vicini agli iniziali e cosi’ via andando a trovare quelli meno vicini fino a quelli lontani navigando tra le specifiche.Si procede insomma a macchia d’ olio.Es.

((

Vantaggi No integrazioni difficili; Svantaggi “avanti piano”! NO Astrazione.Strategia mista:ha l’ obiettivo di combinare i vantaggi delle Strategie Top-Down e Bottom-Up.Si suddividono le specifiche in componenti separate, ma si definisce contemporaneamente lo Schema Scheletro (rappresentazione immediata tratta dalle specifiche) contenente i concetti principali dell’ applicazione in una visione unitaria, astratta della realta’ di interesse favorendo l’ integrazione degli schemi separati. Es. Schema Scheletro Soc. di Formazione:

73

Partecipaz.

Corso Docenza

Docente

Impiegato

Progetto

Partec.

Afferenz Dipartimento

(0,N)

(1,N)

(0,1)(1,N)

Page 74: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Dallo Schema Scheletro per la Societa’ di Formazione si puo’ proseguire per raffinamenti successivi dei concetti rappresentati, con Strategie Bottom-Up e/o Inside-Out. E’ questo il tipico modo di procedere della strategia mista che ha come vantaggi: flessibilita’ ed usabilita’ anche quando e’ necessario iniziare la progettazione senza la conoscenza dei dettagli o con conoscenza non omogenea della realta’ di interesse.Secondo Atzeni una metodologia e’ la seguente:1) Analisi dei requisiti NO ambiguita’, SI omogeneizzazione, SI Glossario dei termini.2) Passo Base Schema Scheletro con i concetti piu’

rilevanti3) (*) Passo di decomposizione: decomporre i requisiti (le

Specifiche sui dati) in base ai concetti presenti nello Schema Scheletro

4) passo iterativo per ogni sottoschema cosi’ ottenuto: _ raffinare i concetti presenti con le Specifiche inerenti, _ aggiungere nuovi concetti per rappresentare Specifiche non ancora rappresentate5) (*) Passo di Integrazione: riferendosi allo Schema Scheletro integrare i sottoschemi in uno Schema Generale6) Analisi di qualita’: dello Schema Generale ottenuto verificare: Correttezza, Completezza, Leggibilita’, Minimalita’ (= se le specifiche sono rappresentate una volta soltanto) (*) da effettuare se:

74

Partecipante

Page 75: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

passo 3: e’ opportuno o necessario; passo 5: sono presenti diversi sottoschemi.L’ esempio ! e il relativo Schema E-R Riferendosi allo schema scheletro si analizzano separatamente (passo 3) le Specifiche relative ai Partecipanti, Corsi, Docenti e si procede a macchia d’ olio.Passo iterativo 4) Per Partecipanti e Docenti si tratta semplicemente di considerare i loro tipi e di collegarli con una Associazione apposita. Per esempio: il Partecipante che e’ Dipendente Privato e attualmente lavora in una Societa’ pur avendo lavorato in un’ altra nel passato … come viene trattato ? cfr. da Atzeni & … schema 2o pag. seguente.Passo iterativo 4) per Docenti si tratta semplicemente di considerare la generalizzazione rappresentata nello schema 3o (pag. seguente). Entrambi gli schemi si pongono nello schema scheletro immediatamente. Passo iterativo 4) per i Corsi:si devono considerare 2 concetti: Corso astratto ed Edizione del Corso che inizia alla data x e termina alla data y. Il legame tra i 2 concetti puo’ essere una associazione Tipologia mentre l’ Edizione del Corso, che si compone di z ore di lezione, puo’ essere legata alla Lezione da una associazione Composizione. Si ottiene il primo schema di pag. seguente.Integrando i 3 (sotto)schemi cosi’ ottenuti e corredandoli sempre con cardinalita’ e attributi si ottiene lo schema finale su cui si possono effettuare le analisi di qualita’.

75

Page 76: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

76

Page 77: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

77

Page 78: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Ottenuto lo Schema E-R si passa alla Progettazione Logica il cui obbiettivo e’ lo Schema Logico ottimale.Come si passa dallo Schema E-R allo Schema Logico ?NON si fa una semplice traduzione !Come esempi:1. Entita’ di E-R Relation in R.D.B.M.S, Record di un certo tipo in D.B.M.S Reticolari e/o Gerarchici, ma le Generalizzazioni ??2. La Progettazione logica deve tener conto delle prestazioni delle applicazioni con il fine della loro EFFICIENZA Ristrutturazione dello Schema E-R con

ottimizzazione dell’ efficienza; Traduzione verso lo Schema Logico includendo

ulteriori eventuali ottimizzazioni basate sulle caratteristiche del Modello usato. (Per es. col modello relazionale si puo’ usare la Normalizzazione per verificare se ci sono dipendenza o multidipendenze “nascoste”)

Il prodotto finale della Progettazione Logica e’: lo Schema Logico, i vincoli di integrita’ definiti su di esso, ogni possibile documentazione aggiuntiva.

78

Page 79: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Ottimizzazione dell’ efficienza Prestazioni delle applicazioni e loro valutazione: difficolta’ dovute anche alle caratteristiche fisiche del Sistema di calcolo ed a quelle del DBMS usato.Con riferimento a quanto detto in merito alla Complessita’, si valutano come indicatori delle prestazioni i seguenti parametri: Costo di un’ operazione = # di occorrenze medio di

Entita’ e Relationship da visitare per effettuare l’ operazione,

Occupazione di memoria = # di byte necessario per memorizzaare i dati descritti nello schema.

La definizione di questi parametri (Costo e Memoria) richiede oltre alle informazioni dello Schema le seguenti altre informazioni:a) Volume dei dati: _ n.o medio di E e R dello Schema, _ dimensione di ogni loro attributo.b) Caratteristiche delle operazioni: _ tipo (interattivo/batch), _ frequenza (n.o medio di esecuzioni in un certo tempo T), _ E e R coinvolte.Sia a) che b) possono essere descritti tramite tabelline di 3 tipi diversi qui indicate col loro schema relazionale:

Tavola_dei _volumi(Concetto, Tipo, Volume) Tavola_delle_Operazioni(Operazione, Tipo, Frequenza) Tavola_degli_accessi(Concetto, Costrutto, Accessi, Tipo)Pag. seg. +in dettaglio Tavola_dei _volumi(Concetto, Tipo, Volume)

79

Page 80: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

dove Concetto = Nome di Entita’ o Associa- Rela- zione, Tipo = E / R, Volume = numero delle occorrenze dell’ Entita’ o Asso- -ciazione calcolato (per l’Assoc.) in base alle sue cardinalita’ (1:1 - 0:1 - 1:N o N:M) come appare dagli esempi (dove sono omessi i vari attributi ):

(0,1) (1,N) (1,1) (1,N)

N.o composizioni = N.odipartimenti, data la cardin. (1,1)N.o afferenze = N.o impiegati - 5%in quanto una percentuale di Impiegati non afferisce ad alcun dipartimento, data la cardin. (0,1)Invece le associazioni molti a molti come la seguente: (0,N) (1,N)

hanno un numero che dipende dal N.o medio delle Entita’ coinvolte. Se un Impiegato Partecipa in media a 3 Progetti:N.o Partecipazioni = N.o Impiegati * 3(Media (Impiegati/progetti) = N.o Partecipazioni/ N.o Progetti 12 )Extension della Tavola_dei _volumi: |Concetto Tipo Volume | |---------------------------------------------------------|

|Sede E 10 | |Dipartimen. E 80 | |Impiegato E 2000 | |Progetto E 500 | |Composizio. R 80 | |Afferenza R 2000-100 | |Partecipaz. R 6000 |

Tavola_delle_Operazioni(Operazione, Tipo, Frequenza)

80

Partecipaz

ProgettoImpiegato

Impiegato Afferenza

Dipartimento

Composiz

Sede

Page 81: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

dove: Operazione = Interrogazione/Modifica di Entita’ (per es. Trovare i dati di un impiegato e del Dipartimento ove lavora);Tipo = Operazione Interattiva/Batch;Frequenza = # volte che l’ Operazione deve essere eseguita.

Tavola_degli_accessi(Concetto, Costrutto, Accessi, Tipo)dove: Concetto = Nome di Entita’ o di Relazione; Costrutto = E/R; Accessi = # accessi alla b.d. necessario per l’ esecuzione di ogni operazione; Tipo = Lettura/Scrittura.Quest’ ultima tavola si ottiene dalle precedenti e si ha una Tavola_degli_accessi per ogni operazione serve nella stima (approssimata!) del Costo (cfr. Parte1) dell’ Operazione..

Utilizzo delle Tavole viste nella Ristrutturazione dello Schema E-R.Fasi di ristrutturazione: sono 4 indicate con appunti da Atzeni &…a pagina seguente.La valutazione del N.o di Accessi serve nelle prime 3 Fasi, ma in particolare le Tavole viste intervengono nella Fase 1 ossia nell’ Analisi delle Ridondanze per esaminare la minimalita’ delle E/R, attributi usati nello Schema E-R.In uno Schema E-R come Ridondanza e’ intesa la presenza di un dato derivabile da altri.Si parte con la prima fase di ristrutturazione analizzando le…

… Forme di ridondanza.81

Page 82: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Forme di ridondanza: Importo_netto82

Page 83: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

1. attributi derivabili da altri. Es. “ lordo IVA Uno degli attributi e’ deducibile dagli altri (sommando o sottraendo)2. attributi derivabili da altri di altre Entita’ con

aggregazioni. Es. Importo_Totale Prezzo (1,N) (1,N)

L’ Importo_Totale si puo’ derivare attraverso la Relazione Composizione sommando i prezzi dei Prodotti componenti.3. attributi derivabili da operazioni di conteggio di

occorrenze di Entita’ e/o Relazioni (variante es. precedente e N. abitanti Citta’ dello Schema Lucido seg.)

4. attributi derivabili dalla composizione di altre associazioni in presenza di cicli. Es.

(0,N) (1,N)

(0,N) (1,N) (1,1) (1,1)

Si nota subito che qui c’e’ ridondanza ! L’ associazione Docenza puo’ essere derivata da Frequenza e Insegnamento. Se l’ associazione Docenza fosse sostituita da un’ altra (per es. Tesi) NON derivabile da Frequenza e Insegnamento, il ciclo non genererebbe ridondanze !

Vantaggi & Svantaggi delle ridondanze:

83

Fattura

Docenza

Corso Insegnamento

Prof.

Frequenza

Studente

Acquisti ProdottoComposizione

Page 84: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Il dato derivato e’ calcolato Maggior occcupazione dicon un numero minore di memoria e maggior numero accessi di operazioni per tenere il dato aggiornato.ESEMPIO Numero_Abitanti (1,1) (1,N)

In questo schema il Numero_Abitanti di Citta’ e’ ridondante perche’ il suo valore si puo’ valutare contando le occorenze di Residenza. Si suppone poi che sia definita un’ applicazione anagrafica con le operazioni seguenti:Oper.1 inserisci una nuova Persona con la relativa citta’ di Residenza;Oper. 2 stampa tutti i dati di una citta’ compreso il Numero_Abitanti.I dati di a carico sono:Tavola_dei _volumi(Concetto, Tipo, Volume)

Citta’ E 200Persona E 1000000Residenza R 1000000

Tavola_delle_Operazioni(Operazione, Tipo, Frequenza)Oper.1 I 500/di’Oper.2 I 2/di’

a) con dato ridon.

Si valutano gli indicatori di prestazione b) senza “ “Caso a) Il Numero_Abitanti di una Citta’ richiede 4 byte: il

84

Persona Residenza

Citta’

Page 85: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Numero_Abitanti per le 200 Citta’ richiedono quindi 800 byte ossia meno di 1KB.Per Oper. 1 si ha:Tavola_degli_accessi(Concetto,Costrutto,Accessi, Tipo) Commenti

Persona E 1 Scr. Per inseirire 1 Persona

Residenza R 1 Scr. Per inseirire 1 Persona_Citta

Citta’ E 1 Lett. Per cercare la Citta’

Citta’ E 1 Scr. per increment. il N.o abitanti

Per Oper. 2 si ha:Tavola_degli_accessi(Concetto,Costrutto,Accessi, Tipo) Commenti

Citta’ E 1 Lett. Per accedere alla Citta’ da stampare

Totale Accessi al di’ per Oper. 1 (Oper. 2 trascurabile) 500 in Lettura 3 * 500 in Scrittura = 1500Se si pone 1 Accesso in Scrittura = 2 Accessi in Lettura (#)risulta: Totale Accessi = 3500/di’

Caso b) Il Numero_Abitanti di una Citta’ non e’ salvato risparmio di circa 1KB di memoria. Per Oper. 1 si ha:Tavola_degli_accessi(Concetto,Costrutto,Accessi, Tipo) Commenti

Persona E 1 Scr. Per inseirire 1 Persona

85

Page 86: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Residenza R 1 Scr. Per inseirire 1 Persona_Citta

Non e’ necessario altro non dovendo aggiornare il dato derivato !!Per Oper. 2 si ha:Tavola_degli_accessi(Concetto,Costrutto,Accessi, Tipo) Commenti

Citta’ E 1 Lett. Per accedere alla Citta’ da stampare

Residenza R 5000 (*)

Lett. Per calcolare N.o abit. Citta

(*) 5000 valore della Media = Vol.Residenza/ Vol.Citta’ calcolato dai valori in Tavola_dei _volumi (=1000000/200)

Totale Accessi al di’ per Oper. 12 * 500 = 1000 in Scrittura = 2000 in Lettura (per (#))Totale Accessi al di’ per Oper. 25001 in Lettura * 2/di’ 10000 in LetturaTotale Accessi = 12000/di’Quindi 8500 in piu’ che nel caso a) contro il risparmio di solo 1KB di memoria.CONCLUSIONI:in questo ESEMPIO conviene tenere il dato ridondante !Se l’ Oper.2 fosse stata meno frequente (per es. 2 volte /settimana) in Totale su 6 giorni si sarebbero avuti:3500*6=21000 accessi settimanali con il dato ridondante e2000*6 + 5001*2 22000 senza di quello.DEDUZIONE LOGICA:Importanza della Frequenza Operativa e Importanza dei Volumi di Dati !!Eliminate (o no) le ridondanze si passa alla seconda fase di ristrutturazione con l’ Eliminazione delle Gerarchie =

86

Page 87: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Generalizzazioni. (Una rappresentazione diretta di questo costrutto non e’ prevista nei Modelli logici Relazionale e Reticolare; nel Gerarchico si puo’ realizzare con proliferazione di chiavi composte.)E’ bene trasformare le Generalizzazioni in altri costrutti traducibili in Inter-relazioni (o Set per il Modello Reticolare).Esistono varie alternative possibili: per evidenziarle si parte con una Schema E-R generico con una Generalizzazione (qui ipotizzata totale) ed alcune Inter-relazioni tra Entita’.. A02

A01 .

(x,y)

A11 A21

Figura 7.10 di Basi di DatiLe ristrutturazioni presentate nel lucido seguente estratto sempre da Atzeni &… sono:a) Accorpamento delle Figlie della Generalizzazione del Padre E0

(cfr. Figura 7.11 a) dove e’ stato aggiunto l’ attributo ATIPO per distinguere se l’ occorrenza di E0 apparteneva a E1 o a E2.

b) Accorpamento del Padre della Generalizzazione delle Figlie E1

e E2 (cfr. Figura 7.11 b): qui l’ entita’ E0 e’ stata eliminata ed i suoi attributi ereditati dalle Figlie. Le Inter-relazioni R11 e R12

sono le “restrizioni” di R1 su E1 e E2 rispettivamente.c) Sostituzione della Generalizzazione che (come in Figura 7.11

c) e’ trasformata in due Inter-relazioni RG1 e RG2 di tipo 1:1. Nessun trasferimento di attributi, cardinalita’ inalterate, ma

87

E0 E3R1

R2E1 E2 E4

Page 88: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

nello Schema che si ottiene occorrono vincoli per verificare che:

per E1 , E2 occorrenza E0 occorrenza e per E0 occorrenza una occorrenza in E1 o E2

ed anche che a RG1 non partecipino occorrenze di E2 (e analogamente per R G2).

Altre trasformazioni sono possibili: un esempio e’ in Figura 7.12 nella seconda pagina degli appunti tratti da Atzeni&…Convenienza ristrutturazioni appunti

88

Page 89: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

successivi

89

Page 90: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

90

Page 91: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Terza Fase: Partizionamenti & Accorpamenti di concetti si possono realizzare Decomposizioni (Partizionamenti) verticali e orizzontali.Es. Decomposizione Verticale Livello Stipendio Data_Nascita Ritenute Indirizzo Codice Cognome

Cognome Livello StipendioIndirizzo Codice Codice

(1,1) (1,1)Data_Nascita Ritenute Decomposizione Orizzontale si ha invece sulle occorrenze, per esempio quando si distinguono all’ interno dell’ Impiegato Venditori e Analisti, entrambi con gli stessi attributi di Impiegato, ma usati da operazioni differenti. Anche qui la migliore alternativa NON si puo’ dedurre contando gli accessi, perche’ anche se con le decomposizioni questi aumentano, le Entita’ generate hanno meno attributi e con un solo accesso al disco si possono recuperare molte occorrenze. Altro tipo di decomposizione e’ l’ Eliminazione di Attributi multivalore (es. Telefono) che diventano Entita’ legate da Relaz. (1,N)Accorpamenti: si hanno Eliminando Entita’ legate da Relazioni (1,1) o (0,1) che diventano Attributi, anche se per Relazioni (0,1) occorre controllare se ci sono valori NULL!In molti casi e’ possibile rinviare i Partizionamenti & Accorpamenti alla Progettazione fisica in specie con DBMS che permettono Cluster di relazioni da specificare a livello fisico per Ottimizzare gli accessi !!

91

Impiegato

Dati Anagrafici Lavoro

Dati Impiegato

Dati Lavoro Lavoro

Page 92: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Lavoro dell’ Ottimizzatore !Quarta Fase: Scelta degli Identificatori Principali E’ necessaria in tutti i modelli di dati per determinare le chiavi primarie.Criteri di scelta tra le chiavi candidate:1) identificatore mai NULL; 2) identificatore atomico;3) “ interno; 4) “ usato da molte operazioni un indice creato su di esso rendera’ efficienti molte operazioni. COMUNQUE tener presente le superchiavi ed i concetti di RM/T Model !!(perche’ se tra le candidate nessuna soddisfa i criteri 1-4 si puo’ introdurre un nuovo attributo con funzione di codice-identificatore. Per gli identificatori non scelti si potranno definire indici secondari anche in sede di programmazione fisica.)

Al completamento delle 4 fasi della Ristrutturazione Traduzione verso il modello del DBMS disponibile se DBMS = RDBMS allora Traduz. verso il Relational model

che prevede:1. ogni entita’ Relation (con le specifiche indicate piu’ oltre)2. “ Inter-relazione Relation ?La risposta alla domanda dipende dal tipo di Inter-relazione ed e’:SI se si tratta di un’ associazione N:M (specie se a chiave composta);NI “ “ “ “ “ “ 1:N;Ni “ “ “ “ “ “ 0:1 ( pure in questo caso puo’ far comodo una relation di collegamento purche’ a piccola cardinalita’ per evitare tanti Null . NI quando la cardinalita’minima di un’ Inter-relazione puo’ essere 0: in questo caso e’ preferibile avere una relation di collegamento perche’ altrimenti la relation che implementa l’ Entita’ “opzionale” puo’ avere molti valori NULL sugli attributi di collegamento con l’ altra Entita’ (es. Impiegati-Dipartimenti).Att. ne ai VINCOLI DI INTEGRITA’ ! E RICORDARE:il DB con Supplier, Part, SP ed i 2 possibili Schemi Logici.

92

Page 93: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Specifiche sulle relazioni che implementano Entita’:gli attributi utilizzati possono essere ribattezzati.Es. Avendo: Impiegato(Matricola, Cognome, Stipendio) Progetto(Codice, Nome, Budget) Partecipazione(Matricola, Codice, DataInizio) si puo’ ridefinire Partecipazione nel modo seguente: Partecipazione(Impiegato, Progetto, DataInizio)dove Impiegato e’ definito su un Dominio costituito da Matricola, Progetto su un Dominio costituito da Codici di Progetti. I vincoli di Integrita’ restano inalterati.Perche’ un nuovo nome ? Qui solo per comprensibilita’ piu’ immediata, ma nello schema seguente (Relazione ricorsiva) e’ inevitabile usarli. Quantita’ (0,N) (0,N)

Composto Componente

Codice Costo NomeTraduzione: Prodotto (Codice, Nome, Costo)Composizione (Composto, Componente, Quantita’)dove Composto e Componente contengono Codici di Prodotti che in Composizione hanno ruolo di composto e di componente. (In SQL per nuovi nomi si possono usare alias).Inter-Relazioni che associano Entita’ con Identificatore esterno possono essere rappresentate dalle Relation che implementano le Entita’. Esempio pag. seguente.

93

Composizione

Prodotto

Page 94: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Se si vuole ottenere uno schema con un numero minimo di tabelle occorre accorpare quanto si puo’ anche se cosi’ facendo si incorre nella possibilita’ di introdurre valori NULL. Nello Schema Logico qui sotto l’ accorpamento si attua con le “estensioni” introducendo tra gli attributi di una tabella quelli che identificano l’ altra tabella associata.Quindi seguono lucidi con la ristrutturazione dello schema E_R per la Societa’ di Formazione e il relativo schema logico ottenuto: RIFLETTERE SULLE MODIFICHE !!

94

Page 95: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Esempio: Operazioni ….

95

Page 96: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

…. e schema E-R da ristrutturare (appunti 1 pag. da Atzeni &…)

96

Page 97: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Esempio: Dati di carico (appunti 1 pag. da Atzeni &…)

Segue: Progetto E-R ristrutturato e Schema logico relazionale 1 pag. da Atzeni &…

97

Page 98: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

98

Page 99: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Basi di dati a oggetti (cenni)Tra le attuali tendenza dei DBMS e’ interessante quella che accentua l’ aspetto dell’ astrazione dei tipi di dati ossia considera le modalita’ del paradigma Object Oriented. Negli anni ‘80 Ian Brasnley (Information Builder …Focus) indicava gli RDBMS come tappa transitoria verso gli OOMS per la gestione di dati di tipo complesso.Il paradigma O.O. si basa sulla definizione dei tipi di dati astratti e delle classi di Oggetti.Come si definisce un Tipo di dato astratto ? per esempio il tipo pila? La definizione del tipo pila si chiarisce con l’indicazione dell’ algoritmo LIFO di gestione tipico della pila per un Tipo di dato astratto e’ importante definire: la struttura dati (proprietà statiche); le proprietà dinamiche (gli algoritmi usati per la relativa

gestione) ossia gli operatori associati al tipo detti metodi.Quindi il Tipo astratto e’ definito sia in senso statico con la sua struttura che dinamico con i suoi metodi. Al Tipo astratto è associata una classe di Oggetti ciascuno con il proprio Valore.Un OODBMS ha funzionalita’ e caratteristiche di: un sistema di programmazione O.O. “ “ “ gestione di basi di dati.OODBMS risulta +complesso dei DBMS. Perche’ ? Come esempio si puo’ pensare ad un OORDBMS il Tid = OID puo’ riferirsi al singolo oggetto, ma anche alla classe che deve essere identificata come classe di appartenenza dell’ oggetto. La classe individua anche i metodi relativi all’ oggetto.

99

Page 100: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

OORDBMS deve controllare che l’ oggetto sia usato solo con i metodi definiti nella sua classe di appartenenza e che la sua mobilita’ sia relativa alle sole classi che lo possono condividere Sicurezza maggioreIn realta’ nella definizione O.O. di un DBMS ci sono state 2 impostazioni diverse che pero’ hanno prodotto strumenti non tanto diversi.La prima e’ partita dalle caratteristiche dei linguaggi di programmazione O.O. per arrivare a produrre OODBMS. Questi, come O2 della Societa’ Tecnology, seguono le specifiche e le proprieta’ definite come obbligatorie ed opzionali dal consorzio Object Data Base Management Group gia’ negli anni ’80. I relativi linguaggi di definizione ed interrogazione contengono costrutti come interface, attribute, select, … desunti sia da linguaggi O.O. sia da SQL.La seconda impostazione e’ partita dagli RDBMS per arrivare a ORDBMS ossia Sistemi Relazionali ad Oggetti come SQL:1999. Questo e’ simile alle versioni precedenti di SQL con estensioni alla creazione di tipi, di riferimenti anche gerarchici, di insiemi, … e poi con la frase select opportunamente potenziata. Questa linea e’ seguita anche da Oracle con la sua estensione a Oggetti. In Oracle esistono anche Strumenti per gestire Oggetti che possono essere distribuiti. Si tratta di CORBA ed EJB componenti implementate in Java ed eseguibili entro il d.b. Oracle. CORBA e’ l’ acronimo di Common Object Request Broker Architecture ossia Architettura per la gestione di richieste a Oggetti condivisi.

100

Page 101: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

L’ obiettivo e’ garantire l’accesso ad ogni Oggetto da parte di Client remoti che devono conoscerne solo il nome e l’ interfaccia. Un altro esempio di OODBMS e’ GemStone presentato negli anni ‘80 ad un convegno dell’Associazione Italiana Calcolo Automatico (AICA).

Progettazione in ambiente Web (cenni)Come già indicato, la “progettazione di applicazioni Web” riparte dal ciclo di vita del software ponendo l’ accento sull’ interazione con gli utenti. Questi sono suddivisi in classi così come coloro che operano sull’ applicazione.La “progettazione di siti Web” consiste nel progettare sia un documento ipertestuale relativo al sito da presentare in Internet (organizzandone la struttura in pagine consultabili a partire da una home_page), sia la base di dati che deve fornire le informazioni richieste. L’ ipertesto realizza l’ interfaccia dell’ applicazione che utilizza il d.b. con le informazioni tipiche integrate a concetti utili per la pubblicazione in Internet.Lo schema concettuale del d.b. deve contenere oltre alle Entità e Relazioni Tipiche dell’ applicazione, anche:“ “ “ che permettano l’ Accesso alle precedenti, “ “ “ per effettuare Connessioni (navigazione)“ “ “ per Collegare l’ utente alle Entità e Relazioni relative alla sua Vista.Lo Schema concettuale del d.b. é così divisibile in 4 sottoschemi ciascuno contenente i concetti che servono a rappresentare le Entità e Relazioni Tipiche, a permetterne l’ Accesso, le Connessioni, le Personalizzazioni.

101

Page 102: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Per il solito d.b. Supplier-Part con le Table S, P, SP per la pubblicazione del catalogo delle Parti si potra’ avere uno Schema Scheletro formato da Parti (P) e Notizie(N) collegate tra loro da una Relazione Riferimento che avrà la funzione di Sottoschema di Connessione. Quello di accesso potrà essere formato da Notizie e Espressione (E) collegate da una Relazione Lingua. Il Sottoschema Applicativo conterrà le Entità e Relazioni Tipiche ossia Supplier (S) collegata a P da SP (Parti fornite). Il Sottoschema di Personalizzazione potrà riferirsi a Classi di Clienti collegate a Parti da una Relazione Offerta.

La realizzazione dell’ applicazione Web richiede la costruzione: della base di dati seguendo la schema concettuale E-R delle pagine Web

Per il d.b. si possono riscontrare casi diversi secondo il richiesto utilizzo dei dati con:_ creazione ex-novo del d.b._ uso di d.b. replicati se i dati esistono in d.b. locali e deve esserne creata una copia per l’ applicazione o copie periodiche per gli aggiornamenti_ accesso diretto ai d.b. centrali con opportune interfacce.

102

Notizie Riferimento.

Parti Offerta

Clienti

Lingua

SP

SupplierEspressione

Page 103: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

La costruzione delle pagine Web passa per la progettazione di un ipermedia/ipertesto relativo al sito dell’ applicazione e puo’ essere simile a quella del d.b. relativo allo stesso sito.La differenza è che il documento ipertestuale é di natura gerarchica e spesso unidirezionale: dalla home_page del sito si deve passare alle pagine delle sue componenti e delle sottocomponenti … con tutti i rispettivi attributi. Quindi occorre un modello concettuale per la sua progettazione diverso da E_R che non è gerarchico. Però mentre il modello E_R per la progettazione concettuale del d.b. è ormai uno standard, per la progettazione concettuale degli ipertesti non c’è uno standard. Atzeni & …(nel testo del 2003 a pag.159 e seg.) presentano un modello chiamato WebML (Web Modelling Language) che descrive la struttura di una Vista del Sito considerandola in modo gerarchico suddivisa in Aree (sottoaree), Pagine contenenti Unità (Unit) collegabili con insiemi di Link che connettono Unit e/o Pagine.Tra le pagine è importante la home page che viene mostrata come prima all’ utente. WebML definisce altre Unit come: le entry Unit per l’inserimento di dati; le data Unit per la pubblicazione di un singolo oggetto; le Multidata Unit per la pubblicazione di un insieme di oggetti; le Index Unit per la pubblicazione di un elenco di oggetti tra cui sceglirene uno … E’ evidente che si deve individuare la corrispondenza tra i dati del d.b. del sito e la struttura logica del documento ipertestuale.

103

Page 104: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Procedendo in parallelo nel progetto del documento e del d.b. la corrispondenza logica tra le entita’ presenti nel d.b. e nel documento non dovrebbe porre problemi essendo riconoscibili le Entita’ presenti cui si possono associare pagine di presentazione. Avendo un progetto del sito consistente col progetto E_R del relativo d.b. da gestire, l’ integrazione sara’ piu’ facile.Una volta specificato l’ ipertesto a livello concettuale con WebMail, resta il problema della sua costruzione: quale meccanismo usare?Non è un problemone! L’ ipertesto può essere realizzato usando per esempio la tecnica piu’ elementare ossia la costruzione di un programma che funzioni da CGI di cui si sono gia’ visti gli esempi e/o ricorrendo alle JSP e/o alle altre tecniche già descritte. Comunque per maggiori informazioni e dettagli consultare il testo di Atzeni & ….

104

Page 105: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Modello reticolare (cenni)Terminologia del CODASYL (Comitato Data System Language)Architetettura dei Sistemi a 3 livelli: Schema fisico, Logico, Sottoschema (wiew).Tipi di dati: DATA ITEM Dato atomico elementare (Attributo, Campo);RECORD Insieme di DATA ITEM, rappresentato da

Es. con esemplari: , … SET Associazione tra RECORD con proprio nome: puo’ essere di tipo 1:1, 1:N, N:M. Dstingue: RECORD OWNER e RECORD MEMBER implicando una GERARCHIA, ma NON una struttura del tutto GERARCHICA.Es.Tipo Set Esemplare OWNER

ES-STUD (SET) MEMBER ed anche con tutti i dettagli come: Identificatori (#matr. Stud., CodeEsame), NomeStud, NomeMateria, Date, Fac., Voto …

…ma la rete ? dov’e’ il Network Model ?105

Studente Paolo Ros Pia Verdi

Studente

Esame

Paol Ros

MatematicaFisica

Informatica

Page 106: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Appare con l’ esempio seguente:

OWNER OWNER STUD-M ES-M

MEMBER MEMBER

Un RECORD MEMBER puo’ avere piu’ OWNER e servire da collegamento ! QUINDI: Struttura Reticolare (Grafo):

ES-M STUD-M S-Tax A-Tasse …

Visione Modello CODASYL o Reticolare:il d.b. appare come una piramide: il vertice o Punto di entrata e’ detto System: Tipo RECORD senza informazioni, ma usato nei collegamenti.

System

Segue un esempio 1 pag. tratta da Date del progetto e dello schema Logico del d.b. Parti, Fornitori, Forniture espresso nel linguaggio tipico di un DBMS reticolare, nell’ esempio di IDMS (Integrate D.B. System) della Computer Associate. Sono indicate le specifiche di riferimento all’ implementazione che non dovrebbero apparire nello schema Logico.

106

Studente Esame

Media

StudenteEsame

Media

Amministr.

Tasse

Page 107: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

107

Page 108: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Modello gerarchico (cenni)Al primo impatto il d.b. appare come un prisma diviso a fettine ossia un insieme di esemplari tutti dello stesso tipo di Albero a N rami o anche un insieme di registrazioni logiche (RECORD o SEGMENTO) concatenate ad Albero.

Nell’ Albero si distinguono: il segmento padre Parent ed i Segmenti Figli.Un esempio di DBMS gerarchico e’ IMS/VS (Information Management System/Virtual Storage) della IBM: la rappresentazione che segue ha la relativa descrizione nello Schema Logico D.B.D. (d.b. Description) tipico di IMS.

DBD Name = PersonaleSEGM Name = Persona, Byte = …Field Name = Code, Byte = …Field Name = Nome, Byte = ……

108

Persona: Code, Nome, …

Occupazione: Field1, 2,… Figlio: …, …

Studi:…, …

Page 109: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

SEGM Name = Occupazione, Parent = Persona, Byte = …Limiti del Modello Gerarchico:le specifiche di riferimento all’ implementazione appaiono nel DBD ed inoltre e soprattutto nella visione data ci sarebbero grossi problemi per le associazioni di tipo N:M. Un tipico esempio riguarda le automobili coinvolte in un incidente. Memorizzando l’ albero con Parent Automobile e tra i figli anche gli incidenti in cui l’ Automobile e’ stata coinvolta sarebbe semplice trovare gli incidenti di una data Automobile, mentre occorrerebbe scorrere tutto il data base per ritrovare tutte le Automobili coinvolte in un dato Incidente. Col modello indicato si ha ASIMMETRIA di trattamento. QUINDI il modello e’ stato esteso con l’introduzione di puntatori e 2 tipi di Albero: uno con Parent Automobile e tra i Figli un tipo puntatore all’ altro tipo di Albero con Parent Incidente e tra i Figli un tipo puntatore all’ Albero Automobile.A livello di rappresentazione il prisma appare diviso in 2 porzioni (le cui fettine sono collegate da puntatori reciproci) ciascuna relativa ad uno dei 2 tipi di albero considerato; a livello di schema logico si hanno 2 DBD e per nascondere le modalita’ di implementazione si introduce la nozione di Albero logico (come appare) contrapposta a quella di Albero fisico (come e’ implementato). Nell’ esempio: Albero logico e’ quello con Parent Automobile e tra i Figli gli incidenti o quello con Parent Incidente e tra i Figli le Automobili; l’ Albero fisico ha i puntatori.Seguono le possibili realizzazioni degli alberi in IMS/VS: fotocopia da Date, 1 pagina.

109

Page 110: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

110

Page 111: Aunina.stidue.net/Universita' di Trieste/Ingegneria... · Web viewAppunti su data base. di: Anna Maria Carminelli Gregori. Progettazione fisica & Schema Fisico. Basi di Dati Distribuite

Anna Maria Carminelli Gregori: Appunti su d.b. parte3 A.A. 2003-04

Appendice parte 3

Schema di architettura dei DBS relativa all’ accesso al d.b. estendibile anche al contesto client-sever (da Atzeni &… Fig. 9.1 - 10.1 ed. 1999).Nell’ ultima ed. 2003 gli schemi di Atzeni &… sono in una forma diversa, sullo stile di quello riportato a pag. 8 di DB20034P1. Ho preferito questo tipo di rappresentazione (arricchendola con la Tabella dei Lock), per la sua completezza nella schematicità.

( * ) Tra gli ALTRI MODULI ci sono l’ Ottimizzatore (a monte del Gestore dei Metodi di accesso) ed il Controllore dell’ affidabilita’ con procedure di ripristino in caso di malfunzionamento (a valle).

Fine Parte 3.

111

ALTRI

MODULI ( * ) DBS

Sche-duler

BufferMana-ger

Gestore Metodi di Accesso

Scan Manager

B+TreeManager

Primitive del File_ System e/o del D.B.M.S.

d.b.

LOG

Tab.dei lock