Informationsintegration SchemaSQL - PowerPoint PPT Presentation

1 / 53
About This Presentation
Title:

Informationsintegration SchemaSQL

Description:

... (MDBMS) Volle Autonomie Keine bekannte Kooperation Keine Kommunikation untereinander Keine Interoperation untereinander m glich Integration nur in neuer, ... – PowerPoint PPT presentation

Number of Views:19
Avg rating:3.0/5.0
Slides: 54
Provided by: informatik150
Category:

less

Transcript and Presenter's Notes

Title: Informationsintegration SchemaSQL


1
InformationsintegrationSchemaSQL
  • 29.11.2005
  • Felix Naumann

2
Überblick
  • Wiederholung
  • Strukturelle Heterogenität
  • Multidatenbanken
  • SchemaSQL
  • Basis-Syntax
  • Aggregation
  • Umstrukturierung
  • Architektur und Implementierung

3
Strukturelle Heterogenität
  • Datenmodell-Heterogenität
  • Relationales Modell
  • XML Modell
  • OO Modell
  • Hierarchisches Modell
  • Schematische Heterogenität
  • Integritätsbedingungen, Schlüssel,
    Fremdschlüssel, etc.
  • Struktur (Attribut vs. Relation etc.)

4
Schematische Heterogenität
  • Struktur
  • Modellierung
  • Relation vs. Attribut
  • Attribut vs. Wert
  • Relation vs. Wert
  • Benennung
  • Relationen
  • Attribute
  • Normalisiert vs. Denormalisiert
  • Geschachtelt vs. Fremdschlüssel

SchemaSQL
SQL
5
Schematische Heterogenität
Männer( Id, Vorname, Nachname) Frauen( Id,
Vorname, Nachname)
Relation vs. Attribut
Person( Id, Vorname, Nachname,männlich,
weiblich)
Relation vs. Wert
Attribut vs. Wert
Person( Id, Vorname, Nachname,
Geschlecht)
6
Schematische Heterogenität - Lösungen
  • Problem
  • Einheitlich auf beide Schemas zugreifen
  • Auf Schemaebene Schema Mapping und
    Schema-Sprachen
  • Auf Datenebene Virtuelle Integration
  • Beide Schemas in eine gemeinsames neues Schema
    integrieren
  • Auf Schemaebene Schemaintegration
  • Auf Datenebene Materialisierte Integration
  • Für die materialisierte Integration
  • Schemaintegration
  • ETL
  • Für die virtuelle Integration
  • Schema-Sprachen
  • Z.B. SchemaSQL, MSQL, CPL
  • Lose Kopplung, Multidatenbanken
  • Schema Mapping
  • Z.B. Clio, RONDO, u.a.
  • Enge Kopplung, föderierte Datenbanken

7
Schematische Heterogenität Lösungen
  • SchemaSQL LSS96, LSS99, LSS01
  • Erweiterung von SQL
  • Daten und Metadaten werden gleich behandelt
  • Umstrukturierungen innerhalb der Anfrage
  • Dynamische Sicht-Definition
  • Horizontale Aggregation

SELECT RelA FROM uniA-gtRelA, uniARelA A,
uniBgrundgehalt B WHERE RelA B.institut AND
A.Kategorie Student AND A.grundgehalt gt
B.Student
High-order Join
8
Schematische Heterogenität Lösungen (Ausblick)
  • Schema Mapping
  • ARTICLE
  • artPK
  • title
  • pages
  • AUTHOR
  • artFK
  • name
  • PUBLICATION
  • pubID
  • title
  • date
  • author

SELECT artPK AS pubID title AS title null AS
date name AS author FROM ARTICLE,
AUTHOR WHERE ARTICLE.artPK AUTHOR.artFK
9
Überblick
  • Wiederholung
  • Strukturelle Heterogenität
  • Multidatenbanken
  • SchemaSQL
  • Basis-Syntax
  • Aggregation
  • Umstrukturierung
  • Architektur und Implementierung

10
Aut2, Dist0, Het1
  • Multidatenbanksystem (MDBMS)
  • Volle Autonomie
  • Keine bekannte Kooperation
  • Keine Kommunikation untereinander
  • Keine Interoperation untereinander möglich
  • Integration nur in neuer, integrierender
    Komponente.
  • Z.B. DBMS und WWW Server auf einer Maschine
  • Nicht zur Interoperation entwickelt
  • DBMS spricht kein http, WWW spricht kein SQL

11
Enge vs. lose Kopplung
  • Enge Kopplung
  • Festes, integriertes/föderiertes Schema
  • Modelliert mit Korrespondenzen
  • Feste Anfragesprache
  • Lose Kopplung
  • Kein festes Schema
  • Nutzer müssen Semantik der Quellen kennen
  • Integrierte Sichten helfen
  • Feste Anfragesprache
  • SchemaSQL LSS01
  • (Multidatabase query language (MDBQL) LMR90)

12
Import-/Export-Schema-Architektur nach HM85
lokales konzeptionelles Schema
Idee Nur Teilmenge des lokalen konzeptionellen
Schemas wird der Föderation zur Verfügung
gestellt.
Idee Nur Teilmengen der Exportschemas sollen
verwendet werden.
13
4-Schichten Architektur
Anwendungen (müssen selbst integrieren)
Externes Schema 1
Externes Schema N
...
Konzeptionelles Schema
Konzeptionelles Schema
Lokale DBMS
...
Lokales konzept. Schema
Lokales konzept. Schema
Internes Schema
Internes Schema
...
14
Multidatenbanksprachen
  • Anforderungen
  • Schemaunabhängigkeit
  • Struktur darf nicht Ausdrucksfähigkeit
    beeinflussen.
  • Umstrukturierung
  • Anfrageergebnisse müssen neue Struktur erhalten
    können.
  • Verständlichkeit und doch Ausdrucksfähigkeit
  • Abwärtskompatibilität mit SQL
  • Implementierbar
  • Ohne Veränderung des DBMS
  • Bzw. mit nur minimalen Veränderungen des DBMS

15
SchemaSQL LSS01
  • Features
  • Erweiterung von SQL
  • Daten und Metadaten werden gleich behandelt
  • Umstrukturierungen innerhalb der Anfrage
  • Daten zu Metadaten und umgekehrt
  • Daten Tupel und Attributwerte
  • Metadaten Attributnamen, Relationennamen,
    Datenbanknamen
  • Dynamische Sicht-Definition
  • Struktur des Ergebnisses abhängig von aktuellem
    Zustand der Datenbank
  • Horizontale Aggregation
  • Über mehrere Spalten hinweg
  • Unterstützung für Multidatenbanken

16
Schematische Heterogenität
Männer( Id, Vorname, Nachname) Frauen( Id,
Vorname, Nachname)
Relation vs. Attribut
Person( Id, Vorname, Nachname,männlich,
weiblich)
Relation vs. Wert
Attribut vs. Wert
Person( Id, Vorname, Nachname,
Geschlecht)
17
Überblick
  • Wiederholung
  • Strukturelle Heterogenität
  • Multidatenbanken
  • SchemaSQL
  • Basis-Syntax
  • Aggregation
  • Umstrukturierung
  • Architektur und Implementierung

18
SchemaSQL Syntax
  • Erweiterung von SQL
  • Standard SQL
  • Variablendeklaration in FROM Klausel
  • Variablenverwendung in SELECT und WHERE Klauseln

Abkürzung bei Eindeutigkeit
ltrangegt
ltvargt (alias)
ltvargt
Attribut
19
SchemaSQL Syntax
  • Erweiterung von SQL
  • Anforderungen
  • Unterscheidung von mehreren DBs, jeweils mit
    mehreren Relationen
  • Metadaten Variablendeklarationen nicht nur für
    Tupelmengen
  • Aggregation nicht nur vertikal über ein Attribut

20
SchemaSQL Syntax
  • Variablendeklaration über
  • Datenbanknamen
  • Relationen in einer Datenbank
  • Attributnamen einer Relation
  • Tupel einer Relation
  • Werte eines Attributs
  • Deklaration durch ltrangegt ltvargt
  • Wichtiger Unterschied Geschachtelte
    Deklarationen
  • Alle Tupel aller Relationen einer Datenbank

Frage Welcher der 5 ist Standard SQL?
Standard SQL
21
SchemaSQL Syntax
  • Variablendeklaration ltrangegt ltvargt
  • ltrangegt
  • -gt Iteration über alle Datenbanknamen
  • db-gt Iteration über alle Relationen in db
  • dbrel-gt Iteration über alle Attribute in rel
    (in db)
  • dbrel Iteration über alle Tupel in rel (in db)
  • dbrel.attr Iteration über alle Werte von
    Attribut attr (in rel und db)
  • Präfixe können bei Eindeutigkeit weggelassen
    werden.
  • ltvargt
  • Konstante (ein beliebiger Name)
  • Variable, falls wiederum als Variablendeklaration
    definiert

22
SchemaSQL Beispiel
  • Multidatenbank über mehrere Universitäten
  • univ-A, univ-B, univ-C, univ-D
  • Information über Angestellte
  • Kategorie (category)
  • Gehalt (salInfo, salFloor)
  • Abteilung (dept)

23
SchemaSQL Beispiel
24
SchemaSQL Beispiel
25
SchemaSQL Beispiel
26
SchemaSQL Anfragen
  • Gesucht
  • Alle Abteilungen in univ-A, die Technikern mehr
    zahlen als in gleichen Abteilungen von univ-B
  • Anforderungen
  • Selektionen jeweils auf Technician
  • Vergleich der Gehälter
  • Join zwischen beiden Tabellen
  • Verschiedene DBs
  • Über welches Attribut?

27
SchemaSQL Anfragen
  • Gesucht
  • Alle Abteilungen in univ-A, die Technikern mehr
    zahlen als in gleichen Abteilungen von univ-B
  • SchemaSQL Anfrage
  • SELECT A.deptFROM univ-AsalInfo
    A, univ-BsalInfo B, univ-BsalInfo -gt AttB
    WHERE AttB ltgt categoryAND A.dept
    AttBAND A.category Technician
    AND B.category TechnicianAND A.salFloor gt
    B.AttB

Alle Attributnamen
Join zwischen Attributnamen und Spaltenwerten
Frage Ist dies im Sinne GaV oder LaV?
28
SchemaSQL Anfragen
  • SELECT A.deptFROM univ-AsalInfo
    A, univ-BsalInfo B, univ-BsalInfo-gt AttB
    WHERE AttB ltgt categoryAND A.dept
    AttBAND A.category Technician
    AND B.category TechnicianAND A.salFloor gt
    B.AttB

-gt alle Datenbanknamen db-gt alle Relationen
in db dbrel-gt alle Attribute in rel (in
db) dbrel alle Tupel in rel (in
db) dbrel.attr alle Werte von Attribut attr
29
SchemaSQL Anfragen
  • Gesucht (wie eben)
  • Alle Abteilungen in univ-C, die Technikern mehr
    zahlen als in gleichen Abteilungen von univ-D
  • Anforderungen
  • Selektionen jeweils auf Technician
  • Vergleich der Gehälter
  • Join zwischen beiden Tabellen
  • Verschiedene DBs
  • Über welches Attribut?

30
SchemaSQL Anfragen
  • Gesucht (wie eben)
  • Alle Abteilungen in univ-C, die Technikern mehr
    zahlen als in gleichen Abteilungen von univ-D
  • SchemaSQL Anfrage
  • SELECT RelCFROM univ-C-gt RelC, univ-CRelC
    C, univ-DsalInfo D WHERE RelC
    D.deptAND C.category Technician
    AND C.salFloor gt D.Technician

Tabellenname als Ausgabe
Geschachtelte Variablen
Join zwischen Relationennamen und Spaltenwerten
Iteration über Tupel beider Tabellen in univ-C
31
SchemaSQL Anfragen
Alle Relationen in univ-C
  • SELECT RelCFROM univ-C-gt RelC, univ-CRelC
    C, univ-DsalInfo DWHERE RelC
    D.deptAND C.category Technician
    AND C.salFloor gt D.Technician

Alle Tupel in allen Relationen
-gt alle Datenbanknamen db-gt alle Relationen
in db dbrel-gt alle Attribute in rel (in
db) dbrel alle Tupel in rel (in
db) dbrel.attr alle Werte von Attribut attr
32
Überblick
  • Wiederholung
  • Strukturelle Heterogenität
  • Multidatenbanken
  • SchemaSQL
  • Basis-Syntax
  • Aggregation
  • Umstrukturierung
  • Architektur und Implementierung

33
SchemaSQL Herkömmliche Aggregation
  • AVG, COUNT, SUM, MIN, MAX, (STDDEV, VARIANCE)
  • SELECT AVG(Budget) FROM projekt
  • SELECT SUM(p.Budget), MAX(p.Budget) FROM
    mitarbeiter m, projekt pWHERE m.p_id
    p.p_idAND m.Nachname Schmidt
  • SELECT COUNT()FROM mitarbeiter
  • Aggregation ist vertikal Werte einer Spalte
    werden zusammengefasst
  • SELECT m.name, SUM(p.Budget), MAX(p.Budget) FROM
    mitarbeiter m, projekt pWHERE m.p_id
    p.p_idGROUP BY m.id
  • Aggregation ist vertikal Teilmengen (Gruppen)
    von Werten einer Spalte werden zusammengefasst

34
SchemaSQL Aggregation
  • Gesucht
  • Durchschnittliches Gehalt aller Gruppierungen
    über alle Abteilungen hinweg.
  • Anforderungen
  • Durchschnittbildung über alle Werte zweier
    Spalten
  • Horizontale (und vertikale) Aggregation
  • SchemaSQL Anfrage
  • SELECT T.category, avg(T.D)FROM univ-BsalInfo
    -gt D, univ-BsalInfo TWHERE D ltgt category
    GROUP BY T.category

35
SchemaSQL Aggregation
  • Gesucht
  • Durchschnittliches Gehalt aller Gruppierungen
    über alle Abteilungen hinweg.
  • Anforderungen
  • Durchschnittbildung über alle Werte zweier
    Spalten in zwei Relationen
  • Horizontale (und vertikale) Aggregation
  • SchemaSQL Anfrage
  • SELECT T.category, avg(T.salFloor)FROM
    univ-C -gt D, univ-CD TGROUP BY D.category

Iteration über alle Tupel aller Relationen
36
Überblick
  • Wiederholung
  • Strukturelle Heterogenität
  • Multidatenbanken
  • SchemaSQL
  • Basis-Syntax
  • Aggregation
  • Umstrukturierung
  • Architektur und Implementierung

37
SchemaSQL Umstrukturierung
  • Gesucht
  • Umstrukturierung der Daten aus univ-B in das
    Schema von univ-A
  • Anforderung
  • Trennung
  • Definition des Outputschemas
  • Umstrukturierung der Daten
  • SchemaSQL Anfrage
  • CREATE VIEW BtoAsalInfo(category, dept,
    salFloor) ASSELECT T.category, D, T.DFROM
    univ-BsalInfo -gt D, univ-BsalInfo
    TWHERE D ltgt category

38
SchemaSQL Umstrukturierung
  • Gesucht
  • Umgekehrt Umstrukturierung der Daten aus univ-A
    in das Schema von univ-B
  • Anforderung
  • Dynamische Schemaerzeugung
  • Ich weiß nicht im Voraus welche Attribute das
    Ergebnis haben wird.
  • SchemaSQL Anfrage
  • CREATE VIEW AtoBsalInfo(category, D) ASSELECT
    A.category, A.salFloorFROM univ-AsalInfo
    A, A.dept D

Iteration über Attributwerte
39
SchemaSQL Aggregation
  • Durchschnittliches Gehalt aller Angestellten pro
    Fakultät
  • Anforderung
  • Aggregation über einen Block
  • SchemaSQL
  • SELECT F.fname, AVG(T.C)FROM univ-DsalInfo -gt
    C, univ-DsalInfo T, univ-Dfaculty FWHERE
    C ltgt deptAND T.dept F.dnameGROUP BY F.fname

faculty
dname fname
math Arts and sciences
physics Arts and sciences
cs Engineering
40
SchemaSQL Umstrukturierung Aggregation
  • Durchschnittliches Gehalt aller Angestellten pro
    Fakultät und Kategorie
  • Anforderung
  • Aggregation über Block
  • Umstrukturierung
  • SchemaSQL
  • CREATE VIEW averagesalInfo(faculty, C)
    ASSELECT U.fname, AVG(T.C)FROM
    univ-DsalInfo -gt C, univ-DsalInfo
    T, univ-Dfaculty UWHERE C ltgt deptAND
    T.dept U.dnameGROUP BY U.fname
  • Outputschema
  • salInfo(faculty, Prof, AssocProf, Technician)

faculty
dname fname
math Arts and sciences
physics Arts and sciences
cs Engineering
41
SchemaSQL Umstrukturierung Aggregation
  • Durchschnittliches Gehalt aller Angestellten pro
    Fakultät und Type
  • Anforderung
  • Aggregation über mehrere Blöcke
  • Vertikal über dept
  • Horizontal über category
  • Umstrukturierung
  • SchemaSQL
  • create view averagessalInfo(faculty, Y)
    asselect U.fname, avg(T.C)from
    univ-DsalInfo-gt C, univ-DsalInfo T,
    univ-Dfaculty U, univ-DempType E,
    E.type Ywhere C ltgt "dept" and
    T.dept U.dname and E.category Cgroup
    by U.fname
  • Outputschema
  • salInfo(faculty, Teaching, Technical,
    Administrative)

faculty
dname fname
math Arts and sciences
physics Arts and sciences
cs Engineering
empType
category type
Prof Teaching
AssocProf Teaching
Technician Technical
Secretary Administrative
42
SchemaSQL Umstrukturierung Aggregation
create view averagessalInfo(faculty, Y)
asselect U.fname, avg(T.C)from
univ-DsalInfo-gt C, univ-DsalInfo T,
univ-Dfaculty U, univ-DempType E,
E.type Ywhere C ltgt "dept" and
T.dept U.dname and E.category Cgroup
by U.fname
43
Überblick
  • Wiederholung
  • Strukturelle Heterogenität
  • Multidatenbanken
  • SchemaSQL
  • Basis-Syntax
  • Aggregation
  • Umstrukturierung
  • Architektur und Implementierung

44
Implementierung
  • Anforderung
  • Non-intrusive
  • Minimaler Eingriff in vorhandene SQL DBMS
  • (Optimierung)
  • Metadatenverwaltung

45
Implementierung
Metadaten
5
6
7
1
2
3
3
4
4
46
Anfragebearbeitung
  • Phase 1
  • Variablen der FROM Klausel instanziieren
  • VITs (Variable instantiation table)
  • Verwendung der Metadatenbank
  • FST (Federation System Table)
  • Schema FST(dbname, relationname, attributename)
  • Phase 2
  • SchemaSQL Anfrage umschreiben
  • Umgeschriebene Anfrage auf instanziierten
    Variablen ausführen

47
Anfragebearbeitung Beispiel
  • Phase 1 Anfragen direkt an einzelne DBMS
  • VITRelC(RelC)
  • SELECT DISTINCT relnameFROM FSTWHERE dbname
    univ-C
  • Anfrage an Metadaten
  • VITC(RelC, CsalFloor)
  • Bindings für ri SELECT RelC FROM VITRelC
  • SELECT r1 AS RelC, salFloor AS CsalFloorFROM
    r1WHERE category Technician UNION ...
    UNIONSELECT rn AS RelC, salFloor AS
    CsalFloorFROM rnWHERE category
    Technician
  • Anfrage direkt an univ-C!
  • VITD(Ddept, Dtechnician)
  • SELECT dept AS Ddept, technician AS
    DtechnicianFROM salInfo
  • Anfrage direkt an univ-D!

SELECT RelC, salFloorFROM univ-C-gt
RelC, univ-CRelC C, univ-DsalInfo
DWHERE RelC D.deptAND C.category
Technician AND C.salFloor gt D.Technician
FST(dbname, relname, attname)
48
Anfragebearbeitung Beispiel
  • VITRelC(RelC)
  • (Math), (CS)
  • VITC(RelC, CsalFloor)
  • (CS, 42.000), (Math, 46.000)
  • VITD(Ddept, Dtechnician)
  • (CS, 40.000), (Math, 38.000)

49
Anfragebearbeitung Beispiel
  • Phase 2
  • Idee
  • VITs sind in internem SQL Server materialisiert
  • SchemaSQL Anfrage umschreiben, so dass Ergebnis
    nur mittels der VITs erzeugt werden kann.

50
Anfragebearbeitung Beispiel
  • Erzeuge JoinedVIT
  • Natural Join über alle VITs Damit Tupel der
    gleichen DB zusammenbleiben
  • CREATE VIEW JVIT(RelC, CsalFloor, Ddept,
    Dtechnician) ASSELECT VITRelC.RelC,
    VITC.CsalFloor, VITD.Ddept, VITD.DtechnicianFROM
    VITRelC, VITC, VITDWHERE VITRelC.RelC
    VITD.DdeptAND VITC.CsalFloor gt
    VITD.DtechnicianAND VITRelC.RelC VITC.RelC

SELECT RelC, salFloorFROM univ-C-gt
RelC, univ-CRelC C, univ-DsalInfo
DWHERE RelC D.deptAND C.category
Technician AND C.salFloor gt D.Technician
Schon bei Erzeugung der VITs
51
Anfragebearbeitung Beispiel
  • Nochmal die JVIT
  • CREATE VIEW JVIT(RelC, CsalFloor, Ddept,
    Dtechnician) ASSELECT VITRelC.RelC,
    VITC.CsalFloor, VITD.Ddept, VITD.DtechnicianFR
    OM VITRelC, VITC, VITDWHERE VITRelC.RelC
    VITD.DdeptAND VITC.CsalFloor gt
    VITD.DtechnicianAND VITRelC.RelC VITC.RelC
  • Erzeuge endgültige Anfrage
  • Projektionen, Sortierungen, etc.
  • SELECT RelC, CsalFloorFROM JVIT

52
Rückblick
  • Wiederholung
  • Strukturelle Heterogenität
  • Multidatenbanken
  • SchemaSQL
  • Basis-Syntax
  • Aggregation
  • Umstrukturierung
  • Architektur und Implementierung

53
Literatur
  • Wichtigste Literatur
  • LSS01 Laks V. S. Lakshmanan, Fereidoon Sadri,
    Subbu N. Subramanian SchemaSQL An extension to
    SQL for multidatabase interoperability. ACM
    Trans. Database Syst. 26(4) 476-519 (2001)
  • Dies ist eine Zusammenfassung der beiden unten
    genannten paper.
  • Weitere Literatur
  • LSS96 Lakshaman, Sadri, Subramanian SchemaSQL
    A Language for Interoperability in Relational
    Multidatabase Systems, in VLDB 1996
  • LSS99 Lakshaman, Sadri, Subramanian On
    Efficiently Implementing SchemaSQL on a SQL
    Database System, in VLDB 1999
Write a Comment
User Comments (0)
About PowerShow.com