Anteprima
Vedrai una selezione di 10 pagine su 84
Appunti di Gestione dell'Informazione Pag. 1 Appunti di Gestione dell'Informazione Pag. 2
Anteprima di 10 pagg. su 84.
Scarica il documento per vederlo tutto.
Appunti di Gestione dell'Informazione Pag. 6
Anteprima di 10 pagg. su 84.
Scarica il documento per vederlo tutto.
Appunti di Gestione dell'Informazione Pag. 11
Anteprima di 10 pagg. su 84.
Scarica il documento per vederlo tutto.
Appunti di Gestione dell'Informazione Pag. 16
Anteprima di 10 pagg. su 84.
Scarica il documento per vederlo tutto.
Appunti di Gestione dell'Informazione Pag. 21
Anteprima di 10 pagg. su 84.
Scarica il documento per vederlo tutto.
Appunti di Gestione dell'Informazione Pag. 26
Anteprima di 10 pagg. su 84.
Scarica il documento per vederlo tutto.
Appunti di Gestione dell'Informazione Pag. 31
Anteprima di 10 pagg. su 84.
Scarica il documento per vederlo tutto.
Appunti di Gestione dell'Informazione Pag. 36
Anteprima di 10 pagg. su 84.
Scarica il documento per vederlo tutto.
Appunti di Gestione dell'Informazione Pag. 41
1 su 84
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

UNION

L’integrazione degli schemi locali genera un’unione, dove tramite GAV gli attributi locali sono

relazionati nello schema globale: viene inoltre codificata eventuale conoscenza di dominio

(come caratteristiche sui dati), dipendente grazie all’interazione diretta di esperti di dominio

e data integrator.

Nell’esempio, il fatto che S1 contenga dati di prog esperti in DB ed S2 contenga dati di prof

italiani, viene codificato tramite l’inserimento di valori di default relativamente agli attributi

area (“DB”) e country (“ITA”) rispettivamente nelle tuple prese dalle tabelle opposte.

2. LAV (Local-as-View) – lo schema globale è costruito indipendentemente dagli schemi locali,

realizzato da un esperto data integrator. L’approccio è basato sull’idea che il contenuto di

ogni schema è descritto in termini di una vista sullo schema globale. Il mapping LAV specifica

come i dati locali (reali) contribuiscono agli elementi globali (virtuali). Di seguito l’esempio

con le tabelle usate per GAV: 48

Mettendo a confronto i due tipi di mapping, otteniamo le seguenti differenze:

 Nel LAV lo schema globale è costruito a priori, nessun tool di supporto è associato a questi

sistemi, inoltre la gestione delle query risulta più difficile rispetto a GAV. È più semplice

inserire nuove sorgenti dati, poiché basta semplicemente definire un nuovo mapping

(ovvero una vista).

 Nel GAV sono forniti tool di supporto alla costruzione semi-automatica dello schema globale,

con gli associati schema mapping. La gestione delle query è più intuitiva, poiché basta

scriverla utilizzando la vista globale in termini di schemi locali. È però più complessa

l’aggiunta di nuove sorgenti, in quanto può affliggere i mapping esistenti e quindi richiedere

una riscrittura completa.

Per questi motivi è più utilizzato il GAV del LAV.

6.2.1 – Analisi della Publishing Phase GAV

Gli schemi globali possono essere rappresentati con schemi relazionali, linguaggi object-oriented

oppure linguaggi semistrutturati/XML-based: consideriamo gli schemi relazionali.

La costruzione dello schema globale è basata sull’identificazione, l’analisi e la risoluzione di conflitti

tra le diverse sorgenti locali: 49

 Schema matching – identificazione di concetti semanticamente correlati in diversi schemi

locali, basata sulla capacità di implementazione di tecniche che possono identificare dati

simili in sorgenti diverse. L’obiettivo è identificare conflitti in terminologie, strutture, formati

di dati e significati caratterizzanti i dati salvati in ogni sorgente. Le tipologie di conflitto sono:

a. Sinonimi, concetti con nomi differenti ma stesso significato in sorgenti diverse;

b. Omonimi, concetti con nomi uguali ma diverso significato in sorgenti diverse.

c. Rappresentazioni diverse della stessa informazione;

 Schema unification – risoluzione dei conflitti tra concetti semanticamente correlati in un

unico concetto globale, definito come unica rappresentazione globale. Viene creata una

rappresentazione unificata dei concetti in conflitto trovati con lo schema matching,

attraverso la creazione di mapping su cui costruire lo schema globale.

50

 GAV mapping – creazione dello schema globale, dove i concetti globali sono mappati nei

corrispondenti concetti locali semanticamente correlati, da cui derivano. Per ogni elemento

dello schema globale:

a. Definizione nome globale, ovvero unificazione dei corrispondenti concetti locali

usando un nome tra essi o uno generico;

b. Definizione attributi globali, ovvero l’unificazione degli attributi correlati nei concetti

locali;

c. Definizione del GAV mapping, per specificare come ogni elemento globale

corrisponde a quelli locali da cui derivano.

51

Per integrare i diversi schemi di sorgenti diverse utilizzo modelli di dati a livello middleware, come

ad esempio schema ER.

Per disambiguare gli omonimi si applica il nome più specifico, per i sinonimi si cerca il nome più

appropriato, per le rappresentazioni si mantengono quelle più ricche. Gli attributi frammentati si

ricompongono in attributi unici, mentre per la risoluzione dei vincoli di integrità si mantiene il meno

restrittivo. 52

ESERCIZIO GAV – Publishing Phase

53

54

6.2.2 – Analisi della Querying Phase GAV

Questa fase permette la sottomissione di query formulate sullo schema globale, effettuando le

opportune operazioni per suddividere una query tra tutte le sorgenti e ottenere un risultato globale

come composizione dei risultati locali. Questa fase si suddivide in:

1. Query rewriting – riscrittura della query globale in base alle sorgenti locali, grazie all’utilizzo

della mapping table. Vengono generate un set di query locali.

A partire dalla query globale, vengono analizzati gli attributi ed associati ai relativi attributi

locali, come scritto nella mapping table, e create le opportune query locali. Ad esempio:

2. Local query execution – le query generate al passo precedente vengono sottomesse ai siti

locali dai rispettivi wrapper, i quali restituiscono i risultati per la fase successiva. Esempio:

55

3. Mediated query execution – i risultati ottenuti vengono quindi ricomposti, rimappando gli

attributi locali con quelli globali (attribute renaming e value conversion), e poi effettuare il

merge tra le istanze comuni (object fusion) ed ottenere il risultato globale della query

sottomessa.

a) Attribute renaming: processo opposto al query rewriting, tramite la mapping table

si compongono gli attributi locali per creare quelli globali.

b) Data transformation: i dati dalle sorgenti vengono trasformati nel formato globale.

56

c) Object fusion: le istanze dello stesso oggetto comuni tra diverse query locali devono

essere identificate ed unite per generare la risposta globale alla query di partenza

senza fornire dati duplicati, ovvero è quel meccanismo di riconoscimento delle tuple

che si riferiscono agli stessi oggetti in sorgenti diverse. Si utilizzano tecniche basate

sul join approssimato: vi è una JoinMap table che definisce il criterio di join con cui

confrontare le istanze di due diverse relazioni R e R’, contiene quindi la codifica dei

match scelti per riconoscere le istanze comuni.

i. Join esatto (diretto): le chiavi locali k e k’ sono omogenee e matchano, per cui

diventano attributi del join per la JoinMap e la condizione dell’equijoin su k e

k’ diventa la condizione per riconoscere le istanze corrispondenti di R e R’;

ii. Join approssimato (indiretto): gli attributi x e x’ del join sono definiti dal

designer (Data analist/integrator) diventando quindi gli attributi per la

JoinMap. Il predicato di similarità su x e x’ diventa la condizione per

riconoscere le istanze corrispondenti di R e R’. Questo paio di valori

corrispondenti di x e x’ è esplicitamente inserito nella JoinMap table.

La differenza tra questo join ed il precedente è che non viene ricercata una

coincidenza forzata sui valori, si considera la similarità.

Esempio: 57

Il risultato globale finale della query è quindi costruito come proiezione (select) sull’istanza ottenuta

tramite outer join tra i risultati delle query locali. Esempio:

I sistemi di Data Integration sono complessi, vengono costruiti a partire da una conoscenza della

struttura dei vari DB locali considerati. Gli accessi allo schema globale sono limitati alle sole

operazioni di lettura (read-only), mentre le scritture, per ragioni di consistenza, sono eseguite

localmente: sarebbe costosissimo e gravosa una propagazione di scritture.

58

Esercizio su Data Integration

59

60

ESAME:

- Domande a risposta chiusa su teoria e lab;

- Esercizio su gestione transazioni: questa T è conflict-serializable? Se si, qual è lo schedule seriale

equivalente?

- Esercizio su recovery: effettuare il recupero dato un file di log;

- Dare lo schema di frammentazione o allocazione, data una query;

- Trovare il piano di esecuzione della query che minimizza i costi (conoscendo i dati);

- Dato schema relazionale dare uno schema di frammentazione. coerenza > giustezza

- Esercizio su data integration: date due relazioni ed alcuni dettagli sui dati, costruire lo schema

globale GAV.

1:30/2:00 H 61

Matteo Seragiotto Appunti di

Laboratorio di Gestione dell’Informazione

A.A. 2017/2018

1 – Gli account SYS e SYSTEM

Oracle suddivide la creazione delle tabelle dall’amministrazione del sistema, tramite due utenti

principali:

 SYS, ovvero il proprietario di tutte le tabelle di sistema. Possiede due tipi di privilegi:

o SYSOPER, che esegue

 STARTUP e SHUTDOWN;

 ALTER DATABASE OPEN/MOUNT/BACKUP

 ALTER DATABASE ARCHIVELOG

 ALTER DATABASE RECOVER (solo recovery completo)

o SYSDBA

 Possiede tutti i permessi di SYSOPER

 CREATE DATABASE

 DROP DATABASE

 SYSTEM, l’amministratore con privilegi DML (Data Manipulation Language), che può eseguire

operazioni di INSERT e UPDATE sulla tabelle di SYS.

2 – Interfaccia e connessione

L’interfaccia predefinita è quella a linea di comando, che riceve comandi di tipo SQL, PL/SQL e

comandi specifici SQL*Plus.

Si avvia da un prompt/terminale, includendo anche l’username:

sqlplus username[/password]

oppure posticipando la connessione all’istanza:

sqlplus /nolog

la connessione ad Oracle si esegue tramite la seguente sintassi:

CONN[ECT] [{username[/password][@connect_identifier]}]

Quindi per connettere l’utente system al database chiamato xe sulla macchina locale il comando

sarà: CONNECT system@xe

La disconnessione si effettua con DISCONNECT

3 – Struttura di un Database Oracle

 Istanza: insieme di processi e strutture di memoria per la gestione di uno ed un solo DB

SELECT instance_name, host_name, version FROM v$instance

SGA (System Global Area) è lo

spazio di memoria gestito

dall’istanza dove:

o Shared Pool è lo spazio

di memoria riservato

alla gestione dei

comandi SQL;

o Large Pool è lo spazio

di memoria dedicato al

backup/ripristino.

La comunicazione tra istanze di

DB Oracle avviene tramite

l’utilizzo di un livello di rete

proprietario chiamato TNS

(Transparent Network Substrate), il quale si appoggia a tecnologie come TCP/IP.

Ogni istanza di Oracle deve essere configurata ed associata ad un nome TNS (esattamente

come ogni host in una rete TCP/IP deve essere associato ad un indirizzo IP).

 Database: spazio fisico su disco dove vengono memorizzati i dati. Può essere gestito da più

istanze.

 Tablespace: suddivisione ulteriore del database

SELECT tablespace_name FROM dba_data_files

Oracle memorizza u

Dettagli
A.A. 2017-2018
84 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher matteo.seragiotto di informazioni apprese con la frequenza delle lezioni di Gestione dell'informazione e basi di dati e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Milano o del prof Castano Silvana.