3. relationales modell & algebra · § 3.3 relationale algebra § wie können wir daten...
Post on 16-Jun-2020
3 Views
Preview:
TRANSCRIPT
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
top related