{"id":1942,"date":"2021-05-22T17:39:50","date_gmt":"2021-05-22T15:39:50","guid":{"rendered":"https:\/\/cbrell.de\/blog\/?p=1942"},"modified":"2025-11-18T23:01:58","modified_gmt":"2025-11-18T22:01:58","slug":"datenmodellierung-mit-dem-relationenmodell-nach-codd","status":"publish","type":"post","link":"https:\/\/cbrell.de\/blog\/datenmodellierung-mit-dem-relationenmodell-nach-codd\/","title":{"rendered":"Datenmodellierung mit dem Relationenmodell nach Codd"},"content":{"rendered":"<p><em>Die \u201erelationale Denke\u201c von Codd. Codd stellt in seinem Aufsatz von 1970 die relationale Denkweise der in den 70ern \u00fcblichen graphenorientierten Denkweise gegen\u00fcber. In der graphenorientierten Sichtweise werden Daten als Knoten und Beziehungen zwischen den Daten als Kanten dargestellt. Das f\u00fchrt dann zu den hierarchischen Datenmodellen. Ebenso war es fr\u00fcher \u00fcblich, dass die logische Struktur der Daten eng mit der technischen Organisation der Daten auf dem Datentr\u00e4ger verkn\u00fcpft war. Davon wollte Codd loskommen, insbesondere, weil durch die Verkn\u00fcpfung eine Fachfrau f\u00fcr Daten auch gleichzeitig eine Fachfrau f\u00fcr Computertechnik sein musste. Die Fachleute sollten sich auf die logische Sicht der Daten konzentrieren k\u00f6nnen. Im Weiteren lernen Sie nun der Weg von unstrukturierten Daten zu einem relationalen Modell anhand eines lebensweltlichen Beispiels in drei Schritten kennen.<\/em><\/p>\n<p>Stand: 22.05.2021<\/p>\n<p><a href=\"https:\/\/cbrell.de\/blog\/methoden-der-wirtschaftsinformatik-ueberblick\/\">Zum \u00dcberblick \u00fcber die Methoden der Wirtschaftsinformati<\/a>k<\/p>\n<h2>Einordnung des Coddschen Relationenmodells in ARIS<\/h2>\n<p>In der Visualisierung des Aris-Rahmenkonzepts, dem \u201eARIS-Haus\u201c, finden Sie auf der linken Seite die Daten-Perspektive. Das Relationenmodell von Codd ist in der Daten-Perspektive in der Beschreibungsebene \u201eDV-Konzept\u201c eingeordnet (Abb. 1).<\/p>\n<p><a href=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2021\/05\/im-ARIS-Haus-Relationenmodell.png\"><img decoding=\"async\" class=\"alignnone wp-image-1945 size-medium\" src=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2021\/05\/im-ARIS-Haus-Relationenmodell-300x154.png\" alt=\"Das Relationenmodell eigeordnet in das ARIS-Rahmenkonzept.\" width=\"300\" height=\"154\" srcset=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2021\/05\/im-ARIS-Haus-Relationenmodell-300x154.png 300w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2021\/05\/im-ARIS-Haus-Relationenmodell.png 1024w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2021\/05\/im-ARIS-Haus-Relationenmodell-768x393.png 768w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2021\/05\/im-ARIS-Haus-Relationenmodell-1536x786.png 1536w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Abb. 1: Einordnung der Datenmodellierung mit Relationen im ARIS-Rahmenkonzept.<\/p>\n<h2>Schritt 1: Ausgangspunkt unstrukturierte Daten (Das Problem)<\/h2>\n<p>Daten liegen oft in einer Form vor, so dass zwar Menschen mit den Daten arbeiten k\u00f6nnen, es jedoch schwer bis unm\u00f6glich ist, Computerprogramme f\u00fcr die Verarbeitung zu entwickeln.<\/p>\n<p>Als Veranschaulichungs-Beispiel sollen die Dokumentationspflichten eines Hobbyimkers dienen. Ein Hobbyimker soll aufschreiben, was er wann mit seinen Bienen tut. (Das Folgende gilt f\u00fcr alle Wissenssammlungen und Dokumentationen und ist nicht auf das Beispiel des Hobbyimkers beschr\u00e4nkt) Ein solches \u201eImker-Logbuch\u201c in einem Notizbuch oder als einfache Textdatei k\u00f6nnte wie folgt aussehen:<\/p>\n<pre><strong>Imker-Logbuch 2021<\/strong>\r\n<strong>5.5.2021<\/strong>\r\n<strong>B1902<\/strong>\r\nGewicht vor 16,61, nach 14,7\r\nHonigzarge sch\u00f6n ausgebaut noch nicht ganz voll,Neue Honigzarge gegeben\r\nZwei verdeckte Weiselzellen gefunden\r\nAbleger aus vier Waben (1 Honig, 1 Pollen 2 alt und verdeckte Brut) -&gt; B2103\r\nF\u00fcnf Zargen sind unpraktisch\r\n<strong>Neuer Ableger B2103<\/strong>\r\n1 Honig, Pollen und 2 alte Brut, 4,8 kg \r\n<strong>01.05.2021<\/strong>\r\nKontrolle Ableger B2101, B2102\r\n<strong>Volk B2101 B2102<\/strong>\r\nKennzeichen blauer Deckel brauner Deckel\r\nSensor gr\u00fcn rot\r\nGewicht 28.04 kg 4,95 4,55\r\nGewicht 01.05. kg 4,70 4,30\r\nFlug wenig, zielgerichtet wenig, orientierend<\/pre>\n<p><em>Abb. 2: Beispiel unstrukturiertes Imker-Logbuch f\u00fcr die Kontrollen an Bienenst\u00f6cken<\/em><\/p>\n<h2>Schritt 2: Strukturierungsversuch \u201eaufger\u00e4umter aufschreiben\u201c (Die Verbesserungsidee)<\/h2>\n<p>Mit dem unstrukturierten Logbuch ist der wesentliche Schritt getan: Die Daten sind verschriftlicht und damit festgehalten. Allerdings wird der Hobbyimker, wenn er mit vielen Bienenv\u00f6lkern und \u00fcber Jahre arbeitet, irgendwann in seinen Aufzeichnungen nichts mehr wiederfinden. Im n\u00e4chsten Schritt k\u00f6nnte der Hobbyimker seine Notizen etwas aufger\u00e4umter und systematischer anfertigen.<\/p>\n<pre>Imker-Logbuch 2021\r\nDatum: 5.5.2021\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Aktivit\u00e4t: Kontrolle\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Volk: B1902\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Gewicht vor Bearbeitung: 16,61\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Gewicht nach Bearbeitung: 14,7\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Honigzarge Ausbau: gut\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Weiselzellen: 2\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00c4nderung: \u201eneue Honigzarge\u201c\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00c4nderung: \u201eAbleger neu B2103\u201c\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Anmerkung: \u201eF\u00fcnf Zargen sind unpraktisch\u201c\r\nDatum: 01.05.2021\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Aktivit\u00e4t: \u201eKontrolle\u201c\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Volk: \u201eB2101\u201c\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Gewicht vor Bearbeitung: 4,95\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Flugaktivit\u00e4t: wenig\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Flugbild: zielgerichtet\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Volk: \u201eB2102\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Gewicht vor Bearbeitung: 4,55\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Flugaktivit\u00e4t: wenig\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Flugbild: zielgerichtet \u2026.<\/pre>\n<p><em>Abb. 3: Beispiel \u201eaufger\u00e4umtes\u201c Logbuch.<\/em><\/p>\n<p>In dem aufger\u00e4umten Logbuch finden sich Menschen bereits gut zurecht, f\u00fcr Computerprogramme sollte es formal noch strukturierter sein.<\/p>\n<h2>Schritt 3: Umsetzung in ein einfaches Relationenmodell (Die L\u00f6sung)<\/h2>\n<p>Zun\u00e4chst sollte der Hobbyimker analysieren, welche Daten er denn h\u00e4ufig erfassen m\u00f6chte. Das aufger\u00e4umte Logbuch gibt dazu Hinweise:<\/p>\n<pre>1. Datum der Kontrolle\r\n2. Bezeichnung des Volkes als Zeichenkette\/Text, z.B. \u201eB2102\u201c\r\n3. Gewicht des Volkes in kg als Flie\u00dfkommazahl, z.B. 4,55\r\n4. Bewertung der Flugaktivit\u00e4t. Hier entscheidet sich der Imker, Zahlen wie f\u00fcr Schulnoten zu vergeben, z.B. 1 f\u00fcr hohe Aktivit\u00e4t und 5 f\u00fcr gar keine Aktivit\u00e4t.\r\n5. Bewertung des Flugbildes als Zeichenkette\/Text, z. B. \u201ezielgerichtet\u201c oder \u201esuchend\u201c\r\n6. \u00c4nderungen sieht der Imker als Zeichenkette vor. Mehr als zwei \u00c4nderungen f\u00fchrt er normalerweise nicht durch.\r\n7. Als Anmerkung m\u00f6chte der Imker noch Bemerkungen in Textform festhalten.\r\n8. Eine laufende Nummer macht es einfacher, eine bestimmte Kontrolle sp\u00e4ter wiederzufinden.<\/pre>\n<p><em>Abb. 4: Beispiel Analyse der Daten f\u00fcr das Imker-Logbuch<\/em><\/p>\n<p>Wir nutzen nun sogleich die von Codd vorgeschlagene Schreibweise f\u00fcr eine Relation. Eine vertiefte Beschreibung, was es mit der Relation auf sich hat, finden Sie in den folgenden Abschnitten.<\/p>\n<p>Aus der Analyse ergibt sich die Relation.<\/p>\n<pre>logeintrag ( lfd_nr, datum, volk, gewicht, flugaktiv, flugbild, aenderung1, aenderung2, anmerkung )<\/pre>\n<p><em>Abb. 5 : Beispiel f\u00fcr die Eintr\u00e4ge im Imker-Logbuch. Das Relationenschema f\u00fcr das Imker-Logbuch besteht nur aus dieser einen Relation.<\/em><\/p>\n<p>Den Kontrollen werden dann konkrete Tupel (= Datens\u00e4tze) zugeordnet. Es f\u00e4llt auf, dass es am 01.05. offensichtlich keine Gr\u00fcnde gab, \u00c4nderungen oder Anmerkungen festzuhalten.<\/p>\n<pre>logeintrag ( 35, 01.05.2021, B2101, 4,95, 4, \u201ezielgerichtet\u201c, , , )\r\n\r\nlogeintrag ( 36, 01.05.2021, B2102, 4,55, 4, \u201ezielgerichtet\u201c, , , )<\/pre>\n<p><em>Abb. 6: Beispiel zwei Datens\u00e4tze einer Kontrolle als Relationen formuliert<\/em><\/p>\n<p>Es gibt mehrere M\u00f6glichkeiten, die Relation praktisch zu implementieren &#8211; von einer einfachen handschriftlichen Tabelle auf Papier bis hin zu einer Smartphone-App mit einem relationalen Datenbankmanagementsystem. In den Folgebeispielen sehen Sie, wie man ein Relationenmodell zur Konzeption entwickelt.<\/p>\n<h2>Relationen sind fast wie Tabellen<\/h2>\n<p>Eine Relation ist die Basis der von Edgar F. Codd (1970) entwickelten relationalen Algebra. Mathematisch ist das anspruchsvoll, f\u00fcr den praktischen Nutzen k\u00f6nnen wir die Ideen allerdings stark vereinfachen. Wenn immer m\u00f6glich, werden Sie \u00fcber Begrifflichkeiten von Tabellenkalkulationsprogrammen wie Microsoft Excel an die relationale Sichtweise herangef\u00fchrt. Statt Excel w\u00e4ren auch Numbers (Apple) oder das freie System Open Office Calc oder Gnumeric (Linux) als Beispiele geeignet. Eine Relation besteht aus einer Bezeichnung (vgl. Arbeitsblatt-Name in Excel), aus Attributen (vgl. Spalten\u00fcberschriften in Excel-Tabellen) und Tupeln (vgl. Zeilen in einer Excel-Tabelle). Ein Attribut beschreibt den Typ eines m\u00f6glichen Attributwertes und bezeichnet ihn mit einem Attributnamen. Ein Tupel stellt eine konkrete Kombination von Attributwerten dar (einen Datensatz). Das Relationenmodell beschreibt Daten also in einer Form, die sich gut in Tabellen \u00fcbersetzen l\u00e4sst. Stellen Sie sich ein Schraubenlager vor, in dem Sie \u00fcber Ihre Schrauben Buch f\u00fchren wollen. Eine Schraube hat dann die Eigenschaften \u201eTyp\u201c (z.B. \u201eRundkopf\u201c), einen Durchmesser in mm, eine L\u00e4nge in mm und eine Materialsorte (z.B. \u201eMessing\u201c). Mit Blick auf die sp\u00e4tere Umsetzung verzichten manche auf Gro\u00df-Kleinschreibung und auf Umlaute.<\/p>\n<pre>schraube (id, typ, durchmesser, laenge, material)<\/pre>\n<p><em>Abb. 7: Beispiel f\u00fcr ein Relationsschema mit einer Relation f\u00fcr Schrauben in der Schreibweise von Codd<\/em><\/p>\n<p>In der \u00dcbersicht in Tab.1 sind die Begriffe der Relationentheorie lebensweltlichen Begriffen gegen\u00fcbergestellt:<\/p>\n<table width=\"1440\">\n<tbody>\n<tr>\n<td width=\"217\"><strong>RELATIONENTHEORIE<\/strong><\/td>\n<td width=\"1223\"><strong>KANN VERDEUTLICHTE WERDEN DURCH<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"217\">Relation<\/td>\n<td width=\"1223\">Tabelle<\/td>\n<\/tr>\n<tr>\n<td width=\"217\">Tupel<\/td>\n<td width=\"1223\">Menge der Zellen in einer Zeile, Datensatz<\/td>\n<\/tr>\n<tr>\n<td width=\"217\">Attribut<\/td>\n<td width=\"1223\">Spalten\u00fcberschrift<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><em>Tab. 1: Begriffe aus der Relationentheorie im Vergleich zu Tabellen<\/em><\/p>\n<p>Die schon verwendeten Begriffe \u201eSchema\u201c und \u201eTupel\u201c sollen nun noch einmal pr\u00e4ziser gefasst werden.<\/p>\n<pre>Ein\u00a0Schema,\u00a0Datenschema\u00a0oder\u00a0Relationsschema ist eine formale Beschreibung der Struktur von\u00a0Daten.<\/pre>\n<p><em>Abb. 8: Begriffsdefinition \u201eSchema\u201c<\/em><\/p>\n<pre>Ein Tupel ist eine geordnete Wertesammlungen und wird \u2013 in der Relationentheorie \u2013 als Synonym f\u00fcr einen Datensatz verwendet. Die Werte eines Tupels sind die Attribute (Synonym f\u00fcr Attribut ist ein Datenfeld). Ein \u201en-Tupel\u201c oder verk\u00fcrzt \u201eTupel\u201c bezeichnet somit eine Sammlung mit einer beliebigen Anzahl n von Attributen.<\/pre>\n<p><em>Abb. 9: Begriffsdefinition \u201eTupel\u201c<\/em><\/p>\n<p>Was ist eine Relation?<\/p>\n<p><strong>Mathematik:<\/strong> In der Mathematik ist eine Relation die Beziehung zwischen Dingen. Eine Relation R ist eine Menge von Tupeln. Dinge, die zueinander in der Relation R stehen, bilden ein Tupel, das Element von R ist. So gesehen ist eine Relation die Menge aller Kombinationen der m\u00f6glichen Attributwerte. In der Mathematik sind meist zweiwertige Relationen von Interesse (z.B. mit den Attributen \u201eperson\u201c und \u201etelefonnr\u201c), in der Informatik finden oft mehrwertige Relationen (z.B. die Schrauben mit f\u00fcnf Attributen). Haben Sie z. B. drei Personen und vier Telefonnummern, so besteht die zweiwertige Relation theoretisch aus maximal person X telefonnr Elementen, also 3*4=12 Tupeln. Praktisch werden Sie aber nur eine Teilmenge davon haben, z.B. 3 Tupel, wenn jede der drei Personen nur eine Telefonnummer hat. Eine Relation ist daher, mathematisch gesprochen, eine Teilmenge des karthesischen Produktes der Attribute. Das kartesische Produkt M\u00d7N zweier Mengen M und N ist die Menge aller geordneten Paare mit erster Komponente aus M und zweiter Komponente aus N. Ein geordnetes Paar (x, y) besteht aus zwei Werten x und y, wobei x die erste und y die zweite Komponente ist.<\/p>\n<p><strong>Praktisch:<\/strong> In der Informatik ist eine Relation eine Sammlung von Datens\u00e4tzen (=Tupeln), die alle jeweils gleich aufgebaut sein m\u00fcssen: Ein Datensatz besteht aus einer Reihe von 1 bis n Datenfeldern (=Attributen). Die Reihenfolge bzw. Anordnung der Datenfelder ist wesentlich. Die einzelnen Datenfelder haben eine Bezeichnung (Attributnamen). Wenn Sie vorhaben, Ihre Daten technisch in einem relationalen Datenbankmanagementsystem zu organisieren, k\u00f6nnen Sie eine Relationen durch eine Tabelle beschreiben. Dann sind die Tupel die Zeilen mit den konkreten Datens\u00e4tzen, die Attributnamen sind die Spaltenbezeichnungen. Die Reihenfolge der Spalten ist wesentlich. Die Reihenfolge der Zeilen ist allerdings beliebig.<\/p>\n<p>Dem Begriff \u201eRelation\u201c k\u00f6nnen Sie sich also \u00fcber die Eigenschaften einer Relation n\u00e4hern:<\/p>\n<pre>1. Es gibt keine zwei v\u00f6llig identischen Tupel. Das hei\u00dft: Zwei Tupel (Zeilen in einer Tabelle, Datens\u00e4tze) unterscheiden sich in mindestens einem Attribut (Wert).\r\n\r\n2. Die Reihenfolge der Tupel ist unwichtig, sie sind nicht geordnet. (Es \u00e4ndert erst einmal nichts, wenn die Reifenfolge der Zeilen ge\u00e4ndert wird.)\r\n\r\n3. Die Reihenfolge der Attribute ist wichtig, sie sind geordnet. (Diese Eigenschaft ist in der Historie und der Ableitung von den mathematischen Relationen geschuldet. Praktisch hat es bei klug gew\u00e4hlten Spalten\u00fcberschriften keine Relevanz.)\r\n\r\n4. Alle Attribute sind atomar (In jeder Tabellenzelle darf nur ein Eintrag einer Sorte stehen. In ein Tabellenfeld geh\u00f6rt nur ein Wert.). Wenn alle Werte atomar sind, befindet sich das Relationenmodell in der ersten Normalform. Das is mit die wichtigste Eigenschaft.<\/pre>\n<p><em>Abb. 10: Beispiel f\u00fcr die Implementierung einer einfache Relation in eineTabelle am Beispiel Schrauben.<\/em><\/p>\n<p>Aus dem vorgenannten l\u00e4sst sich der Begriff Relation sch\u00e4rfer fassen.<\/p>\n<pre>Eine Relation ist eine Menge von Tupeln bzw. Datens\u00e4tzen. Die Tupel bestehen alle aus der gleichen Anzahl von Datenfeldern oder Attributen. Die Datenfelder oder Attribute sind immer in der gleichen Reihenfolge angeordnet. In jedem Datenfeld steht immer nur ein Wert. In jedem Datenfeld in einer bestimmten Position steht immer die gleiche Art von Wert.<\/pre>\n<p>Abb. 11: Begriffsdefinition \u201eRelation\u201c<\/p>\n<p>&nbsp;<\/p>\n<h2>Implementierung von Relationen<\/h2>\n<h3>Implementierung von Relationen als Tabellen<\/h3>\n<p>In den meisten F\u00e4llen werden Ihnen Relationen als Tabellen z.B. in relationalen Datenbankmanagementsystemen oder in Excel oder als CSV-Dateien begegnen. Die Umsetzung des Relationenschemas f\u00fcr die Schrauben (Abb. xx) als Tabelle s\u00e4he dann wie in Abb. xx aus:<\/p>\n<pre>schraube (id, typ, durchmesser, laenge, material)<\/pre>\n<p><em>Abb. 12: Relationenschema mit einer Relation \u201eschraube\u201c<\/em><\/p>\n<pre>id\u00a0\u00a0\u00a0 typ\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 laenge\u00a0\u00a0\u00a0\u00a0\u00a0 durchmesser material\r\n==================================================\r\n1\u00a0\u00a0\u00a0\u00a0 Rundkopf\u00a0\u00a0\u00a0 50\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 4\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Messing\r\n2\u00a0\u00a0\u00a0\u00a0 Rundkopf\u00a0\u00a0\u00a0 30\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 4\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Messing\r\n3\u00a0\u00a0\u00a0\u00a0 Senkkopf\u00a0\u00a0\u00a0 50\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 5\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 vernickelt\r\n4\u00a0\u00a0\u00a0\u00a0 Senkkopf\u00a0\u00a0\u00a0 30\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 5\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 vernickelt\r\n.....<\/pre>\n<p><em>Abb. 13: Umsetzung der Relation \u201eschraube\u201c in eine Tabelle<\/em><\/p>\n<p>Eine CSV-Datei (nach RFC 4180) bildet Tabellen in einem einfachen Textformat nach. In einer CSV-Datei \u00a0werden die Zeilen durch einen Zeilenumbruch mit Wagenr\u00fccklauf getrennt (in Programiersprachen mit \u201e\\r\\n\u201c bezeichnet) die einzelnen Datenfelder werden normalerweise mit einem Komma getrennt, in Deutschland mit einem Semikolon, da das Komma der Dezimaltrenner ist. Die erste Zeile enth\u00e4lt die Attributnamen.<\/p>\n<pre>id;typ;durchmesser;laenge;material\\r\\n\r\n1;Rundkopf;4;50;Messing\\r\\n\r\n2;Rundkopf;4;30;Messing\\r\\n\r\n3;Senkkopf;5;50;vernickelt\\r\\n\r\n4;Senkkopf;5;30;vernickelt\\r\\n\r\n.....<\/pre>\n<p><em>Abb. 14<\/em><\/p>\n<h3>Implementierung von Relationen als Schl\u00fcssel-Wert-Paare<\/h3>\n<p>Ein Relationenschema kann, muss aber nicht als Sammlung von Tabellen implementiert werden. Eine andere M\u00f6glichkeit ist die technische Speicherung als Sch\u00fcssel-Wert-Paare in einer einfachen Textdatei. So wird beispielsweise bei JSON-formatierten Daten (nach RFC 8259) verfahren. F\u00fcr das Beispiel der Schrauben hie\u00dfe das:<\/p>\n<pre><u>{<\/u>\r\nid:1\r\ntyp:Rundkopf\r\ndurchmesser:4\r\nlaenge:50\r\nmaterial:Messing\r\n}\r\n{\r\nid:2\r\ntyp:Rundkopf\r\ndurchmesser:4\r\nlaenge:30\r\nmaterial:Messing\r\n}\r\n....<\/pre>\n<p><em>Abb. 15: Implementierung der Relation \u201eschraube\u201c als Schl\u00fcssel-Wert-Paare.<\/em><\/p>\n<h3>Implementierung von Relationen in XML<\/h3>\n<p>Ein Relationenschema kann auch XML-formatiert (standardisiert vom W3C) implementiert werden. F\u00fcr das Beispiel der Schrauben s\u00e4he eine XML-Darstellung wie in Abb. xx aus.<\/p>\n<pre><u>&lt;schraube&gt;<\/u>\r\n&lt;id&gt;1&lt;\/id&gt;\r\n&lt;typ&gt;Rundkopf&lt;\/typ&gt;\r\n&lt;durchmesser&gt;4&lt;\/durchmesser&gt;\r\n&lt;laenge&gt;50&lt;\/laenge&gt;\r\n&lt;material&gt;Messing&lt;\/material&gt;\r\n&lt;\/schraube&gt;\r\n<u>&lt;schraube&gt;<\/u>\r\n&lt;id&gt;2&lt;\/id&gt;\r\n&lt;typ&gt;Rundkopf&lt;\/typ&gt;\r\n&lt;durchmesser&gt;4&lt;\/durchmesser&gt;\r\n&lt;laenge&gt;30&lt;\/laenge&gt;\r\n&lt;material&gt;Messing&lt;\/material&gt;\r\n&lt;\/schraube&gt;\r\n....<\/pre>\n<p><em>Abb. 16: Implementierung der Relation \u201eschraube\u201c als XML-formatierte Textdatei.<\/em><\/p>\n<p>&nbsp;<\/p>\n<h2>Umgang mit komplexeren Beziehungen zwischen Relationen<\/h2>\n<h3>Allgemeiner Fall, komplexe Struktur am Beispiel einer Telefonliste<\/h3>\n<p>Das relationale Modell spielt seine St\u00e4rken dann aus, wenn Daten eine komplexere Struktur haben. So kann es im Imker-Logbuch-Beispiel vorkommen, dass es vielleicht mehr als zwei \u00c4nderungen bei einem Logbucheintrag gibt. Oder aber Personen haben mehrere Telefonnummern und teilen sich vielleicht in B\u00fcrogemeinschaft eine Nummer. Das Telefonnummernbeispiel soll nun dazu dienen, die Beziehung zwischen mehreren Relationen zu erl\u00e4utern.<\/p>\n<p>Das Problem: W\u00fcrden Sie den Fall, dass Personen mehrere Telefone haben und sich vielleicht mehrere Personen ein Telefon teilen, durch eine Relation darstellen wollen, m\u00fcssten Sie f\u00fcr eine Vielzahl von Telefonen, z.B. drei, jeweils Attributnamen vorsehen. In der Implementierung als Tabelle wird das zu einer \u201el\u00f6chrigen\u201c Tabelle mit vielen ungef\u00fcllten Feldern f\u00fchren. Wenn dann die erste Person mit vier Telefonen auftaucht, m\u00fcssten Sie das Relationenschema \u00e4ndern und auch die Struktur der gesamten Datenbank.<\/p>\n<pre>telefon_von (id, name, telnr1, telnr2, telnr3)<\/pre>\n<p><em>Abb. 17: Beispiel f\u00fcr ein Relationsschema f\u00fcr die Telefonliste in der Schreibweise von Codd<\/em><\/p>\n<pre><u>id<\/u>\u00a0\u00a0\u00a0 name\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 tel1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 tel2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 tel3\r\n=====================================================\r\n1\u00a0\u00a0\u00a0\u00a0 Schmidt\u00a0\u00a0\u00a0\u00a0 0186-233\u00a0\u00a0\u00a0 -3351\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0172 1234567\r\n2\u00a0\u00a0\u00a0\u00a0 M\u00fcller\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 -3351\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0177 1234567\r\n3\u00a0\u00a0\u00a0\u00a0 Mayer\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0184-223<\/pre>\n<p><em>Abb. 18: Umsetzung der Relation f\u00fcr eine Telefonliste als Tabelle<\/em><\/p>\n<p>Die L\u00f6sung der o.a. \u00a0Probleme (l\u00f6chrige Tabelle oder ggf. nicht genug Felder in einem Tupel) ist, mit mehreren Relationen zu arbeiten und eine Beziehung zwischen den Relationen \u00fcber gleiche Attributnamen herzustellen (Abb. xx).<\/p>\n<p>&nbsp;<\/p>\n<pre>person\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 person_hat_tel\u00a0\u00a0\u00a0 telefonnummer\r\n\r\np_id\u00a0 name\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 p_id\u00a0 t_id\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 t_id\u00a0 telefon\r\n=============\u00a0\u00a0\u00a0\u00a0 ==========\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ==================\r\n1\u00a0\u00a0\u00a0\u00a0 Schmidt\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0\u00a0 0172 1234567\r\n2\u00a0\u00a0\u00a0\u00a0 M\u00fcller\u00a0\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0\u00a0 3\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0 2\u00a0\u00a0\u00a0\u00a0 0177 1234567\r\n3\u00a0\u00a0\u00a0\u00a0 Mayer\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0\u00a0 3\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 3\u00a0\u00a0\u00a0\u00a0 -3351\r\n2\u00a0\u00a0\u00a0\u00a0 3\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 4\u00a0\u00a0\u00a0\u00a0 0186-233\r\n2\u00a0\u00a0\u00a0\u00a0 2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 5\u00a0\u00a0\u00a0\u00a0 0186-233\r\n3\u00a0\u00a0\u00a0\u00a0 5<\/pre>\n<p><em>Abb. 19: Beispiel dicht gef\u00fcllte Tabellen, die Telefonliste ist auf drei Tabellen aufgeteilt<\/em><\/p>\n<p>Mit den drei Tabellen k\u00f6nnen Sie nun eine Beziehung der m\u00f6glichen Telefonnummern (Tabelle \u201etelefonnummer\u201c) zu den m\u00f6glichen Personen (Tabelle \u201eperson\u201c) herstellen, in dem Sie zun\u00e4chst die id der betreffenden Person heraussuchen, dann die Telefon-Ids (t_id) suchen, die in der Tabelle person_hat_tel der jeweiligen Personen-Id (p_id) zugeordnet sind und dann alle Telefonnummern herausschreiben, die Sie mit den Telefon-Ids in der Tabelle \u201etelefonnummer\u201c finden. Dieser Finde-Algorithmus l\u00e4sst sich im \u00dcbrigen leicht programmieren, so dass sich diese Art der Datenorganisation in relationalen Systemen durchgesetzt hat.<\/p>\n<p>Das Relationenschema zu den drei Tabellen aus Abb. xx besteht aus drei Relationen wie in Abb. xx<\/p>\n<pre>person (p_id, name)\r\ntelefonnummer (t_id, telefon)\r\nperson_hat_tel (p_id, t_id)<\/pre>\n<p><em>Abb. 20: Relationenschema mit drei Relationen f\u00fcr komplexere Datenbeziehungen m-zu-n<\/em><\/p>\n<p>Im in Abb. 20 dargestellten Fall handelt es sich im \u00fcbrigen um eine sogenannte m-zu-n Beziehung, da grunds\u00e4tzlich jeder Person beliebig viele (n) Telefonnummern zugeordnet werden k\u00f6nnen, andererseits aber eine Telefonnummer theiretisch auch von beliebig vielen (m) Personen genutzt werden kann.<\/p>\n<p>Die Ids p_id und t_id in den Relationen person und telefonnummer sind Prim\u00e4rschl\u00fcssel, Die gleichnamigen Ids in der Relation \u201eperson_hat_tel\u201c sind Fremdschl\u00fcssel.<\/p>\n<p>Mit der Aufteilung der Telefonliste auf drei Relationen befindet sich das Relationenschema in der zweiten Normalform, da jedes Attribut in jeder Relation vom Prim\u00e4rschl\u00fcssel abh\u00e4ngig ist.<\/p>\n<h2>Prim\u00e4rschl\u00fcssel und Fremdschl\u00fcssel<\/h2>\n<p>Der Prim\u00e4rschl\u00fcssel wird zur eindeutigen Identifizierung eines Tupels (=Datensatzes) verwendet.<\/p>\n<p>Der Wert eines Prim\u00e4rschl\u00fcssels muss einmalig sein, da er jeden Datensatz eindeutig kennzeichnet. Beispiele w\u00e4ren f\u00fcr Menschen die Personalausweis-ID, bei Studentinnen die Matrikel-Nummer oder im Sportverein die Mitgliedsnummer. Der Prim\u00e4rschl\u00fcssel einer Relation kann drei Auspr\u00e4gungen haben und ein eindeutiger, ein zusammengesetzter oder ein k\u00fcnstlicher Prim\u00e4rschl\u00fcssel sein. Die hier verwendeten zus\u00e4tzlichen Ids sind k\u00fcnstliche Prim\u00e4rschl\u00fcssel.<\/p>\n<p>Auf k\u00fcnstliche Prim\u00e4rschl\u00fcssel kann verzichtet werden, wenn es einen eindeutigen Prim\u00e4rschl\u00fcssel oder einen zusammengesetzten Prim\u00e4rschl\u00fcssel gibt.<\/p>\n<p>Bei einem eindeutigen Prim\u00e4rschl\u00fcssel handelt es sich um ein Attribut, das einen Datensatz eindeutig kennzeichnet. Das liegt nicht immer vor: Der Nachname beispielsweise ist ungeeignet, da es oft mehrere Menschen mit Nachnamen \u201eSchmidt\u201c gibt.<\/p>\n<p>Ein zusammengesetzter Prim\u00e4rschl\u00fcssel besteht aus mehreren Attributen, die zusammen ein Tupel eindeutig kennzeichnen.<\/p>\n<p>Es hat sich in der Praxis bew\u00e4hrt, sp\u00e4testens bei der Implementierung in ein RDBMS k\u00fcnstliche Prim\u00e4rschl\u00fcssel f\u00fcr jede Tabelle zu verwenden.<\/p>\n<p>Ein Fremdschl\u00fcssel ist ein Attribut, das auf einen Prim\u00e4rschl\u00fcssel in einer anderen Relation verweist und damit die Beziehung zwischen Relationen herstellt.<\/p>\n<h2>Sonderfall \u201eein bisschen komplexe Datenbeziehungen\u201c<\/h2>\n<p>F\u00fcr den etwas einfacheren Fall, dass eine Person zwar mehrere Telefone haben kann, aber es nie vorkommt, dass ein Telefon mehreren Personen zugeordnet ist, vereinfacht sich das relationale Modell auf zwei Relationen. Die notwendige Beziehung zwischen Personen und den Telefonen wird dadurch hergestellt, dass jedem Telefon eine Personen-Id zugeordnet wird. Die Relation \u201etelefon\u201c erh\u00e4lt dazu ein weiteres Attribut p_id. Das Attribut p_id in der Relation \u201etelefon\u201c ist ein Fremdschl\u00fcssel, in der Relation \u201eperson\u201c ist p_id ein Prim\u00e4rschl\u00fcssel und kennzeichnet ein Tupel (einen Datensatz) eindeutig.<\/p>\n<pre>person (p_id, name)\r\ntelefonnummer (t_id, telefon, p_id)<\/pre>\n<p><em>Abb. 21: Relationenschema f\u00fcr eine weniger komplexe Datenbeziehungen 1-zu-n<\/em><\/p>\n<p>Eine solche Form der Beziehung zwischen Relationen hei\u00dft 1-zu-n Beziehung.<\/p>\n<h2>Sonderfall \u201eganz einfache Datenbeziehung\u201c<\/h2>\n<p>Der ganz einfache Fall, dass zu jeder Person genau eine Telefonnummer gibt, eine sogenannte 1-zu-1 Beziehung, k\u00f6nnen Sie durch eine einzelne Relation darstellen. Das hei\u00dft, Sie fassen die realweltlichen Objekte Person und Telefon zu einer Relation zusammen und haben keine direkte Zuordnung mehr zwischen den Objekten in der Realit\u00e4t und der modellhaften Vorstellung in Form von Relationen.<\/p>\n<pre>person (id, name, telefon)<\/pre>\n<p><em>Abb. 22: Relationenschema f\u00fcr ganz einfache Datenbeziehungen 1-zu-1<\/em><\/p>\n<p>&nbsp;<\/p>\n<h2>Anwendung der Datenmodellierung mit Relationen auf die Fallstudie der Kaffeemanufaktur<\/h2>\n<p>Die <a href=\"https:\/\/cbrell.de\/blog\/kaffeemanufaktur-kleiner-schwarzer-eine-fallstudie-fuer-die-wirtschaftsinformatik\/\">Fallstudie f\u00fcr die Kaffeemanufaktur<\/a> f\u00fchrt zur Datenhaltung aus:<\/p>\n<pre>Kaffeemanufaktur \u201eKleiner Schwarzer\u201c goes cloud computing \u2013 Datenhaltung und User Interface\r\n\r\nDaten in Excel\r\n\r\nDas Excel-Arbeitsblatt verkauf.xlsx hat sich Frau Malzkanne selber gebaut. Es besteht aus acht Spalten mit Nummern \u201elaufende Nummer\u201c, \u201eDatum\u201c, \u201eKundenname\u201c, Anzahl Brasil Santos\u201c, \u201eAnzahl Espresso\u201c, \u201eAnzahl Omas Bester\u201c, \u201eBetrag netto\u201c, \u201eBetrag brutto\u201c. Martin Malzkanne soll als Ersatz f\u00fcr das Excel-Arbeitsblatt verkauf.xlsx in eine Internet-Anwendung programmieren, in die Frau Malzkanne dann zuk\u00fcnftig die Verk\u00e4ufe eintragen kann. Martin Malzkanne zeichnet dazu ein Use-Case-Diagramm, um mit Melitta Malzkanne zu diskutieren, was sie mit der Internet-Anwendung tun k\u00f6nnen sollte. Ebenso soll Frau Malzkanne das Datenmodell (Relationenmodell oder ERM) f\u00fcr diese Daten zeichnen, damit Martin Malzkanne die Datenbank anlegen kann.<\/pre>\n<p>Abb. 23: Auszug aus der Fallstudie<\/p>\n<p>Das Relationenschema, das Frau Malzkanne erstellen soll, ist eines f\u00fcr eine \u201eeinfache Datenstruktur\u201c und besteht aus nur einer Relation. Die Id ist in diesem Fall die laufende Nummer.<\/p>\n<pre>verkauf (lfd_nr, datum, kd_name, anz_brasil_santos, anz_espresso, anz_oma_best, netto, brutto)<\/pre>\n<p><em>Abb. 24: Relationenmodell f\u00fcr den Verkaufsprozess in der Fallstudie<\/em><\/p>\n<p>Damit ist die Aufgabenstellung zun\u00e4chst erledigt. Wenn Sie weiter denken, ziehen Sie vielleicht ein Wachstum des Unternehmens in Betracht, und es werden Kaffeesorten hinzukommen. Sie werden dann mit mehreren Relationen arbeiten, in diesem Fall wird das Datenmodell ungleich komplizierter. F\u00fcr den Start gen\u00fcgt das einfache Modell.<\/p>\n<h2>Quellen<\/h2>\n<p>Codd, E. (1970):\u00a0<em>A Relational Model of Data for Large Shared Data Banks\u201d<\/em>\u00a0Communications of the ACM, San Jose, CA, USA, 1970. ACM, New York, USA, 1970; S. 377-387.\u00a0 IBM Research Laboratory, San Jose, California. Online Ressource: <a href=\"https:\/\/www.seas.upenn.edu\/~zives\/03f\/cis550\/codd.pdf\">https:\/\/www.seas.upenn.edu\/~zives\/03f\/cis550\/codd.pdf<\/a><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/cbrell.de\/zaehler?x=2601\" \/><\/p>\n<div class=\"shariff shariff-align-flex-start shariff-widget-align-flex-start\" data-services=\"facebook\" data-url=\"https%3A%2F%2Fcbrell.de%2Fblog%2Fdatenmodellierung-mit-dem-relationenmodell-nach-codd%2F\" data-timestamp=\"1763506918\" data-backendurl=\"https:\/\/cbrell.de\/blog\/wp-json\/shariff\/v1\/share_counts?\"><div class=\"ShariffHeadline\">Teile diesen Beitrag.<\/div><ul class=\"shariff-buttons theme-round orientation-horizontal buttonsize-medium\"><li class=\"shariff-button twitter shariff-nocustomcolor\" style=\"background-color:#32bbf5\"><a href=\"https:\/\/twitter.com\/share?url=https%3A%2F%2Fcbrell.de%2Fblog%2Fdatenmodellierung-mit-dem-relationenmodell-nach-codd%2F&text=Datenmodellierung%20mit%20dem%20Relationenmodell%20nach%20Codd\" title=\"Bei Twitter teilen\" aria-label=\"Bei Twitter teilen\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#55acee; color:#fff\" target=\"_blank\"><span class=\"shariff-icon\" style=\"\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 30 32\"><path fill=\"#55acee\" d=\"M29.7 6.8q-1.2 1.8-3 3.1 0 0.3 0 0.8 0 2.5-0.7 4.9t-2.2 4.7-3.5 4-4.9 2.8-6.1 1q-5.1 0-9.3-2.7 0.6 0.1 1.5 0.1 4.3 0 7.6-2.6-2-0.1-3.5-1.2t-2.2-3q0.6 0.1 1.1 0.1 0.8 0 1.6-0.2-2.1-0.4-3.5-2.1t-1.4-3.9v-0.1q1.3 0.7 2.8 0.8-1.2-0.8-2-2.2t-0.7-2.9q0-1.7 0.8-3.1 2.3 2.8 5.5 4.5t7 1.9q-0.2-0.7-0.2-1.4 0-2.5 1.8-4.3t4.3-1.8q2.7 0 4.5 1.9 2.1-0.4 3.9-1.5-0.7 2.2-2.7 3.4 1.8-0.2 3.5-0.9z\"\/><\/svg><\/span><\/a><\/li><li class=\"shariff-button facebook shariff-nocustomcolor\" style=\"background-color:#4273c8\"><a href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=https%3A%2F%2Fcbrell.de%2Fblog%2Fdatenmodellierung-mit-dem-relationenmodell-nach-codd%2F\" title=\"Bei Facebook teilen\" aria-label=\"Bei Facebook teilen\" role=\"button\" rel=\"nofollow\" class=\"shariff-link\" style=\"; background-color:#3b5998; color:#fff\" target=\"_blank\"><span class=\"shariff-icon\" style=\"\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 18 32\"><path fill=\"#3b5998\" d=\"M17.1 0.2v4.7h-2.8q-1.5 0-2.1 0.6t-0.5 1.9v3.4h5.2l-0.7 5.3h-4.5v13.6h-5.5v-13.6h-4.5v-5.3h4.5v-3.9q0-3.3 1.9-5.2t5-1.8q2.6 0 4.1 0.2z\"\/><\/svg><\/span><\/a><\/li><li class=\"shariff-button linkedin shariff-nocustomcolor\" style=\"background-color:#1488bf\"><a href=\"https:\/\/www.linkedin.com\/sharing\/share-offsite\/?url=https%3A%2F%2Fcbrell.de%2Fblog%2Fdatenmodellierung-mit-dem-relationenmodell-nach-codd%2F\" title=\"Bei LinkedIn teilen\" aria-label=\"Bei LinkedIn teilen\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#0077b5; color:#fff\" target=\"_blank\"><span class=\"shariff-icon\" style=\"\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 27 32\"><path fill=\"#0077b5\" d=\"M6.2 11.2v17.7h-5.9v-17.7h5.9zM6.6 5.7q0 1.3-0.9 2.2t-2.4 0.9h0q-1.5 0-2.4-0.9t-0.9-2.2 0.9-2.2 2.4-0.9 2.4 0.9 0.9 2.2zM27.4 18.7v10.1h-5.9v-9.5q0-1.9-0.7-2.9t-2.3-1.1q-1.1 0-1.9 0.6t-1.2 1.5q-0.2 0.5-0.2 1.4v9.9h-5.9q0-7.1 0-11.6t0-5.3l0-0.9h5.9v2.6h0q0.4-0.6 0.7-1t1-0.9 1.6-0.8 2-0.3q3 0 4.9 2t1.9 6z\"\/><\/svg><\/span><\/a><\/li><\/ul><\/div>","protected":false},"excerpt":{"rendered":"<p>Die \u201erelationale Denke\u201c von Codd. Codd stellt in seinem Aufsatz von 1970 die relationale Denkweise der in den 70ern \u00fcblichen graphenorientierten Denkweise gegen\u00fcber. In der graphenorientierten Sichtweise werden Daten als &#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,42],"tags":[61,56,43,390,100,50,55,264,467],"class_list":["post-1942","post","type-post","status-publish","format-standard","hentry","category-allgemein","category-methoden-der-wirtschaftsinformatik","tag-attribut","tag-codd","tag-daten","tag-modell","tag-modellierung","tag-rdbms","tag-relation","tag-tabelle","tag-tupel"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Datenmodellierung mit dem Relationenmodell nach Codd<\/title>\n<meta name=\"description\" content=\"Die &quot;relationale Denke\u201c von Codd erleichtert die Strukturierung von Daten als Relationenschema. Der erste Schritt zum Datenbankdesign\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cbrell.de\/blog\/datenmodellierung-mit-dem-relationenmodell-nach-codd\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Datenmodellierung mit dem Relationenmodell nach Codd\" \/>\n<meta property=\"og:description\" content=\"Die &quot;relationale Denke\u201c von Codd erleichtert die Strukturierung von Daten als Relationenschema. Der erste Schritt zum Datenbankdesign\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cbrell.de\/blog\/datenmodellierung-mit-dem-relationenmodell-nach-codd\/\" \/>\n<meta property=\"og:site_name\" content=\"Bienen, Natur und Internet of Things\" \/>\n<meta property=\"article:published_time\" content=\"2021-05-22T15:39:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-18T22:01:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2021\/05\/im-ARIS-Haus-Relationenmodell.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"524\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Claus Brell\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@clausbrell5859\" \/>\n<meta name=\"twitter:site\" content=\"@clausbrell\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Claus Brell\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"13\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/datenmodellierung-mit-dem-relationenmodell-nach-codd\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/datenmodellierung-mit-dem-relationenmodell-nach-codd\\\/\"},\"author\":{\"name\":\"Claus Brell\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/#\\\/schema\\\/person\\\/7cf529e46faf1fd7b2b6942fec254c58\"},\"headline\":\"Datenmodellierung mit dem Relationenmodell nach Codd\",\"datePublished\":\"2021-05-22T15:39:50+00:00\",\"dateModified\":\"2025-11-18T22:01:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/datenmodellierung-mit-dem-relationenmodell-nach-codd\\\/\"},\"wordCount\":2382,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/datenmodellierung-mit-dem-relationenmodell-nach-codd\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/05\\\/im-ARIS-Haus-Relationenmodell-300x154.png\",\"keywords\":[\"Attribut\",\"Codd\",\"Daten\",\"Modell\",\"Modellierung\",\"RDBMS\",\"Relation\",\"Tabelle\",\"Tupel\"],\"articleSection\":{\"1\":\"Methoden der Wirtschaftsinformatik\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/cbrell.de\\\/blog\\\/datenmodellierung-mit-dem-relationenmodell-nach-codd\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/datenmodellierung-mit-dem-relationenmodell-nach-codd\\\/\",\"url\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/datenmodellierung-mit-dem-relationenmodell-nach-codd\\\/\",\"name\":\"Datenmodellierung mit dem Relationenmodell nach Codd\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/datenmodellierung-mit-dem-relationenmodell-nach-codd\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/datenmodellierung-mit-dem-relationenmodell-nach-codd\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/05\\\/im-ARIS-Haus-Relationenmodell-300x154.png\",\"datePublished\":\"2021-05-22T15:39:50+00:00\",\"dateModified\":\"2025-11-18T22:01:58+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/#\\\/schema\\\/person\\\/7cf529e46faf1fd7b2b6942fec254c58\"},\"description\":\"Die \\\"relationale Denke\u201c von Codd erleichtert die Strukturierung von Daten als Relationenschema. Der erste Schritt zum Datenbankdesign\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/datenmodellierung-mit-dem-relationenmodell-nach-codd\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/cbrell.de\\\/blog\\\/datenmodellierung-mit-dem-relationenmodell-nach-codd\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/datenmodellierung-mit-dem-relationenmodell-nach-codd\\\/#primaryimage\",\"url\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/05\\\/im-ARIS-Haus-Relationenmodell.png\",\"contentUrl\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/05\\\/im-ARIS-Haus-Relationenmodell.png\",\"width\":1024,\"height\":524,\"caption\":\"Das Relationenmodell eigeordnet in das ARIS-Rahmenkonzept.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/datenmodellierung-mit-dem-relationenmodell-nach-codd\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Datenmodellierung mit dem Relationenmodell nach Codd\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/\",\"name\":\"Bienen, Natur und Internet of Things\",\"description\":\"Alles, was einfach ist. Von Claus Brell\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/#\\\/schema\\\/person\\\/7cf529e46faf1fd7b2b6942fec254c58\",\"name\":\"Claus Brell\",\"description\":\"Seit 2021 forsche ich an und mit Bienen (Digitalisierung der Imkerei) Seit 2012 Professur f\u00fcr Wirtschaftsinformatik an der Hochschue Niederrhein. Seit 1981 treibt mich die Frage um: Was haben Physik, Heavy Metal und Spiele miteinander zu tun? Drei m\u00f6gliche Antworten: {nichts | 42 | gleiche Hirnareale werden aktiviert}\",\"sameAs\":[\"http:\\\/\\\/claus-brell.de\",\"https:\\\/\\\/x.com\\\/clausbrell5859\",\"https:\\\/\\\/www.youtube.com\\\/@clausbrell5859\"],\"url\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/author\\\/clausb\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Datenmodellierung mit dem Relationenmodell nach Codd","description":"Die \"relationale Denke\u201c von Codd erleichtert die Strukturierung von Daten als Relationenschema. Der erste Schritt zum Datenbankdesign","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cbrell.de\/blog\/datenmodellierung-mit-dem-relationenmodell-nach-codd\/","og_locale":"de_DE","og_type":"article","og_title":"Datenmodellierung mit dem Relationenmodell nach Codd","og_description":"Die \"relationale Denke\u201c von Codd erleichtert die Strukturierung von Daten als Relationenschema. Der erste Schritt zum Datenbankdesign","og_url":"https:\/\/cbrell.de\/blog\/datenmodellierung-mit-dem-relationenmodell-nach-codd\/","og_site_name":"Bienen, Natur und Internet of Things","article_published_time":"2021-05-22T15:39:50+00:00","article_modified_time":"2025-11-18T22:01:58+00:00","og_image":[{"width":1024,"height":524,"url":"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2021\/05\/im-ARIS-Haus-Relationenmodell.png","type":"image\/png"}],"author":"Claus Brell","twitter_card":"summary_large_image","twitter_creator":"@clausbrell5859","twitter_site":"@clausbrell","twitter_misc":{"Verfasst von":"Claus Brell","Gesch\u00e4tzte Lesezeit":"13\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/cbrell.de\/blog\/datenmodellierung-mit-dem-relationenmodell-nach-codd\/#article","isPartOf":{"@id":"https:\/\/cbrell.de\/blog\/datenmodellierung-mit-dem-relationenmodell-nach-codd\/"},"author":{"name":"Claus Brell","@id":"https:\/\/cbrell.de\/blog\/#\/schema\/person\/7cf529e46faf1fd7b2b6942fec254c58"},"headline":"Datenmodellierung mit dem Relationenmodell nach Codd","datePublished":"2021-05-22T15:39:50+00:00","dateModified":"2025-11-18T22:01:58+00:00","mainEntityOfPage":{"@id":"https:\/\/cbrell.de\/blog\/datenmodellierung-mit-dem-relationenmodell-nach-codd\/"},"wordCount":2382,"commentCount":0,"image":{"@id":"https:\/\/cbrell.de\/blog\/datenmodellierung-mit-dem-relationenmodell-nach-codd\/#primaryimage"},"thumbnailUrl":"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2021\/05\/im-ARIS-Haus-Relationenmodell-300x154.png","keywords":["Attribut","Codd","Daten","Modell","Modellierung","RDBMS","Relation","Tabelle","Tupel"],"articleSection":{"1":"Methoden der Wirtschaftsinformatik"},"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/cbrell.de\/blog\/datenmodellierung-mit-dem-relationenmodell-nach-codd\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/cbrell.de\/blog\/datenmodellierung-mit-dem-relationenmodell-nach-codd\/","url":"https:\/\/cbrell.de\/blog\/datenmodellierung-mit-dem-relationenmodell-nach-codd\/","name":"Datenmodellierung mit dem Relationenmodell nach Codd","isPartOf":{"@id":"https:\/\/cbrell.de\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cbrell.de\/blog\/datenmodellierung-mit-dem-relationenmodell-nach-codd\/#primaryimage"},"image":{"@id":"https:\/\/cbrell.de\/blog\/datenmodellierung-mit-dem-relationenmodell-nach-codd\/#primaryimage"},"thumbnailUrl":"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2021\/05\/im-ARIS-Haus-Relationenmodell-300x154.png","datePublished":"2021-05-22T15:39:50+00:00","dateModified":"2025-11-18T22:01:58+00:00","author":{"@id":"https:\/\/cbrell.de\/blog\/#\/schema\/person\/7cf529e46faf1fd7b2b6942fec254c58"},"description":"Die \"relationale Denke\u201c von Codd erleichtert die Strukturierung von Daten als Relationenschema. Der erste Schritt zum Datenbankdesign","breadcrumb":{"@id":"https:\/\/cbrell.de\/blog\/datenmodellierung-mit-dem-relationenmodell-nach-codd\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cbrell.de\/blog\/datenmodellierung-mit-dem-relationenmodell-nach-codd\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/cbrell.de\/blog\/datenmodellierung-mit-dem-relationenmodell-nach-codd\/#primaryimage","url":"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2021\/05\/im-ARIS-Haus-Relationenmodell.png","contentUrl":"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2021\/05\/im-ARIS-Haus-Relationenmodell.png","width":1024,"height":524,"caption":"Das Relationenmodell eigeordnet in das ARIS-Rahmenkonzept."},{"@type":"BreadcrumbList","@id":"https:\/\/cbrell.de\/blog\/datenmodellierung-mit-dem-relationenmodell-nach-codd\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/cbrell.de\/blog\/"},{"@type":"ListItem","position":2,"name":"Datenmodellierung mit dem Relationenmodell nach Codd"}]},{"@type":"WebSite","@id":"https:\/\/cbrell.de\/blog\/#website","url":"https:\/\/cbrell.de\/blog\/","name":"Bienen, Natur und Internet of Things","description":"Alles, was einfach ist. Von Claus Brell","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cbrell.de\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Person","@id":"https:\/\/cbrell.de\/blog\/#\/schema\/person\/7cf529e46faf1fd7b2b6942fec254c58","name":"Claus Brell","description":"Seit 2021 forsche ich an und mit Bienen (Digitalisierung der Imkerei) Seit 2012 Professur f\u00fcr Wirtschaftsinformatik an der Hochschue Niederrhein. Seit 1981 treibt mich die Frage um: Was haben Physik, Heavy Metal und Spiele miteinander zu tun? Drei m\u00f6gliche Antworten: {nichts | 42 | gleiche Hirnareale werden aktiviert}","sameAs":["http:\/\/claus-brell.de","https:\/\/x.com\/clausbrell5859","https:\/\/www.youtube.com\/@clausbrell5859"],"url":"https:\/\/cbrell.de\/blog\/author\/clausb\/"}]}},"_links":{"self":[{"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/posts\/1942","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/comments?post=1942"}],"version-history":[{"count":5,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/posts\/1942\/revisions"}],"predecessor-version":[{"id":1950,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/posts\/1942\/revisions\/1950"}],"wp:attachment":[{"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/media?parent=1942"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/categories?post=1942"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/tags?post=1942"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}