Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Appunti di Informatica, Appunti di Informatica

Appunti di Informatica - Integrazione

Tipologia: Appunti

2015/2016

Caricato il 22/10/2021

amila.fernando92
amila.fernando92 🇮🇹

5

(5)

6 documenti

1 / 34

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
1
1
Sistemi Informativi
Prof. Matteo Golfarelli
Alma Mater Studiorum - Università di Bologna
Integrazioni di basi di dati
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22

Anteprima parziale del testo

Scarica Appunti di Informatica e più Appunti in PDF di Informatica solo su Docsity!

1

Sistemi Informativi

Prof. Matteo Golfarelli

Alma Mater Studiorum - Università di Bologna

Integrazioni di basi di dati

3

I motivi

 Lo sviluppo di un sistema informativo è di tipo incrementale ed

evolutivo e quindi il suo risultato è un mosaico composto da più

frammenti ognuno dei quali utilizza la tecnologia in voga al momento

della sua realizzazione e che modella la realtà esistente in quel

momento

 Per operare efficacemente con le informazioni è necessario che:

 Il modello della realtà utilizzato sia consistente e veritiero (problema del divario percettivo ).  I dati siano consistenti e corretti.

 Il raggiungimento di questo ambizioso risultato necessita di un

processo di integrazione , pulizia e trasformazione dei dati che può

richiedere un elevato dispendio di tempo e di risorse.

Aspetti intensionali ed estensionali

 Con il termine di integrazione si indicano l’insieme di attività atte a

costruire una versione integrata e consistente del sistema informatico.

 Integrazione dello schema: operazione a livello intensionale che rende consistenti gli schemi dei diversi moduli.  Trasformazione dei dati: operazione a livello estensionale che trasforma i dati degli schemi locali nei dati dello schema globale.  Pulizia dei dati: operazione a livello estensionale che controlla ed elimina eventuali inconsistenze ed errori.

7

Architettura per il SI integrato

 La presenza di un livello di dati integrato modifica l’architettura del SI

 Le applicazioni operano su viste dello schema integrato che può essere:  Virtuale: viene definita solo la meta conoscenza necessaria a ottenere le informazioni sullo schema globale. Queste saranno create solo quando richieste mediante interrogazioni eseguite sugli schemi locali. Questa soluzione è quella maggiormente utilizzata (es. SI distribuiti, SI confederati, SI eterogenei).  Materializzato: i dati vengono trasformati e memorizzati in versione duplicata. Questa soluzione viene utilizzata per esempio nei sistemi DW.

8

Architettura per il SI integrato

 A causa della complessità dell’operazione non è sempre possibile ottenere un unico schema globale; talvolta può essere sufficiente creare poche porzioni integrate a partire da molti schemi locali.

 Master Data Management (MDM) : l’integrazione è limitata ai dati aziendali critici

9

Analisi e normalizzazione

 Durante la fase di analisi il progettista, confrontandosi con gli esperti

del dominio applicativo, deve verificare la completezza degli schemi

locali, sforzandosi di individuare eventuali correlazioni

involontariamente omesse:

 Esplicitazione di dipendenze funzionali precedentemente tralasciate  Individuazione di nuove associazioni tra le entità.

 Le trasformazioni apportate allo schema non devono però introdurre

nuovi concetti (assenti nei dati presenti sulle sorgenti), bensì

esplicitare tutti quelli ricavabili dai dati memorizzati nelle sorgenti

operazionali.

 Lo schema concettuale delle sorgenti rappresenta senz’altro il risultato

principale dell’analisi, e deve essere espresso mediante lo stesso

formalismo per tutte le sorgenti. Dove assente esso deve essere

ricavato per reverse engineering.

10

Analisi e normalizzazione

Aggiunta di informazione

13

Equivalenza dei costrutti del modello

 I formalismi di modellazione permettono di rappresentare uno stesso

concetto utilizzando combinazioni diverse dei costrutti a disposizione.

 La diversità è puramente di tipo sintattico: le due modellazioni sono perfettamente equivalenti.

14

Equivalenza dei costrutti del modello

 I formalismi di modellazione permettono di rappresentare uno stesso

concetto utilizzando combinazioni diverse dei costrutti a disposizione.

 La diversità è puramente di tipo sintattico: le due modellazioni sono perfettamente equivalenti.

15

Incompatibilità delle specifiche

 Si verifica quando due schemi modellano una stessa porzione del

dominio applicativo e racchiudono concetti diversi, in contrasto tra loro.

Tale diversità deriva normalmente da errate scelte progettuali che

possono coinvolgere per esempio la scelta dei nomi, dei tipi di dati e

dei vincoli di integrità.

 I due schemi sono incompatibili poiché quello in quello di sinistra un professore può tenere al più un corso mentre in quello di destra deve tenerne almeno due.

16

Concetti comuni

 È necessario definire il tipo di relazione semantica esistente tra concetti comuni modellati diversamente in schemi distinti. Quattro sono le possibili relazioni esistenti tra due distinte rappresentazioni R 1 e R 2 di uno stesso concetto:  Identità: vengono utilizzati gli stessi costrutti, il concetto è modellato dallo stesso punto di vista e non vengono commessi errori di specifica; in altre parole quando R 1 e R 2 coincidono.  Equivalenza: R 1 e R 2 non sono esattamente le stesse poiché sono stati utilizzati costrutti diversi (ma equivalenti) e non sussistono errori di specifica o diversità di percezione.  Comparabilità: R 1 e R 2 non sono né identici né equivalenti, ma i costrutti utilizzati e i punti di vista dei progettisti non sono in contrasto tra loro.  Incompatibilità : R 1 e R 2 sono in conflitto a causa dell’incoerenza nelle specifiche. In altre parole la realtà modellata da R 1 nega la realtà modellata da R 2.  A esclusione della situazione di identità, i casi precedenti determinano dei conflitti la cui soluzione rappresenta la componente principale nella fase di integrazione.



 Def. Si verifica un conflitto tra due rappresentazioni R 1 e R 2 di uno stesso concetto ogniqualvolta le due rappresentazioni non sono identiche.

19

Le fasi dell’integrazione

 Risolvere i problemi fin qui elencati ed evidenziare le proprietà che

emergono a seguito dell’integrazione degli schemi locali richiede un

complesso insieme di operazioni, per la cui corretta gestione è

necessario adottare una metodologia. Le molte metodologie proposte

in letteratura concordano sulla sequenza di passi che devono essere

svolti e che possono essere così sintetizzati:

 Preintegrazione: comprende la fase di analisi e di scelta della strategia di integrazione.  Comparazione degli schemi: durante questa fase gli schemi locali vengono confrontati per evidenziare i conflitti e i concetti correlati.  Allineamento degli schemi: durante questa fase il progettista deve risolvere i conflitti precedentemente individuati.  Fusione e ristrutturazione degli schemi: gli schemi resi coerenti possono essere fusi a creare un unico schema globale.

Strategie di integrazione

 Indicano l’ordine con cui si procederà all’integrazione degli schemi.

 Tecniche ennarie : processo di integrazione considera più di due schemi contemporaneamente  Tecniche binarie: il processo di integrazione considera sempre coppie di schemi. Le tecniche binarie sono dette a scala quando i nuovi schemi sono integrati allo schema temporaneo determinato fino a quel momento.

Strategie di integrazione

 L’approccio binario rende ogni passo di integrazione più semplice

grazie al ridotto numero di concetti coinvolti contemporaneamente.

 Con l’approccio ennario ogni concetto viene analizzato avendo a

disposizione contemporaneamente tutte le informazioni che lo

caratterizzano; inoltre con le tecniche ennarie si diminuisce il numero

totale di comparazioni tra concetti poiché ognuno di essi viene

analizzato una sola volta.

 Utilizzando una tecnica binaria a scala è possibile definire l’ordine

con cui i diversi schemi sorgenti andranno esaminati e aggiunti allo

schema riconciliato; normalmente si preferisce iniziare dalle sorgenti

che costituiscono il “cuore” del sistema informativo e la cui

integrazione definirà lo scheletro dello schema riconciliato.

Comparazione degli schemi

 Questa fase consiste in un’analisi comparativa dei diversi schemi che

mira a identificare le correlazioni e conflitti tra i concetti in essi

espressi. La sua efficacia dipende dalle conoscenze acquisite dal

progettista rispetto al dominio applicativo e alla struttura delle sorgenti

informative.

 I conflitti che possono essere evidenziati appartengono a 4 categorie:

 Conflitti di eterogeneità : indicano le discrepanze dovute all’utilizzo di formalismi con diverso potere espressivo negli schemi sorgenti (es. E/R e UML).  Conflitti sui nomi: si verificano a causa delle differenze nelle terminologie utilizzate nei diversi schemi sorgenti:

  • Omonimie: lo stesso termine viene utilizzato per denotare due concetti diversi
  • Sinonimie: due nomi diversi denotano uno stesso concetto.

 Mentre le omonimie possono essere individuate da una semplice

comparazione dei concetti che presentano gli stessi nomi in schemi

diversi, per riconoscere eventuali sinonimi è necessaria una

conoscenza approfondita del dominio applicativo.

Comparazione degli schemi

 I conflitti strutturali sono causati da scelte diverse nella modellazione di uno stesso concetto, oppure dall’applicazione di differenti vincoli di integrità. Possono essere classificati in quattro categorie.  I conflitti di tipo si verificano quando uno stesso concetto è modellato utilizzando due costrutti diversi.  I conflitti di dipendenza che si verificano quando due o più concetti sono correlati con dipendenze diverse in schemi diversi.  I conflitti di chiave si verificano quando per uno stesso concetto vengono utilizzati identificatori diversi in schemi diversi.  I conflitti di comportamento si verificano quando diverse politiche di cancellazione/modifica dei dati vengono adottate per uno stesso concetto in schemi diversi.

26

Allineamento e fusione degli schemi

 Con il termine allineamento degli schemi si intende l’eliminazione dei

conflitti in essi presenti tramite l’applicazione di trasformazioni agli

schemi sorgenti o allo schema riconciliato temporaneamente definito:

 Cambio dei nomi  Cambio dei tipi degli attributi (intero, float, testo).  Modifica delle dipendenze funzionali.  Modifica dei vincoli esistenti sugli schemi.

 La soluzione dovrà essere fatta in modo da evitare perdite di

informazioni:

intero vs float → float uno-a-uno vs uno-a-molti → uno-a-molti

27

Allineamento e fusione degli schemi

 Attenzione però a non eliminare importanti vincoli del sistema per

poter includere situazioni impossibili.

 In caso di incertezza è conveniente preferire le trasformazioni che

avvantaggiano gli schemi che si ritengono più centrali nella struttura

del futuro schema riconciliato. La strategia migliore è allora quella

binaria a scala , in cui è possibile iniziare l’integrazione a partire dagli

schemi ritenuti più importanti che formeranno il nucleo dello schema

riconciliato.



 Non sempre i conflitti possono essere risolti poiché derivano da

inconsistenze di base del sistema informativo; in questo caso la

soluzione deve essere discussa con gli utenti che dovranno fornire

indicazioni su quale interpretazione del mondo reale basarsi.

28

I principi della fusione

 Completezza : dopo la sovrapposizione degli schemi sorgenti risulteranno evidenti ulteriori proprietà inter-schema che non si erano evidenziate in precedenza. Il progettista deve quindi esaminare lo schema fin qui costruito alla ricerca di nuove proprietà che potranno essere esplicitate inserendo nuove associazioni, gerarchie di generalizzazione.

 Minimalità : la sovrapposizione di più schemi può generare una forte ridondanza dei concetti che, sebbene espressi in modo univoco negli schemi sorgenti, risultano duplicati o comunque derivabili l’un l’altro in quello riconciliato. Altre comuni fonti di ridondanza sono le relazioni cicliche tra i concetti e gli attributi derivati

31

Integrazione di schemi: un esempio

32

Integrazione di schemi: un esempio

33

Integrazione di schemi: un esempio

34

Il mapping

 Il risultato dell’analisi delle sorgenti operazionali finalizzata all’integrazione è composto da due elementi: lo schema riconciliato e il mapping ossia l’insieme di corrispondenze tra gli elementi presenti negli schemi sorgenti e quelli dello schema destinazione.

 Le funzioni di mapping vengono utilizzate ogniqualvolta si debba eseguire sui database locali una interrogazione espressa sullo schema riconciliato.

 GAV ( Global-As-View ): a ogni concetto dello schema globale deve essere associata una vista il cui significato è definito in base ai concetti che risiedono sugli schemi sorgenti.

 Riduce l’estensibilità dello schema riconciliato poiché l’aggiunta di una nuova sorgente richiederà la modifica di tutti i concetti dello schema globale che la utilizzano.

 Facilita la modalità di definizione delle interrogazioni poiché per capire quali concetti degli schemi sorgenti sono coinvolti sarà sufficiente sostituire a ogni concetto dello schema globale la definizione della vista che lo definisce rispetto ai concetti sugli schemi locali ( unfolding ).

37

LAV: un esempio

// DB Riconciliato ORDINI(chiaveO, chiaveC, data ordine, impiegato) CLIENTE(chiaveC, piva, nome, indirizzo, città, regione, stato, tel, fatturato) ................

// DB1 Magazzino CRETE VIEW CLIENTE AS SELECT chiaveC, nome, indirizzo, città, regione, stato FROM DB.CLIENTE;

CREATE VIEW ORDINI2001 AS SELECT * FROM DB.ORDINI WHERE data > ‘31/12/2000’ and data > ‘‘1/1/2002’’

La definizione delle sorgenti locali è semplice ma come faccio a esprimere le interrogazioni dallo schema globale a quello locale?

38

Pulizia dei dati

 Con il termine pulizia dei dati ( Data Cleaning o Data Cleansing o Data Scrubbing ) si intende l’insieme delle operazioni atte a garantire la consistenza e la correttezza dei dati presenti nel livello riconciliato.

 Le principali cause di inconsistenza nei dati sono le seguenti:  Errori di battitura. Sono sempre possibili se al momento dell’inserimento non sono previste procedure di controllo dei valori inseriti (per esempio, il controllo di correttezza del codice fiscale).  Differenza di formato dei dati dello stesso campo. Si verifica ogniqualvolta l’informazione memorizzata in un campo non sia rigidamente strutturata. “I”, “IT”, “Italia” “The Coca-Cola Company”, “Coca Cola”, “Coca-Cola Co.”  Inconsistenza tra valori e descrizione dei campi. Si verifica a causa dell’evoluzione del modo di operare in azienda o dal variare delle abitudini di vita che rendono indispensabile una informazione di cui non era prevista la memorizzazione.

39

Pulizia dei dati

 Inconsistenza tra valori di campi correlati. Si verifica quando i valori presenti in due o più campi sono singolarmente corretti ma tra loro inconsistenti.

città = 'Bologna', regione = 'Lazio‘

 Informazioni mancanti. Quando le applicazioni del sistema operazionale consentono di non riempire alcuni dei campi, la fretta e lo scarso interesse verso un dato spingono spesso l’operatore a tralasciarne l’inserimento.  Informazioni duplicate. Si presentano quando due sorgenti forniscono la stessa informazione ma i record utilizzano chiavi diverse.

40

Tecniche basate su dizionari

 Con questo termine si indicano le tecniche di verifica della correttezza dei valori di un campo basate su tabelle di riferimento ( look-up table ) e dizionari per la ricerca di abbreviazioni e sinonimi.  Sono applicabili solo quando il dominio del campo è conosciuto e limitato.

 Le tecniche basate su dizionari possono essere applicate anche a più campi contemporaneamente al fine di verificare eventuali inconsistenze tra due campi correlati. Per esempio, avendo a disposizione una tabella di riferimento che riporta le regioni italiane e, per ognuna di esse, l’elenco delle città che vi appartengono, è possibile verificare se i campi città e regione di un indirizzo sono tra loro consistenti.

Coca Coca cola (^) Coca cola