3. Grundlagen des Relationenmodells

Werbung
3.GrundlagendesRelationenmodells
Vorlesung"Informationssysteme"
Sommersemester2017
Gliederung
§ KonzeptezurDatenmodellierungimRelationenmodell(RM)
• NormalisierteRelationen
• Primärschlüssel,Fremdschlüssel,Nullwerte
§ AbbildungERMà RM
• Entity- undRelationship-Mengen
• Generalisierung
• Aggregation
§ Relationenalgebra
• KlassischeMengenoperationen
• Relationenoperationen
• MotivationderAnfrageoptimierung(Rewrite-Regeln)
• ErweiterungenderRelationenalgebra
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
2
KonzeptezurDatenmodellierung
§ Datenstruktur"Relation"*(auch:Tabelle)
• einzigeDatenstruktur(nebenatomarenWerten)
• alleInformationenausschließlichdurchWertedargestellt
• zeitinvarianteTypinformation:Relationenschema
• Integritätsbedingungenauf/zwischenRelationen:relationale
Invarianten
§ Beziehungen
• sindstetsexplizit,binärundsymmetrisch
• werdendurchWertedargestellt:RollevonPrimär-/Fremdschlüssel
è Entwurfstheorie(sieheKapitel4)
• Normalformenlehre,SynthesevonRelationen
* Dr. E.F. Codd described the relational model of data – one firmly grounded in predicate logic and
mathematics – in a series of papers published between 1969 and 1981. He was named an IBM fellow in
1976 and received the highest technical honor in computing, the Turing award, in 1981.
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
3
Relationenmodell – Grundkonzepte
§ Definition:NormalisierteRelation
R(A1, A2, …, An) ⊆ W(A1) ☓ W(A2) ☓ … ☓ W(An)
Di
Untermenge
Dj
Dk
des kartesischen Produktes
§ Relationenschema
• NamederRelation,Attribute,Wertebereiche (Domänen)
• Attributesindatomar,d.h.nureinfacheWertebereiche
• Primärschlüssel(einfachoderzusammengesetzt)– optional!
- eindeutigundminimal(sieheER-Modell)
• 𝑠𝑠𝑠𝑠𝑠(𝑅𝑅) oder𝓡𝓡 bezeichnetdieMengederAttributederRelation𝑅𝑅
§ Relation(Ausprägung)
• Teilmengedeskart.ProduktesderWertebereiche
• Relationenelementeheißen"Tupel"
§ RelationisteineMenge
• GarantiederEindeutigkeitderTupel
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
4
SchemanotationundTabellendarstelllung
§ Schemanotation(textuell):
Relation:{[A1:W(A1),...,Ak:W(Ak),...An:W(An)]}
§ DarstellungsmöglichkeitfürRelation:n-spaltigeTabelle
§ Beispiel:
FB:{[FBNR:string,FBNAME:string,DEKAN:integer]}
PROF:{[PNR:integer,PNAME:string,FBNR:string,FACHGEBIET:string]}
FB
PROF
FBNR
FBNAME
DEKAN
PNR
PNAME
FBNR
FACHGEBIET
FB9
Wirtschaftswissenschaften
4711
1234
Härder
FB5
Datenbanksysteme
5678
Wedekind
FB9
Informationssysteme
Informatik
2223
4711
Müller
FB9
Operations Research
6780
Nehmer
FB5
Betriebssysteme
2223
Richter
FB5
Expertensysteme
FB5
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
5
EigenschaftenderTabellendarstellung
§ Vorsicht!TabelleistnureineDarstellungsform!
§ EsgeltenfolgendeGrundregeln*
• JedeZeile(Tupel)isteindeutig undbeschreibteinObjektder
Miniwelt
• DieOrdnungderZeilenistohneBedeutung;durchihre
ReihenfolgewirdkeinefürdenBenutzerrelevanteInformation
ausgedrückt
• DieOrdnungderSpaltenistohneBedeutung,dasieeinen
eindeutigenNamen(Attributnamen)tragen
• JederDatenwertinnerhalbeinerRelationisteinatomares
Datenelement
• AllefürdenBenutzerbedeutungsvollenInformationensind
ausschließlichdurchDatenwerte ausgedrückt
(*) Codd, E.F.: A Relational Model of Data for Large Shared Data Banks,
in: Comm. ACM 13:6, June 1970, pp. 377-387.
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
6
DarstellungvonBeziehungen
§ InformationsdarstellungimRM
• ausschließlichdurchWerteeinesW(Ai)inRelationen
§ WiewerdenBeziehungendargestellt?
• (Evtl.zusammengesetzter)AttributwerteineTupelsenthält
Primärschlüsselwerteines(anderen)Tupels
• EinsolchesAttribut(odereineAttributkombination)wird
Fremdschlüssel genannt
- Fremdschlüssel istinBezugaufPrimärschlüssel/Schlüsselkandidateiner
Relationdefiniert(gleicherDefinitionsbereich)
- PaarevonFremdschlüsselundPrimärschlüssel/Schlüsselkandidatenmit
gleichenDomains
- mansagtauch:derFremdschlüsselreferenziertdenPrimärschlüssel
• Beziehungensinddadurchwertbasiert undsymmetrisch!
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
7
BeziehungenimRelationenmodell
§ ImSchemadiagramm:
• PfeilvomFremdschlüssel(FS)zumPrimärschlüssel
§ Beispiel:
FB
FB
FBNR
FBNAME
DEKAN
PROF
PNR
PNAME
Informationssysteme2017
FBNR
FBNR
FBNAME
DEKAN
FB9
Wirtschaftswissenschaften
4711
FB5
Informatik
2223
FACHGEBIET
PROF
PNR
PNAME
FBNR
FACHGEBIET
1234
Härder
FB5
Datenbanksysteme
5678
Wedekind
FB9
Informationssysteme
4711
Müller
FB9
Operations Research
6780
Nehmer
FB5
Betriebssysteme
2223
Richter
FB5
Expertensysteme
Kapitel3:GrundlagendesRelationenmodells
8
Nullwerte
§ Nullwerte
• AttributwertinnerhalbeinesTupelsistunbekanntodertrifft
nichtzu
• NULL-Indikatorwirdverwendet,umdieszubeschreiben
- inunserenTabellen-Beispielenauchdurchein"-"dargstellt
§ VerbietenvonNullwertenfüreinAttribut
• imSchemaAngabevon"NOTNULL"fürdasAttribut
PROF
FB
FBNR
FBNAME
DEKAN
PNR
PNAME
FBNR
FACHGEBIET
FB9
Wirtschaftswissenschaften
-
1234
Härder
FB5
Datenbanksysteme
Informatik
2223
5678
Wedekind
FB9
Informationssysteme
4711
Müller
FB9
Operations Research
6780
Nehmer
FB5
-
2223
Richter
FB5
Expertensysteme
FB5
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
9
Fremdschlüssel&Primärschlüssel
§ Definition"Fremdschlüssel":
EinFremdschlüssel bzgl.einerRelationR1istein(ggf.
zusammengesetztes)AttributFSeinerRelationR2,fürdaszujedem
Zeitpunktgilt:zujedemWert(ungleichNull)vonFSmusseingleicher
WertdesPrimärschlüssels PSodereinesSchlüsselkandidaten SKin
irgendeinemTupel vonRelationR1vorhandensein.
§ Bemerkungen
• Primärschlüssel:automatischNOTNULL.
• FremdschlüsselundSchlüsselkandidat:NullwerteOK
- Ausnahme:ÜberlappungmitPrimärschlüsseloderNOTNULLspezifiziert
• Primärschlüssel(Schlüsselkandidat)zusammengesetzt
à Fremdschlüsselauch
• EineRelationkannmehrereFremdschlüsselbesitzen,welchedie
gleicheoderverschiedeneRelationenreferenzieren.
• ReferenzierteundreferenzierendeRelationsindnichtnotwendig
verschieden(„self-referencing table“).
• Zyklensindmöglich(geschlossenerreferentiellerPfad).
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
10
AbbildungvomER-ModellindasRelationenmodell
ER-Modell
Relationenmodell
EinwertigesAttribut
✔
Definitionsbereich
✔
Primärschlüssel
✔
ZusammengesetztesAttribut
nur alsunabh.einwertige
Attribute
MehrwertigesAttribut
Relation
Entity-Menge
Relation
Relationship-Menge
Relation
➥ Die RM-Konzepte erreichen nicht das semantische Ausdrucksvermögen
der ER-Konzepte. Deshalb gehen gewisse Aspekte der Semantik verloren.
Es kann jedoch versucht werden, diese durch weitergehende
Datenmodellkonzepte (siehe SQL) oder durch Anwendungsfunktionen
nachzubilden.
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
11
AbbildungvonEntity- undRelationship-Mengen
§ Kriterien
• Informationserhaltung
- AbbildungderER-KonzepteaufRM-Konzepte
- möglichstgenaueÜbereinstimmungderSemantik
(ÜbernahmeallerspezifiziertenEigenschaften)
• MinimierungderRedundanz
• MinimierungdesVerknüpfungsaufwandes
• aberauch:NatürlichkeitderAbbildung,keineVermischungvon
Objekten,Verständlichkeit
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
12
(Initiale)AbbildungvonEntity-Mengen
§ Jeder(starke)Entity-TypEwirdaufeineRelationRabgebildet
• RenthältalleeinfachenAttributevonE
• RenthältalleeinfachenKomponentenattributeder
zusammengesetztenAttributevonE(evtl.Umbenennung)
- mengenwertigeAttributeerforderngesonderteBehandlung
• PrimärschlüsselvonR:=PrimärschlüsselvonE
Name
InvNr
Autor
Titel
Ort
Verlag
EJahr
Bücher
Bücher
InvNr Titel
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
VName
EJahr
13
AbbildungvonmengenwertigenAttributen
§ MengenwertigesAttributMinEwirdaufeigeneRelationR'
abgebildet,mitfolgendenDefinitionen
• R'enthältM(oderalleKomponenten,fallsWerte
zusammengesetztsind)
• R'erhältPrimärschlüsselvonRalsFremdschlüsselK
• (K,M)wirdPrimärschlüsselvonR'
§ Beispiel(fürAutor vonBücher)
Bücher
• analogfürOrt vonVerlag
InvNr Titel VName EJahr
§ WiederholteAbbildungbeikomplexer
geschachteltenStrukturen
Autoren
InvNr Autor
NatürlicheAbbildung?Alternativen?
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
14
AbbildungvonschwachenEntities
§ SchwacheEntities
• AbbildungwiebeistarkenEntities,aber:
• PrimärschlüsselvonRergibtsichausderKombinationder
PrimärschlüsselderbestimmendenEntity-Typenunddes
partiellenSchlüssels,fallsEeinenpartiellenSchlüsseldefiniert
...
PNr
Angestellte
Angestellte
PNr
Informationssysteme2017
...
Vorname
(0, *)
Eltern
von
(1, 1)
Alter
Kinder
Kinder
PNr Vorname
Alter
Kapitel3:GrundlagendesRelationenmodells
15
AbbildungvonRelationships
§ Initiales(generelles)Vorgehen
• jeden-äreRelationshipmitEntity-TypenE1,...En wirdalseigene
RelationR dargestellt
• RenthältalsAttribute
- alleSchlüsselK1,...Kn,mitKiSchlüsselvonEi
- alleRelationship-Attribute
- wennnötigmitUmbenennungvonAttributen(eindeutigeNamen!)
• K1,...KnsindFremdschlüssel,referenzierenE1,...En
• (K1,...Kn)ist(zusammengesetzter)(Primär-)Schlüssel vonR
§ NachfolgendwirddasresultierendeRelationenschemaverfeinertbzw.
vereinfacht
• falls(K1,...Kn)nichtminimalist(alsokeinechterPrimärschlüssel),
bestimmeeinen(minimalen)PrimärschlüsselPS
- abhängigvondendefiniertenFunktionalitäten/Kardinalitäten
• optional:ZusammenfassenvonTabellenmitdengleichenPS (à
einfacheresSchema,geringererVerknüpfungsaufwand)
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
16
ZweiEntity-Mengenmitn:m-Verknüpfung
Dauer
JNR
PNR
n
PROJEKT
Projekt
j1
MITARBEIT
Mitarbeit
p1
p2
j2
j3
PROJEKT (JNR, BEZEICH, …)
j1
j2
j3
m
PERS
Pers
p3
MITARBEIT (JNR,
j1,
j2,
j2,
PNR,
p1
p1
p2
DAUER)
...
...
...
PERS (PNR, PNAME, …)
p1
p2
p3
VerwendungvondreiRelationenerforderlich:
§ GenerischeAbbildung(wiebereitsdefiniert)
§ AlleFremdschlüsselsindBestandteiledesPrimärschlüssels!
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
17
ZweiEntity-Mengenmit1:n-Verknüpfung
Dauer
ANR
ABT
1
(0,*)
N
ABT-ZUGEH
PNR
(0,1)
PERS
§ InitialeAbbildungführtzudreiRelationen(ABT,PER,ABT-ZUGEH)
§ "1"beiABTbzw.Kardinalitäsrestriktion (0,1)oder(1,1)beiPERS
heißtPERSà ABT(PERSbestimmtABTeindeutig)
èANRistnurFemdschlüssel,nichtTeildesPrimärschlüssels
èPNRistSchlüsselkandidatbzw.Primärschlüssel
§ KorrekteinitialeAbbildungmitdreiRelationen:
ABT(ANR, ANAME, …)
a1
a2
PERS (PNR, PNAME, …)
p1
p2
ABT-ZUGEH (ANR, PNR, DAUER)
a1 p1
a1 p2
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
18
ZweiEntity-Mengenmit1:n-Verknüpfung(2)
§ PERSundABT-ZUGEHhabenbeidePNRalsPrimärschlüssel und
könnendeshalbzusammengefasstwerden
• alleAttributeausABT-ZUGEHwerdenübernommen
ABT(ANR, ANAME, …)
a1
a2
PERS (PNR, PNAME, …, ANR, DAUER)
p1, ...
a1
p2, ...
a1
§ Fazit:bei1:n-BeziehungenkannaufeigeneRelationzurDarstellung
derRelationshipverzichtetwerden
• beiExistenzvonRelationship-AttributenkannVerständlichkeit
durchVermischungderAttributeleiden
§ Vorsicht:niemalsRelationenmitverschiedenen Primärschlüsseln
zusammenfassen!(FührtzuAnomalien)
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
19
ZweiEntity-Mengenmit1:1-Verknüpfung
PNR
Assistenten
1
(0,1)
halten
1
ÜNR
Übungen
(0,1)
§ InitialeAbbildung:Relation"halten"(hiermitPS"ÜNR")
• sowohlÜNRalsauchPNRsindSchlüsselkandidaten
Assistenten(PNR, …)
Übungen(ÜNR, …)
halten (PNR, ÜNR)
§ Zusammenfassen– 2Möglichkeiten,nachWahldesPS
Assistenten(PNR, …)
Übungen(ÜNR, …)
welche?
Übungen(ÜNR, PNR…)
Assistenten(PNR, ÜNR, …)
§ Vorsicht:Abbildunggarantiertsonur1:N!
§ 1:1erfordertexpl.DefinitionvonSchlüsselkandidat(UNIQUE)
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
20
Kardinalitätsrestriktionen– "(1,1)"
PNR
Beispiel:
Assistenten
1
(0,1)
halten
1
ÜNR
Übungen
(1,1)
§ KannbeigeeigneterZusammenfassungdurchVerbotvon
Nullwertenerfolgen
• inder"abhängigen"Relationwirdfür
Assistenten(PNR, …)
FremdschlüsselNOTNULLgefordert
Übungen(ÜNR, PNR…)
• ImBeispiel:Übungen- PNRNOTNULL
§ AuchbeizusammengefasstenRelationenbei1:Nverwendbar
Informationssysteme2017
1
1 bzw. N
(0,n)
(0,1)
FS
(0,n)
(1,1)
FS ... NOT NULL
(0,1)
(0,1)
FS ... UNIQUE
(0,1)
(1,1)
FS ... UNIQUE NOT NULL
Kapitel3:GrundlagendesRelationenmodells
21
Verfeinerungbein-ärenBeziehungen
Studenten
N
(0, 1)
1
betreuen
1
Professoren
Professoren
Seminarthemen
Studenten
Seminarthemen
betreuen(MatrNr, PNr, Thema)
§ InitialeAbbildung:Relation"betreuen"mitMatrNr,PNrundThema
alsFremdschlüssel
§ GeeigneterPSfür"betreuen"?
• EsgiltaufgrundN:1:1
- ProfessorenXStudentenà Seminarthemen
- SeminarthemenXStudentenà Professoren
è(PNr,MatrNr)und(Thema,MatrNr)sindSchlüsselkandidaten
§ Zusätzlichcard(0,1)odercard(1,1)bei"Studenten"?
• (MatrNr)istSchlüsselkandidat(unddamitPS)von"betreuen"
• Option:Zusammenfassenvon"betreuen"mit"Studenten"!?
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
22
AbbildungderGeneralisierungimRM
§ EinschränkungendesRelationenmodells
• keineUnterstützungderAbstraktionskonzepte
• keineMaßnahmenzurVererbung
(vonStruktur,Integritätsbedingungen,Operationen)
• „Simulation“derGeneralisierungeingeschränktmöglich
§ Generalisierungsbeispiel:
UNI-ANGEH. ID
NAME
Ernie
ANGESTELLTE BAT
TECHNIKER
Garfield
ERFAHRUNG
...
WISS.-MA
DIPLOM
SPEZ.-GEB.
Donald
Informationssysteme2017
BEAMTE
Daisy
Grouch
Kapitel3:GrundlagendesRelationenmodells
23
Generalisierung– relationaleSicht
§ Lösung1:Hausklassen-Modell:
• JedeInstanzistgenaueinmalundvollständiginihrerHausklasse
gespeichert
UNI-ANGEH.
ID
NAME
• "horizontalePartitionierung"
111 Ernie
ANGESTELLTE
TECHNIKER
WISS.-MA.
ID
NAME
BAT
007
Garfield
Ia
ID
ERFAHRUNG
NAME
BAT
123
SUN
Donald
IVa
ID
DIPLOM
SPEZ.-GEB.
NAME
BAT
007
765
Informatik
Mathematik
Recovery
ERM
Daisy
Grouch
IIa
IIa
§ Eigenschaften:
• niedrigeSpeicherungskostenundkeineÄnderungsanomalien
• Retrieval kannrekursivesSucheninUnterklassenerfordern
• expliziteRekonstruktiondurchRelationenoperationen
➥ Beispiel:FindealleANGESTELLTE:
TECHNIKER∪ WISS.-MA∪ ANGESTELLTE,beschränktaufID,NAME,BAT
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
24
Generalisierung– relationaleSicht(2)
§ Lösung2:Partitionierungs-Modell
• InstanzwirdentsprechendderKlassenattributeinderIs_a-Hierarchie
zerlegtundinTeilenindenzugehörigenKlassengespeichert
• ID-Attributdupliziert
ANGESTELLTE
ID
BAT
• "vertikalePartitionierung"
007
Ia
UNI-ANGEH.
ID
NAME
007
111
123
333
765
Garfield
Ernie
Donald
Daisy
Grouch
TECHNIKER
ID
ERFAHRUNG
123
SUN
WISS.-MA.
123
333
765
IVa
IIa
IIa
ID
DIPLOM
SPEZ.-GEB.
007
765
Informatik
Mathematik
Recovery
ERM
§ Eigenschaften
• geringfügigerhöhteSpeicherungskosten,aberhoheAufsuch- und
Aktualisierungskosten
• Integritätsbedingungen: TECHNIKER.ID⊆ ANGESTELLTE.IDusw.
• InstanzenzugrifferfordertimpliziteoderexpliziteVerbundoperationen
➥ Beispiel:FindealleTECHNIKER-Daten
VerbindeTECHNIKER,ANGESTELLTE,UNI-ANGEHübergleicheIDs
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
25
Generalisierung– relationaleSicht(3)
§ Lösung3:VolleRedundanz
• InstanzwirdwiederholtinjederKlasse,zudersiegehört,mitallen
(auchgeerbten)Attributengespeichert
UNI-ANGEH.
TECHNIKER
WISS.-MA.
ID
NAME
ANGESTELLTE
ID
NAME
BAT
007
111
123
333
765
Garfield
Ernie
Donald
Daisy
Grouch
007
123
333
765
Garfield
Donald
Daisy
Grouch
Ia
IVa
IIa
IIa
ID
NAME
BAT
ERFAHRUNG
123
Donald
IVa
SUN
ID
NAME
BAT
DIPLOM
SPEZ.-GEB.
333
765
Daisy
Grouch
IIa
IIa
Informatik
Mathematik
Recovery
ERM
§ Eigenschaften
• hoherSpeicherplatzbedarf,AuftretenvonÄnderungsanomalien
• einfachesRetrieval:Aufsuchender Zielklasse(z. B.ANGESTELLTE)
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
26
Generalisierung– relationaleSicht(4)
§ Lösung4:Hierarchierelation
• EineeinzigeRelationfürGeneralisierungshierarchie
• AttributzurTypidentifikation(TT- typetag):Kennzeichnungder
KlassenzugehörigkeiteinerInstanz
• NullwertefürAttributefürnichtzutreffendeAttribute
ID
TT
NAME
BAT
ERFAHR.
DIPLOM
SPEZ.-GEB.
007
111
123
333
765
Angestellte
Uni-Angeh.
Techniker
Wiss.-MA
Wiss.-MA
Garfield
Ernie
Donald
Daisy
Grouch
Ia
Iva
IIa
IIa
SUN
-
Informatik
Mathematik
Recovery
ERM
§ Eigenschaften
• erhöhteSpeicherkosten(Typidentifikator,Nullwerte)
• VermeidungvonRedundanz
• VermeidungvonVerbund,Union
• Retrieval erfordertProjektionundmglw.zusätzliche
SelektionsbedingungenüberTTabhängigvonderZielklasse
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
27
Aggregation– relationaleSicht
§ AbbildungähnlichzurAbbildungvonRelationships
• Kardinalitätsrestriktionenbeachten/nutzen,umExklusivitätund
Abhängigkeitzumodellieren
tv
Prozessor
ID
PREIS
tv
tv
Plattenk.
tv
CD-ROM
Informationssysteme2017
PC-System
tv = teil-von
tv
Drucker
Monitor
tv
Festplatte
ID
KAPAZITÄT
EINZELPREIS
Kapitel3:GrundlagendesRelationenmodells
28
Aggregation– relationaleSicht(2)
PC-System
ID
PC-1
PC-2
PC-3
Plattenk.
PREIS
900,-1700,-2200,-ID
PK1
PK2
PK3
CD-ROM
PROZESSOR
PLATTENK.
Festplatte
C1
C2
C3
F1
F2
F3
Geschwindigk.
Preis
C1
C2
C3
DVDR
DVD R+CDRW
DVDR+RW
35,-85,-165,--
ID
ID
Tintenstrahldrucker
Laserdrucker
Informationssysteme2017
15“TFT
17“TFT
17“TFT
ID
Hersteller
Festplatte
15“
17“
Belinea
Belinea
320,-420,--
Festplatte
ID
Kapaz.
F1
F2
F3
SPEC int 2000
Preis
633
1034
1226
150,-190,-310,--
I-Pentium IV1,8GHz
I-PentiumIV2,4GHz
I-PentiumIV3,0GHz
MONITOR
Tintenstrahldr.
Laserdrucker
Laserdrucker
Monitor
ID
Prozessor
Drucker
PK1
PK2
PK3
I-PentiumIV1,8GHz
I-PentiumIV2,4GHz
I-PentiumIV3,0GHz
CD-ROM
DRUCKER
80GB
120GB
160GB
Hersteller
Typ
Preis
HP
HP
DeskJet5150
Laser1300
100,-360,--
Kapitel3:GrundlagendesRelationenmodells
Preis
85,-100,-150,--
29
Zusammenfassung:Abbildungskonzepte
§ DatenstrukturRelation(Tabelle)
➥ einzigeDatenstruktur(nebenatomarenWerten)
➥ alleInformationenausschließlichdurchWertedargestellt
➥ Integritätsbedingungen:relationaleInvarianten
§ AbbildungvonBeziehungendurchPS/SK– FS
• alleBeziehungensindexplizit,binärundsymmetrisch
• alleBeziehungstypenmüssenimPrinzipdurch(n:1)-Beziehungendargestelltwerden
• generellesVorgehen:
eigeneRelationà ErmittlungdesPSà ggf.Zusammenfassen
- (n:m)-BeziehungstypensinddurcheineeigeneRelationdarzustellen
- für(1:n)und(1:1)istZusammenfassenvonRelationenmöglich
§ BewertunghinsichtlichderAbstraktionskonzepte
• keinedirekteBereitstellungderAbstraktionskonzepte
(nurKlassifikationderTupeln inRelationen)
• begrenzteMöglichkeitenzurAbbildungderAbstraktionskonzepte
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
30
SprachenfürdasRelationenmodell
§ Datenmodell=Datenobjekte+Operatoren
§ ImRMwirdvereinheitlichteSpracheangestrebtfür
• alleAufgabenderDatenverwaltung(Datendefinition,Anfragen
(Queries),Datenmanipulation,Zugriffs-,Integritäts- und
Transaktionskontrolle
• zurNutzung
- imStand-Alone-Modus(Ad-hoc-Anweisungen)und
- ineinerWirtssprache(eingebetteteDB-Anweisungen)
§ VierverschiedeneGrundtypen:
• Relationenalgebra (z. B.ISBL)ç indiesemKapitel
• Relationenkalkül (z. B.Alpha)
• AbbildungsorientierteSprachen(z. B.SQL)
• GraphikorientierteSprachen(z. B.Query-by-Example)
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
31
Relationenalgebra(RA) - Überblick
§ Objekte:
• EinSystem,dasauseinernichtleerenMengeundeinerFamilie
vonOperationenbesteht,heißtAlgebra.
➥ RelationensindMengen.
§ Operationen:
• ArbeitenaufeinerodermehrerenRelationenalsEingabeund
erzeugeneineRelationalsAusgabe.
Abgeschlossenheit
nur unäre und binäre Operationen
op3
op5
op1
R
Informationssysteme2017
op2
R
opi
S
R
S
op4
T
R
S
Kapitel3:GrundlagendesRelationenmodells
T
32
OperationenderRelationalenAlgebra- Überblick
§ KlassischerelationaleAlgebra
• KlassischeMengenoperationen:
- Vereinigung,Differenz,kartesischesProdukt
- ableitbar:Durchschnitt
• Relationenoperationen:
- Projektion,Restriktion(Selektion)
- ableitbar:Verbund(Join),Division
➥ AuswahlvermögenentsprichtPrädikatenkalkülersterOrdnung
(„relationalvollständig“)
• Schemaoperation:
- Umbenennung(Rename)
§ Erweiterungen
• Join-Varianten(OuterJoin,Semi-Join...)
• GruppierungundAggregation,Duplikateliminierung
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
33
Selektion(Restriktion)
§ AuswahlvonZeileneinerRelationüberPrädikate,abgekürzt𝜎𝜎𝑃𝑃
𝑃𝑃 =log.Formel(ohneQuantoren!)zusammengestelltaus:
a)Operanden(KonstantenoderAttributnamen)
b)VergleichsoperatorQÎ{<, =, >, ≤, ≠, ≥}
c)∧,∨, ¬
§ Definition:
s𝑷𝑷(𝑹𝑹) = {𝒕𝒕|𝒕𝒕Î𝑹𝑹 ∧ 𝑷𝑷(𝒕𝒕)}
𝑃𝑃(𝑡𝑡):Ersetzeinderlog.Formel𝑃𝑃 alleAttributnamendurch
entsprechendeWerteaus𝑡𝑡.
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
34
Selektion- Beipiele
PERS
PNR
NAME
ALTER
GEHALT
PROVISION
ANR
MNR
406
123
829
574
Coy
Müller
Schmid
Abel
47
32
36
28
50700
43500
45200
36000
34000
21000
15800
39100
K55
K51
K53
K55
123
777
123
s<=>?@ABCDEFGA∧=HI?JKLM (𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃)
sP?Q=HIRSJTUVBVT< (𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃)
PNR
NAME
ALTER
GEHALT
PROVISION
ANR
MNR
829
Schmid
36
45200
15800
K53
777
PNR
NAME
ALTER
GEHALT
PROVISION
ANR
MNR
574
Abel
28
36000
39100
K55
123
ALTER
GEHALT
PROVISION
ANR
MNR
47
50777
34000
K55
123
s=<J@AWXXA∧P?Q=HIKXMMMM (𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃)
Informationssysteme2017
PNR
NAME
406
Coy
Kapitel3:GrundlagendesRelationenmodells
35
Projektion
§ AuswahlderSpalten(Attribute)𝐴𝐴 = 𝐴𝐴1, 𝐴𝐴2, . . . , 𝐴𝐴𝑘𝑘auseiner
Relation𝑅𝑅 (Gradn≥k)
p𝑨𝑨(𝑹𝑹) = {𝒑𝒑|$𝒕𝒕Î𝑹𝑹: 𝒑𝒑 =< 𝒕𝒕[𝑨𝑨𝟏𝟏], …, 𝒕𝒕[𝑨𝑨𝒌𝒌] >}
§ Definition:
§ Mengeneigenschaft erfordertggf.Duplikateliminierung!
§ Beispiele:
• p<=>?,P?Q=HI,=HI?J (𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃)
• p=<J,><J (𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃)
PERS
PNR
NAME
ALTER
GEHALT
ANR
MNR
406
123
829
574
Coy
Müller
Schmid
Abel
47
32
36
28
50700
43500
45200
36000
K55
K51
K53
K55
123
777
123
ERG
p ANR,MNR
ANR
MNR
K55
K51
K53
123
777
! Duplikate entfernt !
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
36
Operationssequenzen
§ AusführenvonmehrerenOperatorennacheinander
➥ AbgeschlossenheitderAlgebra
§ GeschachtelteRA-Ausdrücke
Beispiel:
p NAME,GEHALT,ALTER(sANR='K55'∧ GEHALT>50000(PERS))
§ Alternativ:VerwendungvonZwischenrelationen
Beipiel:
TEMPß sANR='K55'∧ GEHALT>50000(PERS)
RESULTATß p NAME,GEHALT,ALTER(TEMP)
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
37
KlassischeMengenoperationen
§ KlassischebinäreMengenoperationenfürRelationen
Voraussetzung:Vereinigungsverträglichkeitderbeteiligten
Relationen(gleicherGrad+gleicheWertebereiche)
(A1, A2, . . . , An)
(B1, B2, . . . , Bn)
➥
Di
Dj
...
1.Vereinigung(UNION)vonRundS
RÈ S={t|t Î R∨ tÎ S}
W(Ai)=W(Bi):i=1,n
Dk
2.Differenz
R‒S={t|t Î R∧ tÏ S}
zusätzlich (redundanteMengenoperationen):
3.Durchschnitt(INTERSECTION)
RÇ S=R‒(R‒S)
={t|t Î R∧ tÎ S}
Informationssysteme2017
4.SymmetrischeDifferenz
RΔ S =(RÈ S) ‒(RÇ S)
=((RÈ S) ‒(R‒(R‒S)))
={t|t Î RÅ tÎ S}
Kapitel3:GrundlagendesRelationenmodells
38
(Erweitertes)KartesischesProdukt
§ 𝑅𝑅 (Gradr)und𝑆𝑆 (Grads)beliebig
Definition:𝑲𝑲 = 𝑹𝑹×𝑺𝑺 = {𝒌𝒌|$𝒙𝒙Î𝑹𝑹, 𝒚𝒚Î𝑺𝑺:(𝒌𝒌 = 𝒙𝒙|𝒚𝒚)}
𝑘𝑘 = 𝑥𝑥|𝑦𝑦 =< 𝑥𝑥1, … , 𝑥𝑥𝑟𝑟, 𝑦𝑦1, … , 𝑦𝑦𝑠𝑠 >
nicht << 𝑥𝑥1, … , 𝑥𝑥𝑟𝑟 >, < 𝑦𝑦1, … , 𝑦𝑦𝑠𝑠 >>wieüblicheskartesisches
Produkt
§ Anwendungvon: 𝐴𝐴𝐴𝐴𝐴𝐴×𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃
ABT
PERS
ANR
ANAME
AORT
K51
K53
K55
Planung
Einkauf
Vertrieb
KL
F
F
PNR
ALTER
ANR
406
123
829
574
47
32
36
28
K55
K51
K53
K55
Informationssysteme2017
ABTxPERS
ANR
ANAME
AORT
PNR
ALTER
ANR'
K51
K51
K51
K51
K53
:
:
Planung
Planung
Planung
Planung
Einkauf
:
:
KL
KL
KL
KL
F
:
:
406
123
829
574
406
:
:
47
32
36
28
47
:
:
K55
K51
K53
K55
K55
:
:
Enthält viele (oft auch unsinnige) Kombinationen!
Kapitel3:GrundlagendesRelationenmodells
39
UmbenennungvonAttributenundRelationen
§ AuflösungvonNamenskonfliktenkannerforderlichsein,wenn
• einAttributnameinmehrerenbeteiligtenRelationenauftaucht
• diegleicheRelationmehrmalsinOperationenverwendetwird
§ ImpliziteUmbenennungvonAttributen
• NamederUrsprungsrelationwirdalsPräfixverwendet
Beispiel:ErmittleKombinationenvonAbteilungenmitPersonen,dieinden
Abteilungenarbeiten
p=pI.=<J,=<=>?,S<J (s=pI.=<J@S?JB.=<J (𝐴𝐴𝐴𝐴𝐴𝐴×𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃))
§ ExpliziteUmbenennungdurchRename-Operator(r)
• UmbenennungeinesAttributs
p=<J,=<=>?,S<J (s=<J@=pI<J (𝐴𝐴𝐴𝐴𝐴𝐴×r=pI<J←=<J (𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃)))
• UmbenennungvonRelationendurchAngabedesneuen
Relationennamens
Beispiel:ErmittlePaarevonPersonen,dieindergleichenAbteilungarbeiten
sSr.=<J@Ss.=<J (rSr (𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃)×rSs (𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃))
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
40
Verbund(Join,Θ-Join)
§ Grob:
KartesischesProduktzwischenzweiRelationen𝑅𝑅 (Gradr)und𝑆𝑆
(Grads)eingeschränktdurch𝑄𝑄-Bedingungenzwischeni-Spalte
von𝑅𝑅 undj-Spaltevon𝑆𝑆.
§ Definition:
SeiΘ ∊ {<, =, >, ≤, ≠, ≥}(Vergleichsoperator)
Θ-Verbund zwischen𝑅𝑅(𝐴𝐴1, … 𝐴𝐴𝐴𝐴)und𝑆𝑆(𝐵𝐵1, … 𝐵𝐵𝐵𝐵):
𝑽𝑽 = 𝑹𝑹 ⋈𝑨𝑨𝒊𝒊𝜣𝜣𝜣𝜣𝜣𝜣 𝑺𝑺 = 𝝈𝝈𝑨𝑨𝒊𝒊𝜣𝜣𝜣𝜣𝜣𝜣 (𝑹𝑹×𝑺𝑺)
§ Bemerkungen:
(1) SpeziellQ ='=':Gleichverbund(Equi-Join)
(2) EinGleichverbundzwischenRundSheißtverlustfrei(lossless
join),wennalleTupelvonRundSamVerbundteilnehmen.
DieinverseOperationProjektionerzeugtdannwiederRundS.
(3) Joins sindkommutativundassoziativ
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
41
Gleichverbund- Beispiel
§ AnwendungvonABT⋈ABT.ANR=PERS.ANR PERS
ABT
ANR
ANAME
AORT
K51
K53
K55
Planung
Einkauf
Vertrieb
KL
F
F
R=ABT⋈ PERS
➥
PERS
PNR
ALTER
ANR
406
123
829
574
47
32
36
28
K55
K51
K53
K55
ANR
ANAME
AORT
PNR
ALTER
K51
K53
K55
K55
Planung
Einkauf
Vertrieb
Vertrieb
KL
F
F
F
123
829
406
574
32
36
47
28
Fremdschlüssel
ANR'
K51
K53
K55
K55
verlustfrei:pANR,ANAME,AORT (R)=ABT;pPNR,ALTER,ANR‘ (R)=PERS
§ Wäreverlustbehaftet,wennTupel inABToderPERSkeine
Verbundpartnerfinden
• z.B.(K56,Finanzen,M)inABToder(471,63,-)inPERS
➥ p alsUmkehroperationführtnichtaufABToderPERS
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
42
NatürlicherVerbund(NaturalJoin)
§ Grob:GleichverbundüberallegemeinsamenAttributeund
anschließendeProjektion(gemeinsameAttributewerdennur
einmalübernommen)
§ Definition
• gegeben:𝑅𝑅(𝐴𝐴1, 𝐴𝐴2, … 𝐴𝐴𝐴𝐴, 𝐵𝐵r , … , 𝐵𝐵𝑘𝑘), 𝑆𝑆(𝐵𝐵r , … , 𝐵𝐵𝑘𝑘, 𝐶𝐶1 … , 𝐶𝐶𝑛𝑛)
o.B.d.A.:𝐵𝐵𝑖𝑖 sindgleichbenannt(sonst.Umsortierung)
• NatürlicherVerbund zwischenRundS:
𝑹𝑹 ⋈ 𝑺𝑺 = p𝑨𝑨𝟏𝟏,…,𝑨𝑨𝒎𝒎 ,𝑹𝑹.𝑩𝑩𝟏𝟏,…,𝑹𝑹.𝑩𝑩𝒌𝒌 ,𝑪𝑪𝟏𝟏,…,𝑪𝑪𝒏𝒏 (s
𝑹𝑹.𝑩𝑩𝟏𝟏 @𝑺𝑺.𝑩𝑩𝟏𝟏 ∧⋯∧(𝑹𝑹.𝑩𝑩𝒌𝒌 @𝑺𝑺.𝑩𝑩𝒌𝒌 ) (𝑹𝑹´𝑺𝑺))
§ Bemerkungen:
• ⋈ ohneJoinbedingung =ZeichenfürNaturalJoin
• gemeinsameAttributesinddurchNamensübereinstimmung
gegeben(nichtdurchPK/FK-Paare!)
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
43
NatürlicherVerbund- Beispiel
Anwendungvon𝑨𝑨𝑨𝑨𝑨𝑨 ⋈ 𝑷𝑷𝑷𝑷𝑷𝑷𝑷𝑷
ABT
ANR
ANAME
AORT
K51
K53
K55
Planung
Einkauf
Vertrieb
KL
F
F
AP=ABT⋈ PERS
PERS
PNR
ALTER
ANR
406
123
829
574
47
32
36
28
K55
K51
K53
K55
ANR
ANAME
AORT
PNR
ALTER
K51
K53
K55
K55
Planung
Einkauf
Vertrieb
Vertrieb
KL
F
F
F
123
829
406
574
32
36
47
28
verlustfrei?
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
44
ÄußererVerbund(Outer Join)
§ Join(auchInnerJoingenannt)istnichtimmerverlustfrei
§ Ziel:VerlustfreierVerbundsollerzwungenwerden
Beispiel:BeiR⋈ SsollenauchTeilobjektealsErgebnisgeliefert
R
werden
S
§ Ansatz
• Input-Tupel,diekeinenJoin-Partnerhaben,werdentrotzdem
übernommen
• diefehlendenPartnerattributewerdenmitNullwertenbelegt
§ ÄußerernatürlicherVerbund⟗ (full outer join)
R
A
B
C
a1
a2
b1
b2
c1
c2
Informationssysteme2017
⟗
S
C
D
E
c1
c3
d1
d2
e1
e2
=
ERG
A
B
C
D
E
a1
a2
-
b1
b2
-
c1
c2
c3
d1
d2
e1
e2
Kapitel3:GrundlagendesRelationenmodells
45
ÄußererVerbund- Varianten
§ LinkeräußererVerbund⟕
• linkeArgumentrelationbleibtverlustfrei
R
A
B
C
a1
a2
b1
b2
c1
c2
⟕
S
C
D
E
c1
c3
d1
d2
e1
e2
=
ERG
A
B
C
D
E
a1
a2
b1
b2
c1
c2
d1
--
e1
--
A
B
C
D
E
a1
--
b1
--
c1
c3
d1
d2
e1
e2
§ RechteräußererVerbund⟖
• rechteArgumentrelationbleibtverlustfrei
R
A
B
C
a1
a2
b1
b2
c1
c2
⟖
S
C
D
E
c1
c3
d1
d2
e1
e2
=
ERG
§ ÄußererTheta-Join,GleichverbundmitVariantenanalogdefiniert
§ RechterundlinkeräußererVerbundsindnichtkommutativ
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
46
WeitereJoin Typen:Semi-Joins
§ Idee:FindealleTupelderlinkenRelation,dieJoinpartner inder
rechtenRelationhaben.
𝐿𝐿 ⋉ 𝑅𝑅 = 𝜋𝜋ℒ (𝐿𝐿 ⋈ 𝑅𝑅)
R
A
B
C
a1
a2
b1
b2
c1
c2
⋉
S
C
D
E
c1
c3
d1
d2
e1
e2
C
D
E
c1
c3
d1
d2
e1
e2
• 𝐿𝐿 ⋊ 𝑅𝑅istanalogdefiniert.
R
A
B
C
a1
a2
b1
b2
c1
c2
⋊
S
=
=
ERG
ERG
A
B
C
a1
b1
c1
C
D
E
c1
d1
e1
• Esgilt:𝐿𝐿 ⋉ 𝑅𝑅 = 𝑅𝑅 ⋊ 𝐿𝐿
• allerdingssindSemi-Joins genauwiedielinkenundrechten
äußerenJoins nicht kommutativ!
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
47
WeitereJoinTypen:Anti-Joins
§ Idee:FindealleTupel,fürdiekeinJoinpartner existiert.
• Anti-Join vonLmitR
R
A
B
C
a1
a2
b1
b2
c1
c2
⊳
S
C
D
E
c1
c3
d1
d2
e1
e2
C
D
E
c1
c3
d1
d2
e1
e2
=
ERG
A
B
C
a2
b2
c2
C
D
E
c3
d2
e2
• Anti-Join vonRmitL
R
A
B
C
a1
a2
b1
b2
c1
c2
Informationssysteme2017
⊲
S
=
ERG
Kapitel3:GrundlagendesRelationenmodells
48
Division
§ Ziel
• BeantwortungvonFragen,beideneneine„ganzeRelation“zur
Qualifikationherangezogenwird
Beispiel:WelcheSchauspielerhabenalleRollengespielt?
• SimulationdesAllquantors è einTupelaus𝑅𝑅 stehtmitallen
Tupeln aus𝑆𝑆 ineinerbestimmtenBeziehung
§ DefinitionderDivision:
• Sei𝑅𝑅 vomGradrund𝑆𝑆 vomGrads,r>sunds¹ 0
𝑆𝑆-Attribute⊆ 𝑅𝑅-Attribute,𝑡𝑡 sei(r- s)-Tupel,𝑢𝑢 seis-Tupel
• Danngilt:𝑹𝑹¸𝑺𝑺 = {𝒕𝒕|"𝒖𝒖Î𝑺𝑺:(𝒕𝒕|𝒖𝒖Î𝑹𝑹)}
§ BeschreibungderDivisionmitdenGrundoperationen
𝑅𝑅¸𝑆𝑆 = p𝓡𝓡ë𝓢𝓢 (𝑅𝑅)-p𝓡𝓡ë𝓢𝓢 ((p𝓡𝓡ë𝓢𝓢 (𝑅𝑅)´𝑆𝑆)-𝑅𝑅)
Esgilt:(𝑅𝑅´𝑆𝑆)÷𝑆𝑆 = 𝑅𝑅
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
49
Division- Beispiel
Datenbank:
DARSTELLER
PNR
P1
P1
P2
P3
P3
P3
ROLLE
FIGUR
A-Jahr…
FIGUR
TITEL
Faust
Nathan
Werther
Faust
Nathan
Werther
1999
1998
1997
1998
1999
1998
Faust
Nathan
Werther
Faust
NathanderWeise
DieLeiden…
R-Typ
Frage:WelcheSchauspieler habenalleRollengespielt?(pPNR,FIGUR(DA))÷ (pFIGUR(RO))
Auswertung:
pPNR,FIGUR(DA)
PNR
P1
P1
pPNR,FIGUR(DA)
PNR
P2
pPNR,FIGUR(DA)
PNR
P3
P3
P3
Informationssysteme2017
FIGUR
Faust
Nathan
?⊇
pFIGUR(RO)
FIGUR
Faust
Nathan
Werther
FIGUR
Werther
FIGUR
Ergebnis
Faust
Nathan
Werther
Kapitel3:GrundlagendesRelationenmodells
PNR
P3
50
AnfragedarstellungalsOperatorbaum
§ AnstellekomplexgeschachtelterAusdrücke(inline)kannaucheine
(oftübersichtlicher)Baumdarstellungverwendetwerden
§ Beispiel:
𝝅𝝅PNR, NAME, ANAME, AORT
⋈
σGEHALT>50000
PERS
Informationssysteme2017
ABT
Kapitel3:GrundlagendesRelationenmodells
51
Anfrageoptimierung- Motivation
ABT
ANR
ANAME
AORT
K51
K53
K55
Planung
Einkauf
Vertrieb
Kaiserslautern
Frankfurt
Frankfurt
PERS
PNR
NAME
ALTER
GEHALT
ANR
MNR
406
123
829
574
Coy
Müller
Schmid
Abel
47
32
36
28
50700
43500
45200
36000
K55
K51
K53
K55
123
777
123
Anfrage: Finde alle Angestellten (PNR, ALTER, ANAME), die in einer Abteilung in
Frankfurt arbeiten und zwischen 30 und 34 Jahre alt sind.
p
s
3 mögliche Lösungen
PNR, ALTER, ANAME
AORT='F'
p PNR, ALTER, ANAME
s ALTER ³ 30 Ù ALTER £
s
´
⋈
PERS
⋈
34
ABT.ANR=PERS.ANR
Informationssysteme2017
PNR, ALTER, ANAME
s ALTER ³ 30 Ù ALTER £
34
ABT
p
ABT
Ù AORT='F'
PERS
Kapitel3:GrundlagendesRelationenmodells
s
AORT='F'
ABT
s
ALTER ³ 30 Ù
ALTER £ 34
PERS
52
Relationenalgebra - Optimierung
§ Relationenalgebraische FormulierungenspezifizierenAusführungsreihenfolge (prozeduraleElemente)
➥ äquivalenteUmformungenmöglich
§ Problem
• gegeben:AusdruckderRelationenalgebra (RA)
• gesucht: äquivalenter,möglichsteffizientauszuführender
AusdruckderRelationenalgebra
§ HierbeikommenÄquivalenzregelnzumEinsatz,dieBeschreiben,
wieOperatoreninnerhalbeinesAusdrucksverschobenwerden
können.
§ SpäterimKapitelüberAnfrageverarbeitungundOptimierung
betrachtenwirHeuristikenzurAnwendungderRegeln,um
kostengünstigere"Anfragepläne"zufinden.
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
53
Rewrite-RegelnderRelationenalgebra
ÄquivalenzvonAusdrückenmitRelationenRi
1. KommutativesGesetzfürProdukt,Verbund,Schnitt,Vereinigung
• R1 ´ R2 º R2 ´ R1
• R1 ⋈F R2 º R2 ⋈F R1
• R1∩ R2 º R2 ∩R1
• R1∪R2 º R2 ∪ R1
2. AssoziativesGesetzfürProdukt,Verbund,Schnitt,Vereinigung
•
•
(R1´ R2 )´ R3 º R1´ (R2 ´ R3 )
(R1⋈F1R2 )⋈F2R3 º R1⋈F1(R2 ⋈F2R3 )
• (R1∩ R2 )∩ R3 º R1∩ (R2 ∩ R3 )
• (R1∪ R2 )∪ R3 º R1∪ (R2 ∪ R3 )
3. FolgenvonProjektionen(Eliminieren/GenerierenvonProjektionen)
• pA,B,C(pA,B,C,…,Z(R))º pA,B,C(R)
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
54
Rewrite-RegelnderRelationenalgebra(2)
4.FolgenvonSelektionenvs.KonjunktioneninBedingungen
• sF1(sF2(R))º sF1Ù F2(R)
• Da(F1 Ù F2 º F2 Ù F1):sF1(sF2(R))º sF2 (sF1(R))
5.VertauschungvonSelektionenundProjektionen
• FenthältnurAttributeausA...Z:
sF(pA,…,Z(R))º pA,…,Z(sF(R))
• wennFauchAttributeausB1…Bm enthält:
pA,…,Z(sF(R))º pA,…,Z(sF(pA,…,Z,B1,...,Bm(R)))
6.VertauschungvonSelektionundProdukt(bzw.Verbund)
• FenthältnurAttributeausR1:sF(R1 ´ R2)º sF(R1)´ R2
• allgemeiner:F=F1 Ù F2 Ù F3
F1:nurAttributeausR1,F2:nurAttributeausR2,F3:beides
sF(R1 ´ R2)º sF3 (sF1(R1)´ sF2(R2))ºsF1(R1)⋈F3 sF2(R2)
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
55
Rewrite-RegelnderRelationenalgebra (2)
7.VertauschungvonSelektionenundMengenoperationen
(SelektionistdistributivmitMengenoperationen)
• sF(R1∪R2) º sF(R1)∪sF(R2)
• sF(R1∩R2) º sF(R1) ∩sF(R2)
• sF(R1 - R2) º sF(R1)- sF(R2)
8.VertauschungvonProjektionundVereinigung
(ProjektionistdistributivmitVereinigung)
• pA(R1∪R2) º pA(R1)∪pA(R2)
9.VeränderungvonBedingungen(à DeMorgansGesetz)
• ¬(p1 ∨ p2)º ¬p1 ∧ ¬p2
• ¬(p1 ∧ p2)º ¬p1 ∨ ¬p2
à erlaubtanschließendAufbrechen/VerschiebenvonSelektionen
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
56
ErweiterungenderRelationalenAlgebra
WirbetrachtennuneinigepraxisrelevanteErweiterungender
relationalenAlgebra.
§ Aggregation
§ Multimengen
§ VerschiedeneweitereOperatoren(Duplikateliminierung,
Sortierung,erweiterteProjektion)
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
57
GruppierungundAggregation
§ Ermittlungvon"verdichteten"Daten(Summe,Durchschnitt,..)
• Schritt1(optional):BildeGruppenvonTupelnaufgrund
WertegleichheitvonAttributen(z.B.PERSnachANRgruppiert)
• Schritt2:WendefürjedeGruppeAggregatfunktion(en)an(z.B.
AVG(Gehalt)umDurchschnittsgehaltzuberechnen)
• Ergebnis:FürjedeGruppegenaueinTupel(Zusammenfassung)
a
a
a
b
Gruppierung
b
b
b
a
b
c
b
b
c
Aggregation
c
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
58
Gruppierung/Aggregation:𝛾𝛾 - Operator
§ 𝛾𝛾 – OperatorermöglichtSpezifikationvon
• Gruppierungsattributen
• AggregatfunktionenmitzuaggregierendenAttributen
- optionaleBenennungdesresultierendenErgebnisattributs
§ Genauer:
• geg.Relation𝑅𝑅 mitAttributen𝐴𝐴 = {𝐴𝐴1, … , 𝐴𝐴𝐴𝐴}
• G=𝜸𝜸𝑮𝑮𝑮𝑮;𝑨𝑨𝑨𝑨 𝑹𝑹mit
- Gruppierungsattributen𝐺𝐺𝐺𝐺 ⊆ 𝐴𝐴
- Aggregatfunktionen𝐴𝐴𝐴𝐴 = 𝐴𝐴𝐴𝐴1, … 𝐴𝐴𝐴𝐴𝑘𝑘 mit
𝐴𝐴𝐴𝐴𝑖𝑖 = 𝐴𝐴𝐴𝐴𝑖𝑖 ß 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 𝑆𝑆𝑆𝑆𝑆𝑆 𝐴𝐴𝐴𝐴𝐴𝐴 𝑀𝑀𝑀𝑀𝑀𝑀 𝑀𝑀𝑀𝑀𝑀𝑀 (𝐴𝐴𝑖𝑖)
- 𝐴𝐴𝐴𝐴𝑖𝑖 istNamedesentstehendenAttributesfürAF-Wert(optional)
- zusätzlichCOUNT(*)erlaubtà AnzahlderTupelinGruppe
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
59
Gruppierung/Aggregation:𝛾𝛾 - Operator(2)
§ DieAttributeinGAbeschreibenwiedieTupelderRelationR
gruppiertwerden.
§ ErgebnisrelationenthältfürjedevorkommendeWertekombination
vonGAeinTupel
• TupelhältGA-WerteundberechneteAF-Wertenfürjede
Gruppe
• Gruppe=alleTupelinRmitdengleichenGA-Werten
§ FallsGA = ∅ wirdaufdergesamtenRelation(einegroßeGruppe)
aggregiert.ErgebnisbestehtindiesemFallnurausden
berechnetenAF-Werten(1Tupel).UndGA = ∅ wirdaucheinfach
weggelasseninderAnfrage.
§ Beispiele:
• 𝛾𝛾=<J;¶P?Q←=UP P?Q=HI (𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃)
• 𝛾𝛾=UP
P?Q=HI
Informationssysteme2017
(𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃)
Kapitel3:GrundlagendesRelationenmodells
60
DerErweiterteProjektions-Operator
§ WoinderursprünglichenDefinitionderProjektionnur
Attributnamenangegebenwerden,alsop=r,…,=ß (𝑅𝑅)lassenwirin
derErweiterungdesProjektions-OperatorsauchFunktionenzu,die
einodermehrereAttributealsArgumentehaben.
§ AusgabederFunktionenkönnenbenanntwerden.
§ Beispiel:
𝜋𝜋S<J,>P?Q←P?Q=HI⁄rs, (𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃)
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
61
Sortierung
𝜏𝜏H 𝑅𝑅
isteineListevonTupeln ausRelation𝑅𝑅,geordnetnachden
Attributen,diein𝐿𝐿 genanntsind.
• InlexikographischerOrdnung.
• OptionalmitAngabederSortierung:
- AbsteigendoderAufsteigend,proAttribut.
- Default:Aufsteigend.
𝜏𝜏=,p 𝑅𝑅
B
C
A
2
3
3
1
3
4
3
2
4
4
A
1
Informationssysteme2017
𝜏𝜏p,™ 𝑅𝑅
B
C
A
2
1
1
1
2
3
1
1
3
4
4
4
𝜏𝜏↓™ 𝑅𝑅
B
C
3
4
4
4
4
4
1
2
3
4
3
2
1
Kapitel3:GrundlagendesRelationenmodells
62
DuplikateindenDaten:Multimengen(Bags)
§ DiebislangbetrachtetenAnfragesprachenarbeitenaufMengen,im
SinnevonRelationen,dieMengenvonTupeln sind.
§ EswerdenbeidieserMengen-BetrachtungimplizitDuplikate
entfernt.InsbesonderenacheinerProjektionoder
MengenvereinigungtretenoftDuplikateauf.
§ DatenbanksystemearbeiteninderRegelmitMultimengen(aka.
Bags),d.h.dieRelationen(Tabellen)dürfenauchDuplikate
enthalten.
§ ZumBeispielsind{a,b,b}und{a,b}Multimengen,wobeiletztere
aucheineMengeist.
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
63
OperationenaufMultimengen(Bags)
§ Selektion,Join,Kreuzprodukt,Umbenennung(sowieso),
Aggregation/Gruppierung,Sortierungfunktionierenauchfür
Multimengen.
§ ProjektionerfordertnurVerzichtaufDuplikateliminierung (einfach)
§ WasistmitMengendifferenz,Mengendurchschnitt,
MengenvereinigungfürMultimengen?
FüreinBag𝐵𝐵 bezeichnenwirmit#𝐵𝐵(𝑥𝑥)dieAnzahldesAuftretens
vonElement𝑥𝑥 in𝐵𝐵 (aka.Multiplizität).
Wirhabendann
• Kardinalität vonBagBals 𝐵𝐵 = ∑ÆØ #𝐵𝐵(𝑥𝑥)
• 𝐴𝐴 ⊆ 𝐵𝐵 als#𝐴𝐴(𝑥𝑥) ≤ #𝐵𝐵 𝑥𝑥 ∀𝑥𝑥
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
64
Vereinigung,Differenz,SchnittmengefürMultimengen
§
§
§
§
Vereinigung:#(𝑋𝑋 ∪ 𝑌𝑌)(𝑧𝑧) = #𝑋𝑋(𝑧𝑧) + #𝑌𝑌(𝑧𝑧)
Schnittmenge:#(𝑋𝑋 ∩ 𝑌𝑌)(𝑧𝑧) = min(#𝑋𝑋 𝑧𝑧 , #𝑌𝑌(𝑧𝑧))
Differenz:#(𝑋𝑋 − 𝑌𝑌)(𝑧𝑧) = max(0, #𝑋𝑋 𝑧𝑧 − #(𝑌𝑌))
Anmerkung:
DieDefinitionderVereinigungfürBagsistnichtidentischzuder
VereinigungvonBagsausderMathematik,welchedefiniertwäre
als#(𝑋𝑋 ∪EΩØ 𝑌𝑌)(𝑧𝑧) = max(#𝑋𝑋 𝑧𝑧 , #𝑌𝑌(𝑧𝑧)).MitdieserDefinition
würdenauchdieRegelnfürMengenbeiBagsgelten.
DieobenangegebeneDefinition#(𝑋𝑋 ∪ 𝑌𝑌)(𝑧𝑧) = #𝑋𝑋(𝑧𝑧) + #𝑌𝑌 𝑧𝑧
folgtjedochgenaudemwasinDB-Systemen(siehespäterSQL)
oderProgrammiersprachenbenutztwird,imSinneder
"Konkatenation"vonBags.𝑋𝑋 ∪EΩØ 𝑌𝑌 ≡ (𝑋𝑋 − 𝑌𝑌) ∪ 𝑌𝑌
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
65
Beispiel:VerletzteRegelfürBags
𝑅𝑅 ∩ 𝑆𝑆 ∪ 𝑇𝑇 ≡ 𝑅𝑅 ∩ 𝑆𝑆 ∪ 𝑅𝑅 ∩ 𝑇𝑇 giltfürMengen,abernichtfürBags
SeienR,SundTjeweilsdasBag{1}
DannistdielinkeSeite:𝑆𝑆 ∪ 𝑇𝑇 = 1, 1 ; 𝑅𝑅 ∩ 𝑆𝑆 ∪ 𝑇𝑇 = {1}.
UnddierechteSeite: 𝑅𝑅 ∩ 𝑆𝑆 = 𝑅𝑅 ∩ 𝑇𝑇 = 1
𝑅𝑅 ∩ 𝑆𝑆 ∪ 𝑅𝑅 ∩ 𝑇𝑇 = 1 ∪ 1 = 1, 1 ≠ {1}
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
66
OperatorfürDuplikateliminierung
𝛿𝛿(𝑅𝑅)
ergibteineRelation,inderjedesTupeleinmalauftrittfürTupeldiein
Reinmalodermehrfachauftreten.
A
𝑅𝑅
𝛿𝛿 𝑅𝑅
B
A
B
1
2
1
2
3
4
3
4
1
2
1
2
TechnischgesehenistderDuplikateliminierungsoperator redundant.
FürRelation𝑅𝑅(𝐴𝐴1, 𝐴𝐴2, … , 𝐴𝐴𝐴𝐴)istdieRelationδ(𝑅𝑅) äquivalentzu
𝛾𝛾=r,=s,…,=¡ (𝑅𝑅).D.h.umDuplikatezueliminierengruppierenwirnach
allenAttributen,ohneAnwendungeinerAggregatfunktion.
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
67
Zusammenfassung
§ Relationenmodell
• Relationmit(atomaren)AttributenalszentraleDatenstruktur
• wertbasierteDarstellungvonBeziehungen(Fremdschlüssel)
• wohldefinierteAbbildungERà RM
§ Relationenalgebra
• Abgeschlossenheitbzgl.derAlgebraoperationen
• KlassischeMengenoperationen
• Relationenoperationen
• elementareundabgeleiteteOperatorenfürAnfragen
• komplexeRA-Ausdrücke,Schachtelung
• ÄquivalenzregelnalsBasisderalgebraischenOptimierung
§ Erweiterungen
• GruppierungundAggregation
• Multimengen,Duplikateliminierung,...
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
68
ANHANG:BEISPIELANFRAGEN
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
69
Beispiel-DB:BÜHNE
ER-Diagramm
n
n
Schauspieler
stelltdar
m
n
Rolle
1
hat
IstAutorvon
1
Drama
n
Dichter
1
IstKritikervon
Relationales Schema
SCHAUSPIELER (SP)
PNR
NAME
ROLLE (RO)
W-ORT . . .
FIGUR
TITEL
R-Typ . . .
DICHTER (DI)
AUTOR
G-ORT
DARSTELLER (DA)
PNR
FIGUR
Informationssysteme2017
A-JAHR
A-ORT
THEATER
G-JAHR
DRAMA (DR)
TITEL AUTOR
Kapitel3:GrundlagendesRelationenmodells
KRITIKER
U-ORT
U-JAHR
70
Beispiel-DB:Anfragen
Q1:FindealleSchauspieler(NAME),dieeinmalden’Faust’(dieFigur’Faust’)
gespielthaben.
πNAME (σFIGUR=Faust (SP⋈ DA))
Q2:FindealleSchauspieler(NAME),dieeinmalim’Faust’(imDrama
’Faust’)mitgespielthaben.
πNAME (σTITEL=Faust (SP⋈ DA⋈ RO))
Q3:FindealleSchauspieler(NAME),dieinDramenvonSchillermitgespielt
haben.
πNAME (SP⋈ DA⋈ RO⋈ (σAUTOR=Schiller DR))
Q4:WelcherDichteristSchauspieler?
SP⋈SP.NAME=DI.AUTOR DI
Q5:FindealleDramenmitAutoren (TITEL,AUTOR,G-JAHR),dienach1800
uraufgeführtwurden.
πTITEL, AUTOR, G-JAHR ((σU-JAHR>1800DR)⋈ DI)
Q6:ListealleDramenmitihrenKritikern,dieinWeimargeborenwurden,
(mitTITEL,KRITIKER)auf.
πTITEL, KRITIKER ((σG-ORT=WeimarDI)⋈DI.AUTOR=DR.KRITIKER DR)
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
71
Beispiel-DB:Anfragen(2)
Q7:FindedieSchauspieler(PNR),dienie gespielthaben.
πPNR SP- πPNRDA
Q8:FindedieSchauspieler(PNR),dienurFaustoderWallenstein gespielt
haben.
πPNR (σFIGUR=Faust∨ FIGUR=Wallenstein DA)- πPNR (σFIGUR≠Faust ∧ FIGUR≠Wallenstein DA)
Q9: FindealleSchaupieler (NAME),diealle RolleninDramenvonGoethe
gespielthaben.
πNAME(SP⋈(πPNR,FIGURDA÷πFIGUR(RO⋈ (σAUTOR=GoetheDR))))
Q10:FindealleSchauspieler(NAME),diealle NarrenrollenamPfalztheater
gespielthaben.
πNAME(SP⋈((πPNR,FIGUR(σTHEATER=PfalztheaterDA))÷ (πFIGUR(σR-TYP=NarrRO))))
Q11:ErmittlefürjedeFigur,wieoftsievonSchauspielern,diein
Kaiserslauternwohnen,gespieltwurde
𝛾𝛾FIGUR;ANZßCOUNT(*)((σW-ORT=KLSP)⋈ DA)
Informationssysteme2017
Kapitel3:GrundlagendesRelationenmodells
72
Herunterladen