Access 2016: Tabellen für Fortgeschrittene

Tabellen über Beziehungen verknüpfen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Die verschiedenen Möglichkeiten, um Tabellen miteinander zu verknüpfen, lösen jeweils unterschiedliche Probleme. Dafür genügen normalerweise drei Beziehungstypen, die Sie in diesem Video kennenlernen.

Transkript

Tabellen in einer relationalen Datenbank wie Access, liegen natürlich nicht zufällig rum. Wenn Sie 1:n-Beziehungen einsetzen, dann typischerweise dort, wo es hierarchische Daten gibt. Hierarchische Date gibt es sehr häufig. Nehmen wir ein solches Beispiel: Wann immer Sie vom Detail zum Ganzen gehen, also hier zum Beispiel von dem Ort Aachen aus zu seinem übergeordneten, seinem Elternobjekt, nämlich dem Bundesland Nordrhein-Westfalen. Das wiederum gehört zum Staat Deutschland, der liegt in Europa, Europa liegt auf dieser Erde, die bewegt sich in diesem Sonnensystem und das gehört zur Galaxie Milchstraße. Das ist so ein klassischer Fall von hierarchischer Anordnung von Daten und das bedeutet, ich mache das nur mal für die ersten drei Punkte, dass Sie dafür entsprechend eigene Tabellen brauchen. Also für die Orte, Bundesländer und Staaten gibt es zu allererst eine Tabelle "Orte". Die Feldnamen mögen Sie jetzt ein bisschen irritieren; ich setze bei Feldnamen immer ein fünbuchstabiges Präfix voran, so dass ich jedem Feldnamen ansehen kann, zu welcher Tabelle er gehört. Das heißt also hier bei "Ort", mit zwei Unterstrichen aufgefüllt, die gehört zu Tabelle "Orte". Für den Ort habe ich jetzt hier eine Postleitzahl und einen Namen aber kein Bundesland. Denn das Bundesland ist die nächste Hierarchieebene. Dafür gibt es also eine eigene Tabelle. Und das Bundesland wird gefunden über diesen Fremdschlüssel, das heißt hier kann ich nachgucken, mein Fremdschlüssel. Die Referenz auf die Bundesland-ID ist die "10". Und dort unter "10" finde ich dann den tatsächlichen Namen. Ich werde also hier nie den Namen speichern, sondern immer nur einen Verweis sozusagen. Und eine Ebene höher funktioniert das genauso. Das Bundesland gehört zu einem Staat. Und ich kann also jetzt hier nachgucken, dass unter der Staatsnummer "1", unter der ID "Deutschland" notiert ist. Das ist eigentlich so der häufigste Fall in relationalen Datenbanken: Eine 1:n-Beziehung, nämlich ein Staat zu n Bundesländern und wiederum ein Bundesland zu n Orten existiert. Die m:n-Beziehungen die bilden ja mehrfache Zusammenhänge ab und sind, was auf den ersten Blick erstmal irritiert, nicht direkt speicherbar. Aber sie sind eben doch speicherbar, nur nicht direkt, wenn man eine Zwischentabelle benutzt. und dann wird aus m:n zweimal 1:n. Und meistens so symmetrisch, dass hier die Zwischentabelle liegt; deswegen 1:n und von der anderen Seite auch zu n. Die Zwischentabelle besitzt die beiden Fremdschlüssel, die hier mit n gekennzeichnet sind. Nehmen wir das Beispiel der Köche, also hier von beliebigen Personen. Die sollen qualifiziert werden. Es gibt eine Liste von Qualifikationsmaßnahmen, irgendwelche Kurse, die sie belegen können. Viele Köche wollen also in viele Kurse. Die Kurse sind ein Angebot, die Köche stehen also sozusagen in der Gegend herum, aber ich kann jetzt keine 1:n-Beziehung machen. Denn dann hätte ein Koch beliebig viele Qualifikationen, aber jede Qualifikation könnte nur von einem Koch besucht werden. Einem einzigen. Oder umgekehrt. Deswegen braucht es diese Zwischentabelle; ich nenne die mal einfach "Fortbildungen". und die Fortbildungen beschreiben, wer was gemacht hat. Eigentlich sollten sie auch beschreiben, wer wann was gemacht hat, und vielleicht sogar mit welchem Abschluss, aber das können wir hier erstmal weglassen, das macht es nur komplizierter. Ich kann jetzt also hier den Framdschlüssel festhalten. Dieses ist der Fremdschlüssel auf die Person. Die Person Metzler war da, und zwar bei dem Thema "Römische Gerichte". Die gleiche Person Metzler war außerdem noch bei dem Thema "Vegetarisch/Vegan kochen". Das heißt, eine Person kann schon mal mehrere Kurse machen. Aber gleichzeitig ist die Person Uedelhoven auch in der Qualifikation "Römische Gerichte" gewesen, also eine Qualifikation kann auch n Teilnehmer haben. Und das ist das, was m:n ausmacht: 1:n, und auch von dieser Seite aus 1:n. Eine typische Vermittlungstabelle, für m:n besteht eigentlich fast nur aus Fremdschlüsseln. Das sind die Fremdschlüssel auf die Personen und das sind die Fremdschlüssel auf die Qualifikationen. Und damit sind wir beim dritten Beispiel, nämlich die 1:1-Beziehungen, die ja immer dann gebraucht werden, wenn man irgendetwas abspalten will oder muss. Entweder zu wenig Platz oder zu viel Geheimniskrämerei sozusagen. Die ursprüngliche Tabelle mit den Personen ist sozusagen ein bisschen erweitert. Das heißt, zu dem Vor- und Nachnamen gibt es noch ein Gehalt. Und entweder wissen Sie nicht zu allen Teilnehmern das Gehalt, es kann ja sein, dass das externe sind, oder die Benutzer der Datenbank dürfen das gar nicht sehen. Beides sind gute Gründe das abzutrennen. Das heißt, diese Tabellenfelder, genauer gesagt nur dieses eine Feld, wird getrennt. Ich werde das nach außen auslagern und deswegen wird es sozusagen komplett umgebaut. Die leeren Felder braucht es dort gar nicht, bleibt also nur dieser Teil übrig. Und Sie sehen schon an der Umfärbung in dem neuen Präfix: Das wandert jetzt auch in eine neue Tabelle; die heißt offensichtlich "tblGehaelter". Und an dieser Stelle kriegt sie eine spezielle ID, die nämlich identisch ist mit derjenigen da vorne. Wenn ich die verbinde, dann so, dass diese "1" auch hier immer eine "1" hat. Typischerweise sehen Sie hier eine automatisch gezählte, nämlich Auto-Wert-Zahl und das ist bei 1:1-Beziehungen nicht der Fall. Hier bleibt der Auto-Wert, der ist frei wählbar, der erzeugt sich beim neuen Datensatz. Und hier muss es immer das Gegenstück geben. Also hier 1:1, geht bis Nummer 4, die 5, 6, 7, 8 gibt es hier nicht, aber die 9 wieder; und zwar auch nur exakt einmal. Das bedeutet, dass diese Gehältertabelle nicht nur kürzer ist und einzeln zu trennen, sondern auch exakt zu jedem Datensatz hier maximal hier einen Datensatz hat. 1:1 müsste man eigentlich als 1:0-1 bezeichnen. Es kann, wie Sie bei der Nummer 5 sehen, auch keinen Datensatz geben. Und dann gibt es noch einen Sonderfall, nämlich hierarchische Daten, aber reflexiv. Sprich, die haben Beziehungen zu sich selber. Das ist beispielsweise so, wenn Sie die Küchen-Hierarchie abbilden wollen. Die sieht normalerweise so aus: Es gibt hier Personen, die Chef von irgendjemandem sind. Hier gibt es sogar mehrere in der gleichen Ebene. Aber hier, das ist eigentlich der spannende Teil, gibt es ein Chef über einem Chef über einem Chef. Und da wollen Sie nicht eine Tabelle für alle Küchendirektoren, eine für die Küchenleitung, eine für die Stellvertretenden machen und eine hier für die Untergeordneten, denn es sind alles Personen. Die sind alle identisch eigentlich von der Technik her. Etwas vereinfacht können wir uns also auf den inneren Teil beschränken. Das ist das Problem. Alles sind Personen, alle stehen eigentlich in der gleichen Tabelle, und trotzdem muss ich bescheid sagen können, wer wessen Chef ist. Das heißt, die haben eine Tabellenbeziehung zu sich selber. Das wird so abgebildet: Das ist eine Tabelle, ich habe sie jetzt mal "Hierarchien" genannt, das es so eine Tabelle gibt, und dort steht ein Fremdschlüssel, der auf einen Primärschlüssel in der gleichen Tabelle zeigt. Also, hier ist nichts anderes zu sehen, als dass der Chef de cuisine über sich einen Directeur hat. Und hier steht sein Chef. Für den Sous-Chef mit der eigenen Nummer 3 ist der mit der Person 2, nämlich hier mit der Hierarchie-ID "2" wiederum sein Chef. Das ist also der oberste Chef, der hat keinen über sich. Das sind Einzelne sozusagen, die jeweils einen Chef über sich haben und alle da drunter, "Chef de Partie" heißen die, sozusagen allgemein, die Nummern 4, 5, 6 haben gemeinsam, den Chef mit der Nummer 3. Das ist also eine reflexive Hierarchie, eine Tabelle, die sich auf sich selbst bezieht. Wo der Fremdschlüssel in der gleichen Tabelle steht, wie der Primärschlüssel. Und damit haben Sie alle wesentlichen Probleme einer relationalen Datenbank gelöst. Wir können also mit diesen 1:n-, 1:1- und m:n-Beziehungen alle Probleme, die man so in einer relationalen Datenbank hat im Wesentlichen lösen.

Access 2016: Tabellen für Fortgeschrittene

Meistern Sie die hohe Kunst der Access-Tabellen. Lernen Sie, Tabellen mit speziellen Datentypen, berechneten Felder, Indizes und Verknüpfungen weiterzuentwickeln.

2 Std. 32 min (27 Videos)
Derzeit sind keine Feedbacks vorhanden...
Hersteller:
Exklusiv für Abo-Kunden
Erscheinungsdatum:13.03.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!