Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

MariaDB Grundkurs

Beziehungen zwischen Tabellen herstellen

Testen Sie unsere 2016 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
SQL ermöglicht die praktische Implementierung von Beziehungen zwischen einzelnen Tabellen mit Hilfe des Primärschlüssels sowie des Fremd- oder Nachschlageschlüssels.

Transkript

Ein wesentliches Konzept bei relationalen Datenbanken ist es, Beziehungen zwischen Tabellen herstellen zu können, also Relationships zu bilden. Und die Beziehungen, die werden mit dem Primary Key und dem Foreign Key hergestellt. Und wie Sie solche Schlüsselwerte, Schlüsselfelder anlegen und wie Sie damit umgehen, demonstriere ich Ihnen in diesem Video. Ich bereits eine Datenbank mit dem Namen "projekte". Die ist hier aktiviert. Und dort drin befindet sich eine Tabelle "personal". Und was wichtig ist, wenn man nun eine Verbindung von einer Tabelle "personal" zu einer anderen herstellen möchte, dann muss man sich merken, über welche Schlüsselwerte das gehen soll. Wir haben hier in der Tabelle nur einen einzigen Schlüsselwert, einen Primärschlüssel. Und merken Sie sich bei diesen Verbindungen den Datentyp, denn der ist relevant hinterher, nicht der Name und auch nicht der Typus, sondern wirklich eigentlich nur dieser Datentyp, dieses "int(11) unsigned" Ja, und um jetzt eine neue Tabelle anlegen zu können, klicke ich hier einfach erst mal hier oben auf "Create new table", und die benenne ich jetzt mal "projekte". Und in der Tabelle "projekte"... Ich gehe jetzt mit "tab" weiter hier. Dort in der Tabelle "projekte" vergebe ich den Namen "projekte_id", und das wird automatisch, sie sehen, das übernimmt die MySQL Workbench, vom Datentyp INT stattfinden. Das ist ein Primärschlüssel, das ist Not Null, und ich möchte automatisch noch, dass er mit dem "Auto Increment"-Wert hochzählt. Ja, das nächste Datenfeld, was ich nun anlegen muss, ist das Feld für die Projektbezeichnung, und genauso benenne ich das auch "projektbezeichnung". Ich übernehme den Standardwert VARCHAR(45) und komme dann zum Nachschlageschlüssel. Und hier haben wir eine Besonderheit. Den Schlüssel selber oder das Feld selber benenne ich erst mal "projektleiter". So, und hier kann ich aber nicht den Standardwert des Datentyps übernehmen, denn dieses Feld speichert den Primärschlüssel aus der Tabelle "personal". Also benötige ich hier den Datentyp INT, und wenn Sie das einstellen möchten, dann direkt auch mit der Größe, also das hätte ich jetzt weglassen können, aber das "e" die Standardgröße ist. So, und dann muss ich mich dran erinnern, dass der Primärschlüssel aus der Tabelle "personal" auch "unsigned" ist. Das bedeutet, das muss ich hier entsprechend setzen. NOT NULL, sollte dieser Begriff theoretisch gesehen auch sein, weil nur dann kann ich sicherstellen, dass ich auch wirklich, bevor ich einen Datensatz speichere, einen Wert hier eintragen muss. Und wenn die da nachgeschlagen sind, dann wäre das richtig. So klicken Sie bitte aber nicht auf "Apply", denn da fehlt uns jetzt noch ein kleiner Teil, und das ist hier unten in dem Reiter "Foreign Keys" einzustellen. So und wenn Sie dort drauf klicken, dann können Sie hier einen Namen für diesen Nachschlage- oder Fremdschlüssel eingeben. Und ich verwende die Namenskonvention "FK" für Foreign Key, dann die Eingabe des Tabellennamens, denn auf den ich quasi nachschlagen möchte, und die Eingabe des Feldnamens, also "personal_id", auf den ich nachschlage. Ich kann dann also an dieser Namensvergabe genau erkennen, für wen dieser Schlüsselwert gilt. Ja, und dann muss ich die Referenztabelle auswählen, und die Referenztabelle ist die Tabelle "personal", und dann bekomme ich hier direkt angezeigt aus meiner aktuellen Tabelle, wo ich nun dieses Feld "personal" mitverknüpfen möchte. Und das ist das Feld "projektleiter". Und jetzt sieht man, der Projektleiter ist ein Nachschlagefeld, eine Nachschlagespalte auf die "personal_id" aus der Tabelle "projekte". Und dann können Sie als Letztes hier noch definieren, was für Referenzbedingungen oder Integritätsbedingungen bestehen sollen. Das hat was, wie der Name schon sagt, bei einer Aktualisierung der Tabellen oder der Löschung von Datensätzen. Dann wird das entweder auch aktualisiert oder direkt mitgelöscht. Also das würde jetzt, zum Beispiel, wenn ich hier sage "Kaskadiere das bitte", dann würde das bedeuten, dass wir nicht in der Tabelle "personal" die "personal_id" löschen, also zum Beispiel einen Mitarbeiter löschen, dann wird auch automatisch jedes Projekt gelöscht, wo dieser Mitarbeiter migearbeitet hat. Das wäre jetzt nicht sinnvoll. Also sage ich hier mal einfach "NO ACTION". Und bei einem Update-Befehl, zum Beispiel, soll er durchaus den Namen aktualisieren, also sprich wenn der mal heiratet, dass automatisch dann auch den allen Projekten der richtige Name zugeordnet ist. Wie dem auch sei, ich habe die Einstellungen vorgenommen für den Foreign Key und bestätige das durch Klick auf "Apply" und bekomme dann hier wieder in der Workbench sehr übersichtlich den SQL-Befehl angezeigt. "Create table" für die neue Anlage einer Tabelle. Bis dahin gibt es nichts Neues und genau genommen bis zur Anlage des Primärschlüssels. Was Neues zur Anlage des Foreign Keys sind die Zahlen, die ab Index bis nach unten hinkommen. So, und da lege ich also mit dem Befehl INDEX den Index selber an, sage, worauf er gelegt werden soll. Ja, das ist noch was mit der Sortierreihenfolge hinterher des Index zu tun, dass besonders erst mal nicht weiter beschäftigen. Wichtig ist dann hier der Nachschlage- oder Fremdschlüssel auf "projektleiter" aus der Tabelle "projekte" personal verknüpft mit "personal_id" in der aktuellen. Ja, und damit dann noch hier die Integritätsbeziehungen. Und wenn ich das nun mit "Apply" bestätige, dann wird das Script ausgeführt. Alles ist erfolgreich. Und ja ich habe hier meine Tabelle angelegt. Gucken wir uns mal die Information kurz dazu an. Wir haben hier also Infos über die Tabelle, über die Spalten und auch die Info, dass wir hier einen Foreign Key, einen Fremdschlüssel oder Nachschlageschlüssel... Ich bevorzuge persönlich einen hier, diesen Begriff, weil er für mich greifbarer ist, denn hier drüber schlage ich nach auf die Tabelle "personal". Und damit haben Sie ein ganz wesentliches Konzept umgesetzt, was bei relationalen Datenbanken und bei der Planung von Datenbanken hinterher in der weiterführenden Arbeit damit, vor allen Dingen bei Planung mit ER/N-Modellen und so weiter von absoluter Notwendigkeit ist.

MariaDB Grundkurs

Sehen Sie, wie Sie den populären Datenbankserver einrichten und für erste eigene Projekte nutzen.

4 Std. 41 min (44 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Software:
MariaDB MariaDB 10.1
Exklusiv für Abo-Kunden
Erscheinungsdatum:29.03.2016
Aktualisiert am:08.05.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!