Indizierung in DBMS: Was ist, Arten von Indizes mit BEISPIELEN

Was ist Indizierung?

Indizierung ist eine Datenstrukturtechnik, mit der Sie schnell Datensätze aus einer Datenbankdatei abrufen können. Ein Index ist eine kleine Tabelle mit nur zwei Spalten. Die erste Spalte enthält eine Kopie des Primär- oder Kandidatenschlüssels einer Tabelle. Die zweite Spalte enthält eine Reihe von Zeiger zum Speichern der Adresse des Plattenblocks, in dem dieser spezifische Schlüsselwert gespeichert ist.

Ein Index -

  • Akzeptiert einen Suchbegriff als Eingabe
  • Gibt effizient eine Sammlung übereinstimmender Datensätze zurück.

Arten der Indizierung im DBMS

Arten der Indizierung im DBMS
Art der Indizes in der Datenbank

Die Indizierung in der Datenbank wird basierend auf ihren Indizierungsattributen definiert. Zwei Haupttypen von Indizierungsmethoden sind:

  • Primärindizierung
  • Sekundäre Indizierung

Primärindex im DBMS

Der Primärindex ist eine geordnete Datei mit fester Länge und zwei Feldern. Das erste Feld ist dasselbe wie ein Primärschlüssel und das zweite Feld verweist auf diesen spezifischen Datenblock. Im Primärindex besteht immer eine Eins-zu-Eins-Beziehung zwischen den Einträgen in der Indextabelle.

Die primäre Indizierung im DBMS ist außerdem weiter in zwei Typen unterteilt.

  • Dichter Index
  • Sparse-Index

Dichter Index

In einem dichten Index wird für jeden in der Datenbank bewerteten Suchschlüssel ein Datensatz erstellt. Dadurch können Sie schneller suchen, benötigen aber mehr Platz zum Speichern von Indexdatensätzen. Bei dieser Indizierung enthalten Methodendatensätze einen Suchschlüsselwert und verweisen auf den tatsächlichen Datensatz auf der Festplatte.

Dichter Index

Sparse-Index

Es handelt sich um einen Indexdatensatz, der nur für einige Werte in der Datei erscheint. Sparse Index hilft Ihnen, die Probleme der dichten Indizierung zu lösen DBMS. Bei dieser Methode der Indizierungstechnik speichert ein Bereich von Indexspalten dieselbe Datenblockadresse, und wenn Daten abgerufen werden müssen, wird die Blockadresse abgerufen.

Allerdings speichert Sparse Index Indexdatensätze nur für einige Suchschlüsselwerte. Es benötigt weniger Speicherplatz und weniger Wartungsaufwand für Einfügungen und Löschungen, ist jedoch langsamer im Vergleich zum dichten Index zum Auffinden von Datensätzen.

Unten finden Sie ein Datenbankindexbeispiel für einen Sparse-Index

Sparse-Index

Sekundärindex im DBMS

Der sekundäre Index im DBMS kann durch ein Feld generiert werden, das für jeden Datensatz einen eindeutigen Wert hat, und es sollte ein Kandidatenschlüssel sein. Er wird auch als Non-Clustering-Index bezeichnet.

Diese zweistufige Datenbankindizierungstechnik wird verwendet, um die Zuordnungsgröße der ersten Ebene zu reduzieren. Aus diesem Grund wird für die erste Ebene ein großer Zahlenbereich ausgewählt; Die Mapping-Größe bleibt immer klein.

Beispiel für einen Sekundärindex

Lassen Sie uns die Sekundärindizierung anhand eines Beispiels für einen Datenbankindex verstehen:

In einer Bankkontodatenbank werden die Daten sequentiell nach acc_no gespeichert; Möglicherweise möchten Sie alle Konten einer bestimmten Filiale der ABC-Bank finden.

Hier können Sie für jeden Suchschlüssel einen Sekundärindex im DBMS haben. Der Indexdatensatz ist ein Datensatzpunkt auf einen Bucket, der Zeiger auf alle Datensätze mit ihrem spezifischen Suchschlüsselwert enthält.

Beispiel für einen Sekundärindex

Clustering-Index im DBMS

In einem Clustered-Index werden die Datensätze selbst im Index gespeichert und keine Zeiger. Manchmal wird der Index für Nicht-Primärschlüsselspalten erstellt, die möglicherweise nicht für jeden Datensatz eindeutig sind. In einer solchen Situation können Sie zwei oder mehr Spalten gruppieren, um die eindeutigen Werte zu erhalten und einen Index zu erstellen, der als Clustered-Index bezeichnet wird. Dies hilft Ihnen auch, den Datensatz schneller zu identifizieren.

Beispiel:

Nehmen wir an, dass ein Unternehmen viele Mitarbeiter in verschiedenen Abteilungen rekrutiert. In diesem Fall sollte eine Clustering-Indizierung im DBMS für alle Mitarbeiter erstellt werden, die derselben Abteilung angehören.

Es wird in einem einzelnen Cluster betrachtet und Indexpunkte verweisen auf den Cluster als Ganzes. Hier ist Department_no ein nicht eindeutiger Schlüssel.

Was ist ein Multilevel-Index?

Mehrstufige Indizierung in Datenbase wird erstellt, wenn ein Primärindex nicht in den Speicher passt. Bei dieser Art der Indizierungsmethode können Sie die Anzahl der Festplattenzugriffe reduzieren, um jeden Datensatz zu verkürzen und als sequentielle Datei auf einer Festplatte zu speichern und eine spärliche Basis auf dieser Datei zu erstellen.

Mehrstufiger Index

B-Baum-Index

Der B-Tree-Index ist die weit verbreitete Datenstruktur für die baumbasierte Indizierung in DBMS. Es handelt sich um ein mehrstufiges Format der baumbasierten Indizierung in der DBMS-Technik, das ausgewogen ist binäre Suchbäume. Alle Blattknoten des B-Baums stellen tatsächliche Datenzeiger dar.

Darüber hinaus sind alle Blattknoten mit einer Linkliste verknüpft, wodurch ein B-Baum sowohl zufälligen als auch sequentiellen Zugriff unterstützen kann.

B-Baum-Index

  • Leitknoten müssen zwischen 2 und 4 Werte haben.
  • Alle Pfade von der Wurzel bis zum Blatt sind größtenteils gleich lang.
  • Nicht-Blattknoten außer dem Wurzelknoten haben zwischen 3 und 5 untergeordnete Knoten.
  • Jeder Knoten, der keine Wurzel oder ein Blatt ist, hat zwischen n/2] und n Kindern.

Vorteile der Indexierung

Wichtige Vorteile/Vorteile der Indexierung sind:

  • Dadurch können Sie die Gesamtzahl der zum Abrufen dieser Daten erforderlichen E/A-Vorgänge reduzieren, sodass Sie nicht über eine Indexstruktur auf eine Zeile in der Datenbank zugreifen müssen.
  • Bietet Benutzern eine schnellere Suche und einen schnelleren Abruf von Daten.
  • Durch die Indizierung können Sie auch den Tabellenplatz reduzieren, da Sie keine Verknüpfung zu einer Zeile in einer Tabelle herstellen müssen, da die ROWID nicht im Index gespeichert werden muss. Dadurch können Sie den Tablespace reduzieren.
  • Sie können die Daten in den Lead-Knoten nicht sortieren, da sie durch den Wert des Primärschlüssels klassifiziert werden.

Nachteile der Indizierung

Wichtige Nachteile/Nachteile der Indizierung sind:

  • Um die Indexierung des Datenbankverwaltungssystems durchzuführen, benötigen Sie einen Primärschlüssel für die Tabelle mit einem eindeutigen Wert.
  • Sie können in der Datenbank keine anderen Indizes für die indizierten Daten durchführen.
  • Sie dürfen eine indexorganisierte Tabelle nicht partitionieren.
  • SQL-Indizierung Verringert die Leistung bei INSERT-, DELETE- und UPDATE-Abfragen.

Zusammenfassung

  • Die Indizierung ist eine kleine Tabelle, die aus zwei Spalten besteht.
  • Zwei Haupttypen von Indizierungsmethoden sind 1) Primärindizierung und 2) Sekundärindizierung.
  • Der Primärindex ist eine geordnete Datei mit fester Länge und zwei Feldern.
  • Die primäre Indizierung ist außerdem weiter in zwei Typen unterteilt: 1) dichter Index und 2) spärlicher Index.
  • In einem dichten Index wird für jeden in der Datenbank bewerteten Suchschlüssel ein Datensatz erstellt.
  • Eine Sparse-Indizierungsmethode hilft Ihnen, die Probleme der dichten Indizierung zu lösen.
  • Der sekundäre Index im DBMS ist eine Indexierungsmethode, deren Suchschlüssel eine Reihenfolge angibt, die sich von der sequentiellen Reihenfolge der Datei unterscheidet.
  • Der Clustering-Index ist als Auftragsdatendatei definiert.
  • Die mehrstufige Indizierung wird erstellt, wenn ein Primärindex nicht in den Speicher passt.
  • Der größte Vorteil der Indizierung besteht darin, dass Sie die Gesamtzahl der zum Abrufen dieser Daten erforderlichen E/A-Vorgänge reduzieren können.
  • Der größte Nachteil bei der Durchführung des Indexierungsdatenbankverwaltungssystems besteht darin, dass Sie einen Primärschlüssel in der Tabelle mit einem eindeutigen Wert benötigen.