Grundlagen der Programmierung: Datenbanken

Index erstellen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Ein Index erleichtert das Auslesen von Informationen aus umfangreichen Datenbanken. Allerdings ist die Schreibarbeit für die Erstellung eines Index relativ aufwendig.

Transkript

Wenn Ihre Datenbank an Umfang zunimmt, dann gibt es ein Bestandteil des Datenbankdesigns der zunimmt, wichtiger wird, und zwar das Erstellen und Verwenden von Indizes. Ein Index, dass kann man am leichtesten mit einem Index in einem Lehrbuch vergleichen oder auch mit einem Telefonbuch. Wir haben also eine schnelle Übersicht um schnell an Inhalt zu gelangen. Schauen wir uns das Ganze mal etwas konkreter an. Ich habe hier eine Tabelle mit CustomerID, FirstName, LastName, Email und so weiter und diese CustomerID, die ist aber nicht wirklich in einer Reihenfolge, weil nach und nach neue CustomerIDs hinzukamen und diese Spalte CustomerID, die ist aber nicht wirklich in einer sinnvollen Reihenfolge. Es liegt daran, dass einfach nach und nach im Zuge des Anlegen dieser Tabelle neue CustomerIDs hinzugefügt worden sind und man hat nicht umbedingt mit der kleinsten angefangen. Das Gaze ist als Primary key als Primärschlüssel definiert und deswegen hat Ihr SQL- Datenbankmanagementsystem daraus automatisch einen Index erstellt und hat das Ganze in eine sinnvolle Reihenfolge gebracht. Das bedeutet die 551 steht am Anfang und die 592 in diesem Beispiel steht ganz unten. Und wenn ich jetzt auf diese Information zugreifen möchte mit einem SELECT Befehl, dann schreib ich SELECT Customer WHERE CustomerID= 584, dann kann die Datenbank sehr sehr schnell diese 584 herausgreifen, weil es ungefähr abschätzen kann an welcher Position in der Datenbank es sich konkret befindet. Wenn ich hingegen zum Beispiel einen Nachnamen suche und sage SELECT FROM Customer WHERE LastName= 'Smith' dann musst das Datenbanksystem komplett die Tabelle durchscannen, denn es kann ja zum Beispiel auch sein, dass das 'Smith' mehrfach vorkommt. Und dieses durchscannen dieser Tabelle das kann unter Umständen schon ziemlich lange dauern. Wir haben jetzt hier nur 4 Zeilen, aber stellen Sie sich vor Sie haben 4 Millionen Zeilen, dann ist so ein Index hilfreich um Informationen schneller auffinden zu können. Wir können jetzt natürlich noch zusätzlich zu unser CustomerID ein Index für den LastName bauen. Den haben wir jetzt hier rechts eingeblendet. Das bedeutet dieser LastName, der ist alphabetisch sortiert von A wie Allen bis S wie Smith und neben diesen LastName da steht da noch der Primärschlüssel, also die CustomerID und wenn ich jetzt nach Smith suche, dann muss ich nicht die gesamte Tabelle durcharbeiten, sonder ich kann alphabetisch direkt zu Smith gehen und dann gehe ich auf die 551 und das verweist mich dann natürlich auf die Haupttabelle, so dass ich schnell zu dieser entsprechenden Zeile gelange. Sie können sich das so vorstellen, wenn Sie im Telefonbuch, wenn Sie noch so eins zu Hause haben, nach einem bestimmten Namen suchen möchten und diese Namen im Telefonbuch sind aber nicht alphabetisch sortiert, dann müssen Sie das gesamte Telefonbuch durchblättern. Und das macht natürlich wenig Sinn, deswegen ist es dort sortiert. Warum habe ich jetzt allerdings nicht so ein Index auf den Nachnamen und zusätzlich auf den Vornamen. Schauen wir und das Ganze mal an, wie es wäre. Ich habe hier ein vereinfachte Tabelle mit einer EmployeeID, FirstName, das Middlelnitial und LastName. Und wenn ich jetzt ein Index für LastName habe, dann habe ich hier rechts das ganze nochmal nach dem Nachnamen sortiert und die EmployeeID, dann habe ich rechts unten nochmal das Ganze nochmal nach dem Vornamen sortiert und auch wiederum Bezug genommen auf die EmployeeID. Wenn ich jetzt einen neuen Mitarbeiter einfüge, also hier die Brenda Daniels, dann muss ich beim schreiben gleichzeitig in den LastName Index etwas einfügen, ich muss also gucken wo muss denn jetzt diese D für Daniels eingefügt werden, also hier an der dritten Stelle und dann muss ich im nächsten Schritt das Ganze für den Vornamen rechts unten auch nochmal machen, da muss ich gucken, wo pass den das B von Brenda rein. Das heißt ich habe für so ein einfachen Schreibvorgang, indem ich ein einfachen neuen Mitarbeiter anlegen möchte plötzlich 3 Schreibvorgänge, also die Haupttabelle und dann die beiden Indizes. Da bedeutet so ein Index hilft mir zwar Daten sehr sehr schnell lesen zu können, aber beim schreiben habe ich dafür um so mehr Aufwand und das ist der Grund warum man nicht für alles ein Index anlegt, sondern nur auf Spalten auf die häufig zugegriffen wird, also die CustomerID, weil es der Primärschlüssel ist hat es meistens automatisch einen Index und dann vielleicht höchstens noch zum Beispiel der Nachname.

Grundlagen der Programmierung: Datenbanken

Fangen Sie ganz von vorne an und erfahren Sie alles über die Grundlagen zu Datenbanken und deren Einsatzzwecke, um danach eigene Lösungen und Anwendungen zu entwickeln.

3 Std. 6 min (39 Videos)
Derzeit sind keine Feedbacks vorhanden...

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!