3. Relationales Modell & Algebra

Ähnliche Dokumente
3. Relationales Modell & Algebra

Rückblick: Datenbankentwurf

2. Relationale Datenbanken

3. Relationales Modell & Algebra

Datenbankanwendungen werden oft über einen sehr langen Zeitraum (z.b. Jahrzehnte) eingesetzt

Rückblick: Entity-Relationship-Modell

Rückblick: Relationales Modell

Rückblick: Relationale Normalisierung

5. Relationale Entwurfstheorie

Grundlagen des relationalen l Modells

Vorlesungen. Studenten. hören. Grundzüge. Fichte Glaube und Wissen Jonas

Java Database Connectivity (JDBC) zum Zugriff aus in z.b. in Java geschriebenen Applikationen

Relationales Datenmodell Relationale Algebra

Abstraktionsebenen des Datenbankentwurfs

Inhalt. 2.1 Datenbankentwurf. 2.2 Relationales Modell. 2.3 Relationale Entwurfstheorie. 2.4 Relationale Algebra. 2.5 Structured Query Language (SQL)

Datenbankentwurf. Abstraktionsebenen des Datenbankentwurfs. 1. Konzeptuelle Ebene. 2. Implementationsebene (Logische Ebene) 3.

Datenbanken & Informationssysteme (WS 2016/2017)

Rückblick: Relationale Entwurfstheorie

Wiederholung VU Datenmodellierung

Wiederholung VU Datenmodellierung

E-R-Modell zu Relationenschema

Konzeptuelle Modellierung

Schema: konkrete Beschreibung einer bestimmten. (unter Verwendung eines Datenmodells)

Datenbankentwurf. Abstraktionsebenen des Datenbankentwurfs: 3. Konzeptuelle Ebene. 5. Implementationsebene. 7. Physische Ebene.

Universität Augsburg, Institut für Informatik WS 2009/2010 Prof. Dr. W. Kießling 06. Nov Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 2

Übung 3. Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017)

Das relationale Datenmodell

Datenmodelle und Datenbanken 1 Internet-Datenbanken

Das Relationale Modell

Entity Relationship Modell

Datenbanken Unit 3: Das relationale Modell

Datenmodelle. Einführung in das Entity-Relationship-Modell. Datenbankmodelle. Beispiel für ein ER-Schema. Kunde( Meier, , ) 41, Meier

Datenmodelle dienen der Darstellung der Informationsstruktur, nicht der Darstellung der Informationen selbst. Motivation

Kapitel 3: Datenbanksysteme

Datenbanken Unit 3: Das relationale Modell

Kapitel 3: Datenbanksysteme

Kapitel 2: Das Relationale Modell

Kapitel DB:IV (Fortsetzung)

Datenmodellierung. Ausschnitt der Realen Miniwelt. Manuelle/intellektuelle Modellierung. Konzeptuelles Schema (E/R- oder UML-Schema)

Übung zur Vorlesung Einführung in die Informatik für Hörer anderer Fachrichtungen (WZW) IN8003, SS 2011 Prof. Dr. J. Schlichter

Datenbankentwurf. VO Datenmodellierung. Katrin Seyr. Institut für Informationssysteme Technische Universität Wien.

PD Dr.-Ing. F. Lobeck. Seite 6

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung

Datenbankentwurf. Kapitel 3. Datenbankentwurf 76 / 508

Kapitel 1: Einführung 1.1 Datenbanken?

Kapitel DB:IV (Fortsetzung)

Einführung, Entity-Relationship Modell 9. DATENBANKSYSTEME: DAS ENTITY RELATIONSHIP MODELL

Das relationale Modell

Kapitel 3: Datenbanksysteme

Vorlesung Datenbanksysteme vom

Kapitel DB:III (Fortsetzung)

Informations-, Daten- und Wissensmanagement

Grundlagen des relationalen Modells

Datenintegrität. Kapitel 5 1

Kapitel 2: Das Relationale Modell

Datenbanken. Seminararbeit. Einführung in das wissenschaftliche Arbeiten

Medizininformatik Software Engineering

Wirtschaftsinformatik 7a: Datenbanken. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte

3. Grundlagen relationaler Datenbanksysteme

Transkript:

3. Relationales Modell & Algebra

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 eines Entity-Relationship-Diagramms in Relationen übersetzen? 3.3 Relationale Algebra Wie können wir Daten extrahieren, d.h. Anfragen auf den gespeicherten Daten formulieren? 2

3.1 Relationales Modell Relationales Modell (auch: Relationenmodell) als das Datenmodell hinter den heute vorherrschenden relationalen 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 Studenten MatrNr Vorname Name Semester 13765 Moritz Müller 1 18877 Peter Parker 7 18879 Marty McFly 3 3

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) 4

Relationen Relation R ist Untermenge des kartesischen Produkts (Kreuzprodukts) von n Wertebereichen D 1,, D n R D 1... D n Beispiel: Relation Studenten mit vier Komponenten (Matrikelnummer, Vorname, Name und Semester) Studenten integer string string integer Ein Element der Relation R heißt (n-stelliges) Tupel Beispiel: (13765, Moritz, Müller, 1) als Tupel in Studenten 5

Attribute und Schlüssel Komponenten werden zur besseren Identifikation benannt Attribute einer Relationen setzen sich zusammen aus je einem Attributnamen A i (z.b. MatrNr) einem Wertebereich dom(a i ) (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 6

Relationen Relationen werden nach folgendem Muster spezifiziert R : {[ A 1 : D 1,...,A n : D n ]} dabei werden alle Schlüsselattribute unterstrichen Beispiel: Relation Studenten Studenten : [ MatrNr : integer, Vorname : string, Name : string, Semester : integer ] mit eindeutig identifizierendem Schlüsselattribut MatrNr 7

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 Studenten MatrNr Vorname Name Semester 13765 Moritz Müller 1 18877 Peter Parker 7 18879 Marty McFly 3 mit vier Attributen und drei Tupeln 8

Ausprägung vs. Schema Unterscheidung zwischen Ausprägung (konkreten Daten) und Schema (Attributnamen A i mit Domänen D i ) Schema der Relation sch(r) ist die Menge aller Attribute sch(r) ={A 1,...,A n } dom(a i ) bezeichnet die Domäne des Attributs A i dom(a i )=D i 9

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 Normalformen zur Vermeidung von Redundanzen und Anomalien 10

ER-Diagramm für Hochschule MatrNr VorlNr Vorname Studenten hören Vorlesungen SWS Name Titel Semester prüfen lesen Note PersNr Vorname Assistenten arbeiten für Professoren Name Tätigkeit PersNr Fach Vorname Name 11

ER-Diagramm für Musik-Streaming-Dienst ArtistId, Name, YearBegin, YearEnd RecordId, Name, TrackCount, Year Artists publish Records include perform Songs Description SongId, Name, Length 12

Entitytypen als Relationen Jeder Entitytyp wird zu eigener Relation mit entsprechenden Attributen und Schlüssel Beispiel: Für unser ER-Diagramm Hochschule erhalten wir 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, Tätigkeit : string ] 13

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 prüfen : [ MatrNr : integer, VorlNr : integer, PersNr : integer, Note : integer ] Schlüssel der Relation ist von der Kardinalität des Beziehungstyps abhängig 14

N:M-Beziehungstypen als Relationen Schlüssel der Relation zu einem N:M-Beziehungstyp beinhaltet übernommene Attribute aus allen Fremdschlüsseln Beispiel: Studenten hören Vorlesungen hören : [ MatrNr : integer, VorlNr : integer ] 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) 15

1:N-Beziehungstypen als Relation Schlüssel der Relation zu einem 1:N-Beziehungstyp beinhaltet übernommene Attribute aus dem Fremdschlüssel des rechten Entitytyps E 2 Beispiel: Professoren lesen Vorlesungen lesen : [ PersNr : integer, VorlNr : integer ] Wären nämlich beide der übernommenen Attribute (PersNr und VorlNr) im Schlüssel, könnte eine Vorlesung von mehreren Professoren gelesen werden 16

N:1-Beziehungstypen als Relationen Schlüssel der Relation zu einem N:1 Beziehungstyp beinhaltet übernommene Attribute aus dem Fremdschlüssel des linken Entitytyps E 1 Beispiel: Assistenten arbeiten für Professor arbeitenfür : [ AssPersNr : integer, ProfPersNr : integer ] In diesem Fall ist eine Umbenennung der übernommenen Attribute notwendig, da beide ursprünglich gleich heißen 17

1:1-Beziehungstypen als Relationen Schlüssel der Relation zu einem 1:1-Beziehungstyp beinhaltet übernommene Attribute aus dem Fremdschlüssel nur eines Entitytyps (E 1 oder E 2 ) Beispiel: Kennzeichen gehören zu Fahrzeug gehörtzu : [ Kennzeichen: integer, FahrzeugNr : integer ] gehörtzu : oder [ Kennzeichen: integer, FahrzeugNr : integer ] Dies garantiert jedoch nicht die Integrität unserer Daten; mehr zum Thema Datenintegrität später (Kapitel 6) 18

Umsetzung schwacher Entitytypen RaumNr, Kapazität GebNr, Höhe Räume N 1 liegen in Gebäude 19

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 Gebäude : [ GebNr : integer, Höhe : integer ] Räume : [ GebNr : integer, RaumNr : integer, Kapazität : integer ] 20

Umsetzungsübung Musik-Streaming-Dienst ArtistId, Name, YearBegin, YearEnd RecordId, Name, TrackCount, Year Artists 1 publish N Records N N include M perform M Songs Description SongId, Name, Length 21

Umsetzungsübung Musik-Streaming-Dienst 22

Umsetzung der Generalisierung PersNr, Vorname, Name Mitarbeiter ist-ein ist-ein Tätigkeit Assistenten Professoren Fach 23

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 Mitarbeiter : [ PersNr : integer, Vorname : string, Name : string ] Professoren : [ PersNr : integer, Fach : string ] Assistenten : [ PersNr : integer, Tätigkeit : string ] 24

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! 25

Eliminierung von Relationen (1:N) Bei 1:N-Beziehungstypen werden der Schlüssel des linken Entitytyps sowie eventuelle Attribute des Beziehungstyps in Relation des rechten Entitytyps aufgenommen Beispiel: Professoren lesen Vorlesungen lesen : [ PersNr : integer, VorlNr : integer ] Vorlesungen : [ VorlNr : integer, SWS : integer, Titel : string ] wird zu Vorlesungen : [ VorlNr : integer, SWS : integer, Titel : string, PersNr : integer ] 26

Eliminierung von Relationen (N:1) Bei N:1-Beziehungstypen werden der Schlüssel des rechten Entitytyps sowie eventuelle Attribute des Beziehungstyps in Relation des linken Entitytyps aufgenommen Beispiel: Assistenten arbeiten für Professoren Assistenten : [ PersNr : integer, Vorname : string, Name : string, Tätigkeit : string ] arbeitenfür : [ AssPersNr : integer, ProfPersNr : integer ] wird zu Assistenten : [ PersNr : integer,..., ProfPersNr : integer, ] 27

Eliminierung von Relationen (1:1) Bei 1:1-Beziehungstypen werden der Schlüssel des linken (rechten) Entitytyps sowie eventuelle Attribute des Beziehungstyps in Relation des rechten (linken) Entitytyps aufgenommen Beispiel: Kennzeichen gehören zu Fahrzeugen Kennzeichen : [Kennzeichen:integer,...] gehörtzu : [ Kennzeichen: integer, FahrzeugNr : integer ] wird zu Kennzeichen : [ Kennzeichen: integer,..., FahrzeugNr : integer, ] 28

Eliminierung von Relationen (1:1) Beispiel: Kennzeichen gehören zu Fahrzeugen gehörtzu : [ Kennzeichen: integer, FahrzeugNr : integer ] Fahrzeuge : [ FahrzeugNr : integer,...] wird zu Fahrzeuge : [ FahrzeugNr : integer,..., Kennzeichen : integer, ] 29

<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> <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> <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> <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> <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> Eliminierungsübung Musik-Streaming-Dienst Artists : {[Artistid : integer, Name : string, YearBegin : integer, YearEnd : integer]} Records : {[RecordId : integer, Name : string, TrackCount : integer, Year : integer]} Songs : ) [SongId : integer, Name : string, Length : integer] * publish : {[ArtistId : integer, RecordId : integer]} include : perform : [RecordId : integer, SongId : integer] [ArtistId : integer, SongId : integer] 30

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-Beziehungstypen können (müssen aber nicht) eliminiert werden 31

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) 32