3. Relationales Modell & Algebra · § 3.3 Relationale Algebra § Wie können wir Daten...

Preview:

Citation preview

3. Relationales Modell & Algebra

2

Inhalt§ 3.1 Relationales Modell

§ Wie können wir Daten mathematisch formal darstellen?

§ 3.2 Übersetzung eines konzeptuellen Modells

§ Wie können wir ein konzeptuelles Modell in Form einesEntity-Relationship-Diagramms in Relationen übersetzen?

§ 3.3 Relationale Algebra

§ Wie können wir Daten extrahieren, d.h. Anfragen auf den gespeicherten Daten formulieren?

Datenbanken / Kapitel 3: Relationales Modell & Algebra

3

3.1 Relationales Modell§ Relationales Modell (auch: Relationenmodell)

§ als das Datenmodell hinter den heute vorherrschendenrelationalen Datenbanksystemen (RDBMS)

§ vorgeschlagen im Jahr 1970 durch Edgar F. Codd [2],der u.a. dafür den A. M. Turing Award gewonnen hat

§ mengenorientierte Verarbeitung von Daten, die in sogenannten Relationen (Tabellen) gespeichert werden

Quelle: http://amturing.acm.org

Datenbanken / Kapitel 3: Relationales Modell & Algebra

StudentenMatrNr Vorname Name Semester

13765 Moritz Muller 118877 Peter Parker 718879 Marty McFly 3

4

Wertebereiche§ Wertebereiche (auch: Domäne) (domain) können alle

Mengen sein, die nur atomare Werte enthalten, z.B.

§ ganze Zahlen (integer)

§ Kommazahlen (float oder real)

§ Zeichenketten (string)

§ Datentypen wie z.B. Datumsangaben, die eine eigene Struktur haben (Tag, Monat, Jahr) sind also nicht erlaubt(später: RDBMSs erlauben jedoch solche Datentypen)

Datenbanken / Kapitel 3: Relationales Modell & Algebra

5

Relationen§ Relation R ist Untermenge des kartesischen Produkts

(Kreuzprodukts) von n Wertebereichen D1, …, Dn

§ Beispiel: Relation Studenten mit vier Komponenten (Matrikelnummer, Vorname, Name und Semester)

§ Ein Element der Relation R heißt (n-stelliges) Tupel

§ Beispiel: (13765, Moritz, Müller, 1) als Tupel in Studenten

R ™ D1 ◊ . . . ◊ Dn

Datenbanken / Kapitel 3: Relationales Modell & Algebra

Studenten ™ integer ◊ string ◊ string ◊ integer

6

Attribute und Schlüssel§ Komponenten werden zur besseren Identifikation benannt

§ Attribute einer Relationen setzen sich zusammen aus je

§ einem Attributnamen Ai (z.B. MatrNr)

§ einem Wertebereich dom(Ai) (z.B. integer)

§ Attributnamen einer Relationen müssen eindeutig sein

§ Jede Relation verfügt über einen Schlüssel, d.h. eine Menge von Attributen, die Tupel eindeutig identifizieren

Datenbanken / Kapitel 3: Relationales Modell & Algebra

7

Relationen§ Relationen werden nach folgendem Muster spezifiziert

dabei werden alle Schlüsselattribute unterstrichen

§ Beispiel: Relation Studenten

mit eindeutig identifizierendem Schlüsselattribut MatrNr

R : {[ A1 : D1, . . . , An : Dn ]}

Datenbanken / Kapitel 3: Relationales Modell & Algebra

Studenten :Ó

[ MatrNr : integer, Vorname : string, Name : string, Semester : integer ]Ô

8

Relationen als Tabellen§ Relationen meist als Tabellen in RDBMSs bezeichnet

§ mit Attributen als Spalten der Tabelle

§ mit Tupeln als Zeilen der Tabelle

§ Beispiel: Relation Studenten

mit vier Attributen und drei Tupeln

Datenbanken / Kapitel 3: Relationales Modell & Algebra

StudentenMatrNr Vorname Name Semester

13765 Moritz Muller 118877 Peter Parker 718879 Marty McFly 3

9

Ausprägung vs. Schema§ Unterscheidung zwischen Ausprägung (konkreten Daten)

und Schema (Attributnamen Ai mit Domänen Di)

§ Schema der Relation sch(R) ist die Menge aller Attribute

§ dom(Ai) bezeichnet die Domäne des Attributs Ai

Datenbanken / Kapitel 3: Relationales Modell & Algebra

sch(R) = {A1, . . . , An}

dom(Ai) = Di

10

3.2 Übersetzung eines konzeptuellen Modells§ Wie können wir ein konzeptuelles Modell in Form eines

Entity-Relationship-Diagramms in Relationen übersetzen?

§ Heute: Initiale Übersetzung von Entitytypen und Beziehungstypen in möglichst wenige Relationen

§ Später (in Kapitel 4): Weitere Optimierung eines relationalen Schemas anhand von Normalformenzur Vermeidung von Redundanzen und Anomalien

Datenbanken / Kapitel 3: Relationales Modell & Algebra

11

ER-Diagramm für Hochschule

Datenbanken / Kapitel 3: Relationales Modell & Algebra

Professoren

prüfen

Studenten Vorlesungen

PersNr

Note

lesen

hören

Vorname

Vorname

MatrNr

SWS

Titel

VorlNr

Semester

Name

Assistenten arbeiten für

Name

PersNr

Vorname

Name

Tätigkeit Fach

12

ER-Diagramm für Musik-Streaming-Dienst

Datenbanken / Kapitel 3: Relationales Modell & Algebra

Records

ArtistId, Name, YearBegin, YearEnd

Artists publish

RecordId, Name, TrackCount, Year

include

Songs

SongId, Name, Length

perform

Description

13

Entitytypen als Relationen§ Jeder Entitytyp wird zu eigener Relation

§ mit entsprechenden Attributen und Schlüssel

§ Beispiel: Für unser ER-Diagramm Hochschule erhalten wir

Datenbanken / Kapitel 3: Relationales Modell & Algebra

Studenten :Ó

[ MatrNr : integer, Vorname : string, Name : string, Semester : integer ]Ô

Vorlesungen :Ó

[ VorlNr : integer, SWS : integer, Titel : string ]Ô

Professoren :Ó

[ PersNr : integer, Vorname : string, Name : string, Fach : string ]Ô

Assistenten :Ó

[ PersNr : integer, Vorname : string, Name : string, Tatigkeit : string ]Ô

14

Beziehungstypen als Relationen§ Jeder Beziehungstyp wird zu eigener Relation

§ übernimmt Schlüsselattribute verbundener Entitytypen,diese werden dann als Fremdschlüssel bezeichnet

§ eigene Attribute des Beziehungstyps bleiben erhalten§ evtl. ist eine Umbenennung von Attributen notwendig

§ Beispiel: Beziehungstyp prüfen wird zur Relation

§ Schlüssel der Relation ist von der Kardinalität des Beziehungstyps abhängig

Datenbanken / Kapitel 3: Relationales Modell & Algebra

prufen :Ó

[ MatrNr : integer, VorlNr : integer, PersNr : integer, Note : integer ]Ô

15

N:M-Beziehungstypen als Relationen§ Schlüssel der Relation zu einem N:M-Beziehungstyp

beinhaltet übernommene Attributeaus allen Fremdschlüsseln

§ Beispiel: Studenten hören Vorlesungen

Wäre nämlich nur eines der übernommenen Attribute im

Schlüssel, könnte jeder Student nur eine Vorlesung hören

(bei MatrNr) bzw. jede Vorlesung könnte nur von einem

Studenten besucht werden (bei VorlNr)

Datenbanken / Kapitel 3: Relationales Modell & Algebra

horen :Ó

[ MatrNr : integer, VorlNr : integer ]Ô

16

1:N-Beziehungstypen als Relation§ Schlüssel der Relation zu einem 1:N-Beziehungstyp

beinhaltet übernommene Attributeaus dem Fremdschlüssel des rechten Entitytyps E2

§ Beispiel: Professoren lesen Vorlesungen

Wären nämlich beide der übernommenen Attribute(PersNr und VorlNr) im Schlüssel, könnte eine Vorlesung von mehreren Professoren gelesen werden

Datenbanken / Kapitel 3: Relationales Modell & Algebra

lesen :Ó

[ PersNr : integer, VorlNr : integer ]Ô

17

N:1-Beziehungstypen als Relationen§ Schlüssel der Relation zu einem N:1 Beziehungstyp

beinhaltet übernommene Attributeaus dem Fremdschlüssel des linken Entitytyps E1

§ Beispiel: Assistenten arbeiten für Professor

In diesem Fall ist eine Umbenennung der übernommenen Attribute notwendig, da beide ursprünglich gleich heißen

Datenbanken / Kapitel 3: Relationales Modell & Algebra

arbeitenFur :Ó

[ AssPersNr : integer, ProfPersNr : integer ]Ô

18

1:1-Beziehungstypen als Relationen§ Schlüssel der Relation zu einem 1:1-Beziehungstyp

beinhaltet übernommene Attributeaus dem Fremdschlüssel nur eines Entitytyps (E1 oder E2)

§ Beispiel: Kennzeichen gehören zu Fahrzeug

oder

Dies garantiert jedoch nicht die Integrität unserer Daten;mehr zum Thema Datenintegrität später (Kapitel 6)

Datenbanken / Kapitel 3: Relationales Modell & Algebra

gehortZu :Ó

[ Kennzeichen : integer, FahrzeugNr : integer ]Ô

gehortZu :Ó

[ Kennzeichen : integer, FahrzeugNr : integer ]Ô

19

Umsetzung schwacher Entitytypen

Datenbanken / Kapitel 3: Relationales Modell & Algebra

GebNr, Höhe

GebäudeRäume liegen in

RaumNr, Kapazität

N 1

20

Umsetzung schwacher Entitytypen§ Schwacher Entitytyp wird zu eigener Relation

§ übernimmt Schlüssel des übergeordneten starten Entitytyps und ergänzt ihn um die unterscheidenden Attribute

§ eigene Attribute des schwachen Entitytyps bleiben erhalten

§ Beispiel: Räume liegen in Gebäuden

Datenbanken / Kapitel 3: Relationales Modell & Algebra

Raume :Ó

[ GebNr : integer, RaumNr : integer, Kapazitat : integer ]Ô

Gebaude :

Ó[ GebNr : integer, Hohe : integer ]

Ô

21

Umsetzungsübung Musik-Streaming-Dienst

Datenbanken / Kapitel 3: Relationales Modell & Algebra

Records

ArtistId, Name, YearBegin, YearEnd

Artists publish

RecordId, Name, TrackCount, Year

include

Songs

SongId, Name, Length

perform

Description

N1

M

N N

M

22

Umsetzungsübung Musik-Streaming-Dienst

Datenbanken / Kapitel 3: Relationales Modell & Algebra

23

Umsetzung der Generalisierung

Datenbanken / Kapitel 3: Relationales Modell & Algebra

Assistenten Professoren

Mitarbeiter

ist-ein

PersNr, Vorname, Name

Tätigkeit Fach

ist-ein

24

Umsetzung der Generalisierung§ Jeder Entitytyp wird zu eigener Relation

§ Relation des Obertyps enthält gemeinsame Attribute§ Relationen der Untertypen enthalten eigene Attribute§ alle Relationen haben gemeinsamen Schlüssel

§ Beispiel: Assistenten und Professoren als Mitarbeiter

Datenbanken / Kapitel 3: Relationales Modell & Algebra

Professoren :Ó

[ PersNr : integer, Fach : string ]Ô

Mitarbeiter :Ó

[ PersNr : integer, Vorname : string, Name : string ]Ô

Assistenten :Ó

[ PersNr : integer, Tatigkeit : string ]Ô

25

Eliminierung von Relationen§ Beschriebene Vorgehensweise führt zu vielen Relationen

§ Relationen aus 1:N-, N:1- und 1:1-Beziehungstypen(nicht jedoch N:M) können eliminiert werden, hierbei gilt:

Nur Relationen mit gleichem Schlüssel zusammenfassen!

Datenbanken / Kapitel 3: Relationales Modell & Algebra

26

Eliminierung von Relationen (1:N)

§ Bei 1:N-Beziehungstypen werdender Schlüssel des linken Entitytypssowie eventuelle Attribute des Beziehungstypsin Relation des rechten Entitytyps aufgenommen

§ Beispiel: Professoren lesen Vorlesungen

wird zu

Datenbanken / Kapitel 3: Relationales Modell & Algebra

Vorlesungen :Ó

[ VorlNr : integer, SWS : integer, Titel : string ]Ô

lesen :Ó

[ PersNr : integer, VorlNr : integer ]Ô

Vorlesungen :Ó

[ VorlNr : integer, SWS : integer, Titel : string, PersNr : integer ]Ô

27

Eliminierung von Relationen (N:1)

§ Bei N:1-Beziehungstypen werdender Schlüssel des rechten Entitytypssowie eventuelle Attribute des Beziehungstypsin Relation des linken Entitytyps aufgenommen

§ Beispiel: Assistenten arbeiten für Professoren

wird zu

Datenbanken / Kapitel 3: Relationales Modell & Algebra

Assistenten :Ó

[ PersNr : integer, Vorname : string, Name : string, Tatigkeit : string ]Ô

arbeitenFur :Ó

[ AssPersNr : integer, ProfPersNr : integer ]Ô

Assistenten :Ó

[ PersNr : integer, . . . , ProfPersNr : integer, ]Ô

28

Eliminierung von Relationen (1:1)

§ Bei 1:1-Beziehungstypen werdender Schlüssel des linken (rechten) Entitytypssowie eventuelle Attribute des Beziehungstypsin Relation des rechten (linken) Entitytyps aufgenommen

§ Beispiel: Kennzeichen gehören zu Fahrzeugen

wird zu

Datenbanken / Kapitel 3: Relationales Modell & Algebra

gehortZu :Ó

[ Kennzeichen : integer, FahrzeugNr : integer ]Ô

Kennzeichen :Ó

[ Kennzeichen : integer, . . . ]Ô

Kennzeichen :Ó

[ Kennzeichen : integer, . . . , FahrzeugNr : integer, ]Ô

29

Eliminierung von Relationen (1:1)§ Beispiel: Kennzeichen gehören zu Fahrzeugen

wird zu

Datenbanken / Kapitel 3: Relationales Modell & Algebra

gehortZu :Ó

[ Kennzeichen : integer, FahrzeugNr : integer ]Ô

Fahrzeuge :Ó

[ FahrzeugNr : integer, . . . ]Ô

Fahrzeuge :Ó

[ FahrzeugNr : integer, . . . , Kennzeichen : integer, ]Ô

30

Eliminierungsübung Musik-Streaming-Dienst

Datenbanken / Kapitel 3: Relationales Modell & Algebra

Artists : {[Artistid : integer, Name : string, YearBegin : integer, YearEnd : integer]}<latexit sha1_base64="Z8GbIndCAOQBxCVhr2itkjAmpXw=">AAAC0HichVHLihNBFK1uX2N8xcfOTWM2LiTdGQWHWUVFcKOMYuZBuglVlZueIvWi6rZMKBpx67/5Af6DH2GlR9FMEC8FdTjn1C3uucxK4bEovifppctXrl7bud67cfPW7Tv9u/cOvWkchwk30rhjRj1IoWGCAiUcWwdUMQlHbPlqrR99AueF0R9xZaFStNZiITjFSM3630qEM9TGKSrDC4fxR99m+1kpYYFlmJaNnoNbdw/bTjFv2/2ORgxCI9Tg2ifZ38Z3VMEfj0cndH3BcgLUvYRa6P/1Whtf6/m2rSqdqE+xbGf9QTHcLdaVbYPRsLuLwfgB6epg1v9Rzg1vFGjkkno/HRUWq0DjeFxC2ysbD5byJa1hSgtLLbgq1GAUoFttyhHqOKyvQreVDTFQ5f1KsS1SUTzdJJkxS6TMX2iOi70qzmsbBM2j1sGQT3zcbb5k4OIR+dtVPrORiDP5XNIYU64od8YPI2x7MZ7fGWT/Boe7w1HE758NxnvnOZEd8pA8Io/JiDwnY/KGHJAJ4cnT5CRhCU8/pGfp5/TLuTVNfr25TzYq/foT7wHsSg==</latexit><latexit sha1_base64="Z8GbIndCAOQBxCVhr2itkjAmpXw=">AAAC0HichVHLihNBFK1uX2N8xcfOTWM2LiTdGQWHWUVFcKOMYuZBuglVlZueIvWi6rZMKBpx67/5Af6DH2GlR9FMEC8FdTjn1C3uucxK4bEovifppctXrl7bud67cfPW7Tv9u/cOvWkchwk30rhjRj1IoWGCAiUcWwdUMQlHbPlqrR99AueF0R9xZaFStNZiITjFSM3630qEM9TGKSrDC4fxR99m+1kpYYFlmJaNnoNbdw/bTjFv2/2ORgxCI9Tg2ifZ38Z3VMEfj0cndH3BcgLUvYRa6P/1Whtf6/m2rSqdqE+xbGf9QTHcLdaVbYPRsLuLwfgB6epg1v9Rzg1vFGjkkno/HRUWq0DjeFxC2ysbD5byJa1hSgtLLbgq1GAUoFttyhHqOKyvQreVDTFQ5f1KsS1SUTzdJJkxS6TMX2iOi70qzmsbBM2j1sGQT3zcbb5k4OIR+dtVPrORiDP5XNIYU64od8YPI2x7MZ7fGWT/Boe7w1HE758NxnvnOZEd8pA8Io/JiDwnY/KGHJAJ4cnT5CRhCU8/pGfp5/TLuTVNfr25TzYq/foT7wHsSg==</latexit><latexit sha1_base64="Z8GbIndCAOQBxCVhr2itkjAmpXw=">AAAC0HichVHLihNBFK1uX2N8xcfOTWM2LiTdGQWHWUVFcKOMYuZBuglVlZueIvWi6rZMKBpx67/5Af6DH2GlR9FMEC8FdTjn1C3uucxK4bEovifppctXrl7bud67cfPW7Tv9u/cOvWkchwk30rhjRj1IoWGCAiUcWwdUMQlHbPlqrR99AueF0R9xZaFStNZiITjFSM3630qEM9TGKSrDC4fxR99m+1kpYYFlmJaNnoNbdw/bTjFv2/2ORgxCI9Tg2ifZ38Z3VMEfj0cndH3BcgLUvYRa6P/1Whtf6/m2rSqdqE+xbGf9QTHcLdaVbYPRsLuLwfgB6epg1v9Rzg1vFGjkkno/HRUWq0DjeFxC2ysbD5byJa1hSgtLLbgq1GAUoFttyhHqOKyvQreVDTFQ5f1KsS1SUTzdJJkxS6TMX2iOi70qzmsbBM2j1sGQT3zcbb5k4OIR+dtVPrORiDP5XNIYU64od8YPI2x7MZ7fGWT/Boe7w1HE758NxnvnOZEd8pA8Io/JiDwnY/KGHJAJ4cnT5CRhCU8/pGfp5/TLuTVNfr25TzYq/foT7wHsSg==</latexit><latexit sha1_base64="ASLbvLC+N035dWOaRZ01MRKX/mE=">AAAC0HichVHLbhMxFPUMrxJeAZZsRmTDAmUmLRJVV4UKiQ2oINKHMqPIdm6mVvySfQc1skYVW/6ND+g/9CNwQhCkEeLKko/OOb7WPZdZKTwWxWWS3rh56/adrbude/cfPHzUffzkyJvGcRhyI407YdSDFBqGKFDCiXVAFZNwzGYHC/34KzgvjP6CcwuVorUWU8EpRmrc/VEinKM2TlEZ3jiMP/o228tKCVMsw6hs9ATconvYdIpJ2+4tacQgNEINrn2Z/W38SBX88Xh0QtfXLKdA3Vuohf5fr4XxnZ5s2qrSifoMy3bc7RX97WJR2SYY9Jd30SOrOhx3r8qJ4Y0CjVxS70eDwmIVaByPS2g7ZePBUj6jNYxoYakFV4UajAJ083U5Qh2H9VVYbmVNDFR5P1dsg1QUz9ZJZswMKfPXmuN0t4rz2gZB86gtYciHPu42nzFw8Yj8wzwf20jEmXwuaYwpV5Q74/sRtp0Yz+8Msn+Do+3+IOJPr3r7u6ugtsgz8py8IAPymuyT9+SQDAlPdpLThCU8/Zyepxfpt1/WNFm9eUrWKv3+E3Rd6/Y=</latexit>

Records : {[RecordId : integer, Name : string, TrackCount : integer, Year : integer]}<latexit sha1_base64="4BQmU5xdV3l1Wr1LE2F7ugXO6bU=">AAACznichVHLbtNAFB2bVwmv8NixsciGBYrtqhJVV5G6gQUooKYpiq1wPblxR5mHNXNdNbIstvwbX8A/8BFMXBCkEeJqpDk658zVvWeKSgpHSfI9CG/cvHX7zt7d3r37Dx4+6j9+cupMbTlOuJHGnhXgUAqNExIk8ayyCKqQOC1Wxxt9eoHWCaNPaF1hrqDUYik4kKfm/W8Z4SVpYxXI5iNyYxeujY6iTOKSsmaW1XqBdtO92XW+XbTtUUcTNUITlmjbV9Hfxveg8I/HkRW6vGY5scD9pLWm/zX7hGB3PXlmRXlOWTvvD5LhfrKpaBekw+5OBqNnrKvxvP8jWxheK9TEJTg3S5OK8gYsCS6x7WW1w8oPByXOIKmgQps3JRqFZNfbsofar+rypvuTLbEB5dxaFTukAjrfJgtjVgSFu9acloe537eqCTX3WgebeOL8z8arAq0/In63jueVJ/xOLpbgY4oVcGvc0MO25+P5nUH0b3C6P0w9/nAwGB1e5cT22HP2gr1kKXvNRuwNG7MJ40EaTIPPAYTj8CJswy9X1jD49eYp26rw609uoOtX</latexit><latexit sha1_base64="4BQmU5xdV3l1Wr1LE2F7ugXO6bU=">AAACznichVHLbtNAFB2bVwmv8NixsciGBYrtqhJVV5G6gQUooKYpiq1wPblxR5mHNXNdNbIstvwbX8A/8BFMXBCkEeJqpDk658zVvWeKSgpHSfI9CG/cvHX7zt7d3r37Dx4+6j9+cupMbTlOuJHGnhXgUAqNExIk8ayyCKqQOC1Wxxt9eoHWCaNPaF1hrqDUYik4kKfm/W8Z4SVpYxXI5iNyYxeujY6iTOKSsmaW1XqBdtO92XW+XbTtUUcTNUITlmjbV9Hfxveg8I/HkRW6vGY5scD9pLWm/zX7hGB3PXlmRXlOWTvvD5LhfrKpaBekw+5OBqNnrKvxvP8jWxheK9TEJTg3S5OK8gYsCS6x7WW1w8oPByXOIKmgQps3JRqFZNfbsofar+rypvuTLbEB5dxaFTukAjrfJgtjVgSFu9acloe537eqCTX3WgebeOL8z8arAq0/In63jueVJ/xOLpbgY4oVcGvc0MO25+P5nUH0b3C6P0w9/nAwGB1e5cT22HP2gr1kKXvNRuwNG7MJ40EaTIPPAYTj8CJswy9X1jD49eYp26rw609uoOtX</latexit><latexit sha1_base64="4BQmU5xdV3l1Wr1LE2F7ugXO6bU=">AAACznichVHLbtNAFB2bVwmv8NixsciGBYrtqhJVV5G6gQUooKYpiq1wPblxR5mHNXNdNbIstvwbX8A/8BFMXBCkEeJqpDk658zVvWeKSgpHSfI9CG/cvHX7zt7d3r37Dx4+6j9+cupMbTlOuJHGnhXgUAqNExIk8ayyCKqQOC1Wxxt9eoHWCaNPaF1hrqDUYik4kKfm/W8Z4SVpYxXI5iNyYxeujY6iTOKSsmaW1XqBdtO92XW+XbTtUUcTNUITlmjbV9Hfxveg8I/HkRW6vGY5scD9pLWm/zX7hGB3PXlmRXlOWTvvD5LhfrKpaBekw+5OBqNnrKvxvP8jWxheK9TEJTg3S5OK8gYsCS6x7WW1w8oPByXOIKmgQps3JRqFZNfbsofar+rypvuTLbEB5dxaFTukAjrfJgtjVgSFu9acloe537eqCTX3WgebeOL8z8arAq0/In63jueVJ/xOLpbgY4oVcGvc0MO25+P5nUH0b3C6P0w9/nAwGB1e5cT22HP2gr1kKXvNRuwNG7MJ40EaTIPPAYTj8CJswy9X1jD49eYp26rw609uoOtX</latexit><latexit sha1_base64="BdXULtAExx+aIaS2lbVVxW1oVWU=">AAACznichVHLihNBFK1uX2N8RV26aczGhaS7B8FhVgNudKFEmUxG0k28XbnpKVIvqm4PhqZx67/5Bf6DH2ElRjQTxEtBHc45dbn3VGWl8JRl36P42vUbN28d3O7duXvv/oP+w0dn3jSO45gbadx5BR6l0DgmQRLPrUNQlcRJtXy11ieX6Lww+pRWFksFtRYLwYECNet/Kwg/kzZOgWw/IDdu7rvkOCkkLqhop0Wj5+jW3dt955t51x1vaKJWaMIaXfc8+dv4DhT+8XhyQtdXLKcOeJi00fS/Zh8R3L6nLJyoL6joZv1BNjzM1pXsg3y4ubMB29Zo1v9RzA1vFGriEryf5pmlsgVHgkvsekXj0YbhoMYpZBYsurKt0Sgkt9qVA9RhVV+2mz/ZEVtQ3q9UtUcqoItdsjJmSVD5K81pcVSGfW1DqHnQNrBNxz78bLqs0IUj0rerdGYDEXbyqYQQU6qAO+OHAXa9EM/vDJJ/g7PDYR7w+xeDk6NtUAfsCXvKnrGcvWQn7DUbsTHjUR5Nok8RxKP4Mu7iL7+scbR985jtVPz1J/Pt6wM=</latexit>

Songs :)

[SongId : integer, Name : string, Length : integer]*

<latexit sha1_base64="NU1kz8KfPJc2YDtnCff3PCakwco=">AAAConicdVHdahNBGJ1drdb401S9681ivBCU7KZUWnoV8KaKSktNW8guYXbyZTtk/pj5VgzDPovP5Tv0IZxsK5oEPwbmcM6ZD86Z0gjuMMt+RfG9+1sPHm4/6jx+8vTZTnf3+YXTtWUwYlpoe1VSB4IrGCFHAVfGApWlgMty/mGpX34H67hW33BhoJC0UnzGGcVATbo/c4QfqLSVVPhzrSrXJMdJLmCGuR/ntZqCXe72676P06Y5bklEzxVCBbZ5l/xr+0ol/PU4tFxVa5bPoCq83lxU5JZX15g3k24v6+9ny0k2waDf3llv+JK0czrp3uRTzWoJCpmgzo0HmcHCU4ucCWg6ee3AUDanFYxpZqgBW/gKtAS0i1U5QBUiuMK3Pa+InkrnFrLcICUNeVbIUus50tKtLcfZURHymhpBsaC10KcjF34rnZdgw+Hpl0U6MYEImVwqaKgplZRZ7foBNp1Qz58Okv+Di/3+IOCzg97w6LYnsk32yCvyhgzIIRmSE3JKRoRFW9Hb6CB6H7+OP8Vn8fmtNY7u3rwgKxPnvwFoMtfL</latexit><latexit sha1_base64="NU1kz8KfPJc2YDtnCff3PCakwco=">AAAConicdVHdahNBGJ1drdb401S9681ivBCU7KZUWnoV8KaKSktNW8guYXbyZTtk/pj5VgzDPovP5Tv0IZxsK5oEPwbmcM6ZD86Z0gjuMMt+RfG9+1sPHm4/6jx+8vTZTnf3+YXTtWUwYlpoe1VSB4IrGCFHAVfGApWlgMty/mGpX34H67hW33BhoJC0UnzGGcVATbo/c4QfqLSVVPhzrSrXJMdJLmCGuR/ntZqCXe72676P06Y5bklEzxVCBbZ5l/xr+0ol/PU4tFxVa5bPoCq83lxU5JZX15g3k24v6+9ny0k2waDf3llv+JK0czrp3uRTzWoJCpmgzo0HmcHCU4ucCWg6ee3AUDanFYxpZqgBW/gKtAS0i1U5QBUiuMK3Pa+InkrnFrLcICUNeVbIUus50tKtLcfZURHymhpBsaC10KcjF34rnZdgw+Hpl0U6MYEImVwqaKgplZRZ7foBNp1Qz58Okv+Di/3+IOCzg97w6LYnsk32yCvyhgzIIRmSE3JKRoRFW9Hb6CB6H7+OP8Vn8fmtNY7u3rwgKxPnvwFoMtfL</latexit><latexit sha1_base64="NU1kz8KfPJc2YDtnCff3PCakwco=">AAAConicdVHdahNBGJ1drdb401S9681ivBCU7KZUWnoV8KaKSktNW8guYXbyZTtk/pj5VgzDPovP5Tv0IZxsK5oEPwbmcM6ZD86Z0gjuMMt+RfG9+1sPHm4/6jx+8vTZTnf3+YXTtWUwYlpoe1VSB4IrGCFHAVfGApWlgMty/mGpX34H67hW33BhoJC0UnzGGcVATbo/c4QfqLSVVPhzrSrXJMdJLmCGuR/ntZqCXe72676P06Y5bklEzxVCBbZ5l/xr+0ol/PU4tFxVa5bPoCq83lxU5JZX15g3k24v6+9ny0k2waDf3llv+JK0czrp3uRTzWoJCpmgzo0HmcHCU4ucCWg6ee3AUDanFYxpZqgBW/gKtAS0i1U5QBUiuMK3Pa+InkrnFrLcICUNeVbIUus50tKtLcfZURHymhpBsaC10KcjF34rnZdgw+Hpl0U6MYEImVwqaKgplZRZ7foBNp1Qz58Okv+Di/3+IOCzg97w6LYnsk32yCvyhgzIIRmSE3JKRoRFW9Hb6CB6H7+OP8Vn8fmtNY7u3rwgKxPnvwFoMtfL</latexit><latexit sha1_base64="s5DRjbsMmoEpsjBGdlrWcJNCsaA=">AAAConicdVHdahNBGJ1dra3xL9ZLbxbjhaBkN6XS0quCNyoqLTVtIbOE2cmX7ZD5Y+ZbaRj2WXwu38GHcBIjmgQ/BuZwzpkPzpnKSuGxKH4k6Z27O/d29+53Hjx89PhJ9+n+pTeN4zDkRhp3XTEPUmgYokAJ19YBU5WEq2r2bqFffQPnhdFfcW6hVKzWYio4w0iNu98pwi1q4xST4cLo2rfZSUYlTJGGEW30BNxid9j0fZi07cmSRAxCI9Tg2jfZv7YvTMFfj0cndL1h+QS6xpvtRSV1or5B2o67vaJ/UCwm2waD/vIuemQ1Z+PuTzoxvFGgkUvm/WhQWCwDcyi4hLZDGw+W8RmrYcQKyyy4MtRgFKCbr8sR6hjBl2HZ85oYmPJ+rqotUrGYZ42sjJkhq/zGcpwelzGvbRA0j9oShnzo42/lswpcPCL/PM/HNhIxk88lizXlinFnfD/CthPr+dNB9n9wedAfRHx+2Ds9XhW1R56TF+QVGZAjckrekzMyJDzZSV4nh8nb9GX6MT1PL35b02T15hlZm5T+Au1/13c=</latexit>

publish : {[ArtistId : integer, RecordId : integer]}<latexit sha1_base64="HIf52bvOcAf9Ve5ko2ybZMjcy2g=">AAAChXicdVFdixMxFM2MH7tWXesHKPgy2BcftDNdFl32xYov+iCsYncXOkNJ0ttpaL5I7oglzIv/0n/ggz/CdFZha/ESyOGcnOTeE2al8FgUP5L02vUbN/f2b/Vu37l7cK9//8GZN43jMOFGGnfBqAcpNExQoIQL64AqJuGcrd5t9POv4Lww+guuLVSK1losBKcYqVn/e4nwDbVxispgGxafXLbZSVZKWGAZplfltw5jQx/m7UnHIgahEWpw7YusbPQc3KaLcNXyGbhx82jZ9VSlE/USy3bWHxTDw2JT2S4YDbu9GIwfka5OZ/1f5dzwRoFGLqn301FhsQo0tscltL2y8WApX9EaprSw1IKrQg1GAbr1thyhpgp8Fboot8RAlfdrxXZIRXG5TTJjVkiZ/+dyXBxXcV7bIGgetQ6GfOLjh+QrBi4ukX9c5zMbiTiTzyWNMeWKcmf8MMK2F+P5m0H2f3B2OBxF/OloMD6+zInsk6fkGXlORuQ1GZP35JRMCCc/k4PkcfIk3Utfpkfpq8ujafLH85BsVfrmN5SLy94=</latexit><latexit sha1_base64="HIf52bvOcAf9Ve5ko2ybZMjcy2g=">AAAChXicdVFdixMxFM2MH7tWXesHKPgy2BcftDNdFl32xYov+iCsYncXOkNJ0ttpaL5I7oglzIv/0n/ggz/CdFZha/ESyOGcnOTeE2al8FgUP5L02vUbN/f2b/Vu37l7cK9//8GZN43jMOFGGnfBqAcpNExQoIQL64AqJuGcrd5t9POv4Lww+guuLVSK1losBKcYqVn/e4nwDbVxispgGxafXLbZSVZKWGAZplfltw5jQx/m7UnHIgahEWpw7YusbPQc3KaLcNXyGbhx82jZ9VSlE/USy3bWHxTDw2JT2S4YDbu9GIwfka5OZ/1f5dzwRoFGLqn301FhsQo0tscltL2y8WApX9EaprSw1IKrQg1GAbr1thyhpgp8Fboot8RAlfdrxXZIRXG5TTJjVkiZ/+dyXBxXcV7bIGgetQ6GfOLjh+QrBi4ukX9c5zMbiTiTzyWNMeWKcmf8MMK2F+P5m0H2f3B2OBxF/OloMD6+zInsk6fkGXlORuQ1GZP35JRMCCc/k4PkcfIk3Utfpkfpq8ujafLH85BsVfrmN5SLy94=</latexit><latexit sha1_base64="HIf52bvOcAf9Ve5ko2ybZMjcy2g=">AAAChXicdVFdixMxFM2MH7tWXesHKPgy2BcftDNdFl32xYov+iCsYncXOkNJ0ttpaL5I7oglzIv/0n/ggz/CdFZha/ESyOGcnOTeE2al8FgUP5L02vUbN/f2b/Vu37l7cK9//8GZN43jMOFGGnfBqAcpNExQoIQL64AqJuGcrd5t9POv4Lww+guuLVSK1losBKcYqVn/e4nwDbVxispgGxafXLbZSVZKWGAZplfltw5jQx/m7UnHIgahEWpw7YusbPQc3KaLcNXyGbhx82jZ9VSlE/USy3bWHxTDw2JT2S4YDbu9GIwfka5OZ/1f5dzwRoFGLqn301FhsQo0tscltL2y8WApX9EaprSw1IKrQg1GAbr1thyhpgp8Fboot8RAlfdrxXZIRXG5TTJjVkiZ/+dyXBxXcV7bIGgetQ6GfOLjh+QrBi4ukX9c5zMbiTiTzyWNMeWKcmf8MMK2F+P5m0H2f3B2OBxF/OloMD6+zInsk6fkGXlORuQ1GZP35JRMCCc/k4PkcfIk3Utfpkfpq8ujafLH85BsVfrmN5SLy94=</latexit><latexit sha1_base64="C0xL9YuEtFc3LSPl7dacDjmPUEs=">AAAChXicdVHLbhMxFPUMj5YAbWgXILEZkQ0LyEyqCqpuKGIDC6SCSFspM4ps52ZixS/Zd1Ajazb9S/6ABR+BE4LUEHFlyUfn+Nj3HjMrhcei+JGkd+7eu7+z+6Dz8NHjvf3uk4MLbxrHYciNNO6KUQ9SaBiiQAlX1gFVTMIlm39Y6pffwXlh9DdcWKgUrbWYCk4xUuPuTYlwjdo4RWWwDYtPztrsNCslTLEMo9vye4exoU+T9nTFIgahEWpw7ausbPQE3LKLcNvyFbhxk2jZ9lSlE/UMy3bc7RX9o2JZ2TYY9Fd70SPrOh93f5UTwxsFGrmk3o8GhcUq0Ngel9B2ysaDpXxOaxjRwlILrgo1GAXoFptyhJoq8FVYRbkhBqq8Xyi2RSqKs02SGTNHyvw/l+P0pIrz2gZB86itYMiHPn5IPmfg4hL550U+tpGIM/lc0hhTrih3xvcjbDsxnr8ZZP8HF0f9QcRfjntnJ+ugdslz8oK8JAPylpyRj+ScDAknP5O95GnyLN1JX6fH6Zs/R9Nk7TkkG5W++w0Z58uK</latexit>

include :Ó

[RecordId : integer, SongId : integer]Ô

<latexit sha1_base64="9hr7FErze/+ya1B6SmblVI8Npgw=">AAACg3icdVFdaxNBFJ3dtlpj1VRpX3xZzIugZHdDoaUgBHyxD0JrTVvILmF29mY7ZL6YuVsaloX+LP+Kf8Anf4STtIXG6uXCHM4598I9UxjBHSbJzyBcW9948nTzWef51ouXr7rbr8+cri2DEdNC24uCOhBcwQg5CrgwFqgsBJwXs88L/fwKrONafce5gVzSSvEpZxQ9NeneZAjXqLSVVDRcMVGX0EaHUSZgilkzzmpVgl1sbx46vwHTtjwq28Mli+hnESqw7cfooe9Uq+pfrjbPLK8uMWsn3V7SHySLih6DtL98k95w70ceEUKOJ93fWalZLUEhE9S5cZoYzBtqkTMBbSerHRjKZrSCMU0MNWDzpgItAe18VfZQUQkub5ZBrogNlc7NZfGIlBQvV8lC6xnSwv21HKcHuT/Y1AiKeW0Jm3jk/HfEswKsbx5/nccT4wl/k4sF9TnFkjKrXd/DtuPjuc8g+j84G/RTj0/S3vCA3NYmeUvekfckJftkSL6QYzIijPwKtoKdYDfcCD+Eg3Dv1hoGdzNvyEqFn/4APCnMKQ==</latexit><latexit sha1_base64="Y3LiACXWq69xe0U+Ilb9X6bqCeI=">AAACg3icdVFdaxNBFJ1drda0amyxL74s5qVQye6GgqUgBPqiD0Krpi1klzA7e7MdMl/M3BXDsuCbf6l/pX/AJ3+Ek7SFptXLhTmcc+6Fe6YwgjtMkqsgfPR47cnT9Wedjc3nL152X22dOl1bBiOmhbbnBXUguIIRchRwbixQWQg4K2ZHC/3sO1jHtfqGcwO5pJXiU84oemrS/Zkh/EClraSi4YqJuoQ2OowyAVPMmnFWqxLsYntz1/kFmLblp7I9XLKIfhahAtu+i+76vmpV/cvV5pnl1QVm7aTbS/qDZFHRQ5D2l2/SG+5f5pH4tXU86f7JSs1qCQqZoM6N08Rg3lCLnAloO1ntwFA2oxWMaWKoAZs3FWgJaOersoeKSnB5swxyRWyodG4uiwekpHixShZaz5AW7t5ynB7k/mBTIyjmtSVs4pHz3xHPCrC+efx5Hk+MJ/xNLhbU5xRLyqx2fQ/bjo/nNoPo/+B00E89Pkl7wwNyXevkDXlLdklK3pMh+UiOyYgw8jvYDF4HO+FauBcOwv1raxjczGyTlQo//AWzws0u</latexit><latexit sha1_base64="Y3LiACXWq69xe0U+Ilb9X6bqCeI=">AAACg3icdVFdaxNBFJ1drda0amyxL74s5qVQye6GgqUgBPqiD0Krpi1klzA7e7MdMl/M3BXDsuCbf6l/pX/AJ3+Ek7SFptXLhTmcc+6Fe6YwgjtMkqsgfPR47cnT9Wedjc3nL152X22dOl1bBiOmhbbnBXUguIIRchRwbixQWQg4K2ZHC/3sO1jHtfqGcwO5pJXiU84oemrS/Zkh/EClraSi4YqJuoQ2OowyAVPMmnFWqxLsYntz1/kFmLblp7I9XLKIfhahAtu+i+76vmpV/cvV5pnl1QVm7aTbS/qDZFHRQ5D2l2/SG+5f5pH4tXU86f7JSs1qCQqZoM6N08Rg3lCLnAloO1ntwFA2oxWMaWKoAZs3FWgJaOersoeKSnB5swxyRWyodG4uiwekpHixShZaz5AW7t5ynB7k/mBTIyjmtSVs4pHz3xHPCrC+efx5Hk+MJ/xNLhbU5xRLyqx2fQ/bjo/nNoPo/+B00E89Pkl7wwNyXevkDXlLdklK3pMh+UiOyYgw8jvYDF4HO+FauBcOwv1raxjczGyTlQo//AWzws0u</latexit><latexit sha1_base64="/D/J2oXToI6k6Fhe10um6u3GMXs=">AAACg3icdVFNixNBEO0ZXV3jqlHRi5fBXAQlMxMElwVhwYsehPUjuwuZIdT0VGab9BfdNWIYBvyb/gFP/gg7McLG1aKgH++9KqjXlZXCU5Z9j+Jr1/du3Ny/Nbh9cOfuveH9B6fetI7jlBtp3HkFHqXQOCVBEs+tQ1CVxLNq+Watn31B54XRn2llsVTQaLEQHChQ8+G3gvAraeMUyE5oLtsa++QoKSQuqOhmRatrdOvt3WXnR+TG1e/q/mjDEoVZwgZd/yK57PtkdPMvV18WTjQXVPTz4SgbT7J1JVdBPt682Yht62Q+/FnUhrcKNXEJ3s/yzFLZgSPBJfaDovVogS+hwRlkFiy6smvQKCS32pUD1KDQl90myB2xA+X9SlVXSAV0sUtWxiwJKv/XclocluFg2xJqHrQN7NKpD9+RLit0oUX6fpXObSDCTT6VEHJKFXBn/DjAfhDi+ZNB8n9wOhnnAX/IR8eH26D22RP2lD1jOXvFjtlbdsKmjLMf0UH0KHoc78XP40n88rc1jrYzD9lOxa9/AdJRyoA=</latexit>

perform :Ó

[ArtistId : integer, SongId : integer]Ô

<latexit sha1_base64="FV9dvL6ZS67fog5YMe2GmZ9ST0Q=">AAACg3icdVFdaxNBFJ1drdZYNVral74s5kVQsruhYCkIEV/qQ6FF0xayS5id3GyHzBczd0vDsODP8q/0D/jkj3CSKjRWLwNzOOfM5d4zlRHcYZbdRPGDhxuPHm8+6Tzdevb8RfflqzOnG8tgxLTQ9qKiDgRXMEKOAi6MBSorAefV/NNSP78C67hWX3FhoJS0VnzGGcVATbrfCoRrVNpKKrwBOwuoTQ6TQsAMCz8uGjUFu+zu7zo/WgyzfZ62hysW0XOFUINt3yV3fV+0qv/lasvC8voSi3bS7WX9Qbas5D7I+6s76w33v5cJIeRk0v1ZTDVrJChkgjo3zjODpadhIiag7RSNA0PZnNYwppmhYanS16AloF2sywEqKsGVfhXkmuipdG4hq3ukpHi5TlZaz5FW7q/mODsow8KmQVAsaCvo05EL35HOK7Dh8PR4kU5MIMJOLhU05JRKyqx2/QDbTojnTwbJ/8HZoJ8HfJr3hgfktjbJHnlN3pCcvCdDckROyIgw8iPainai3XgjfhsP4v1baxz9frNN1ir+8AuYhsxY</latexit><latexit sha1_base64="LzLRZAP4pkjNrOdrGfC2ar4v9cY=">AAACg3icdVFdaxNBFJ1dW62xamzRF18W8yIo2d1QsBSEFF/qg1CpaQvZJcxObrZD5ouZu2IYFnzzL/lX/AM+9Uc4SVtorF4G5nDOmcu9ZyojuMMs+xXF9zY27z/Yeth5tP34ydPus51TpxvLYMS00Pa8og4EVzBCjgLOjQUqKwFn1fzDUj/7CtZxrb7gwkApaa34jDOKgZp0vxcI31BpK6nwBuwsoDY5SAoBMyz8uGjUFOyyu7/tPLQYZvs4bQ9WLKLnCqEG275NbvtOtKr/5WrLwvL6Aot20u1l/UG2rOQuyPurO+sN936WifixczzpXhZTzRoJCpmgzo3zzGDpaZiICWg7RePAUDanNYxpZmhYqvQ1aAloF+tygIpKcKVfBbkmeiqdW8jqDikpXqyTldZzpJX7qznO9suwsGkQFAvaCvp05MJ3pPMKbDg8/bRIJyYQYSeXChpySiVlVrt+gG0nxHOTQfJ/cDro5wF/znvDfXJVW+QleUVek5y8I0NyRI7JiDDyO9qOnkcv4s34TTyI966scXT9ZpesVfz+DxAuzV0=</latexit><latexit sha1_base64="LzLRZAP4pkjNrOdrGfC2ar4v9cY=">AAACg3icdVFdaxNBFJ1dW62xamzRF18W8yIo2d1QsBSEFF/qg1CpaQvZJcxObrZD5ouZu2IYFnzzL/lX/AM+9Uc4SVtorF4G5nDOmcu9ZyojuMMs+xXF9zY27z/Yeth5tP34ydPus51TpxvLYMS00Pa8og4EVzBCjgLOjQUqKwFn1fzDUj/7CtZxrb7gwkApaa34jDOKgZp0vxcI31BpK6nwBuwsoDY5SAoBMyz8uGjUFOyyu7/tPLQYZvs4bQ9WLKLnCqEG275NbvtOtKr/5WrLwvL6Aot20u1l/UG2rOQuyPurO+sN936WifixczzpXhZTzRoJCpmgzo3zzGDpaZiICWg7RePAUDanNYxpZmhYqvQ1aAloF+tygIpKcKVfBbkmeiqdW8jqDikpXqyTldZzpJX7qznO9suwsGkQFAvaCvp05MJ3pPMKbDg8/bRIJyYQYSeXChpySiVlVrt+gG0nxHOTQfJ/cDro5wF/znvDfXJVW+QleUVek5y8I0NyRI7JiDDyO9qOnkcv4s34TTyI966scXT9ZpesVfz+DxAuzV0=</latexit><latexit sha1_base64="wEc5Ien3WowBF9tlDfmmsdV2Cu0=">AAACg3icdVFdaxNBFJ1dW1vTqlHRl74s5qXQkt0NQkuhUPFFH4RKTVvILmF2crMdMl/M3JWGYcG/6R/wyR/hJEZorL0MzOGcM5d7z1RGcIdZ9iOKH21sPt7aftLZ2X367Hn3xctLpxvLYMi00Pa6og4EVzBEjgKujQUqKwFX1ezDQr/6BtZxrb7i3EApaa34lDOKgRp3vxcIt6i0lVR4A3YaUJucJIWAKRZ+VDRqAnbR3d91vrcYZvs0aU+WLKLnCqEG2x4md30XWtX/c7VlYXl9g0U77vay/iBbVHIf5P3lnfXIqs7H3V/FRLNGgkImqHOjPDNYehomYgLaTtE4MJTNaA0jmhkalip9DVoC2vm6HKCiElzpl0GuiZ5K5+ayukdKijfrZKX1DGnl/mmO0+MyLGwaBMWCtoQ+HbrwHemsAhsOTz/P07EJRNjJpYKGnFJJmdWuH2DbCfH8zSB5GFwO+nnAX/Le2fEqqG2yR96SfZKTI3JGPpJzMiSM/Ix2o9fRm3gzPogH8bs/1jhavXlF1io+/Q0uvcqv</latexit>

31

Zusammenfassung§ Relationales Modell als vorherrschendes Datenmodell

§ Relationen (Tabellen) besitzen Attribute (Spalten) mit Wertebereichen und beinhalten Tupel (Zeilen)

§ Umsetzung eines konzeptuellen Modells in Relationen

§ Entitytypen werden zu eigenen Relationen§ Beziehungstypen werden zu eigenen Relationen

§ Relationen zu 1:1:-, 1:N- und N:1-Beziehungstypenkönnen (müssen aber nicht) eliminiert werden

Datenbanken / Kapitel 3: Relationales Modell & Algebra

32

Literatur[1] A. Kemper und A. Eickler: Datenbanksysteme – Eine

Einführung, De Gruyter Oldenbourg, 2015 (Kapitel 3)

[2] E. F. Codd: A Relational Model of Data for Large Shared Data Banks, CACM 13(6), 1970

[3] G. Saake, K.-U. Sattler und A. Heuer:Datenbanken - Konzepte und Sprachen,mitp Professional, 2013 (Kapitel 4)

Datenbanken / Kapitel 3: Relationales Modell & Algebra

Recommended