Oracle eindeutiger Index

Oracle eindeutiger Index
Die Datenbankleistung ist eine der wesentlichen Rollen eines Datenbankentwicklers. Wenn Sie sicherstellen, dass Ihre Datenbank mit optimaler Leistung ausgeführt wird.

Obwohl zahlreiche Möglichkeiten zur Verbesserung der Datenbankleistung vorhanden sind, ist eine Funktion für jede Datenbank nahezu universell. Datenbankindizes sind Datenstrukturen oder Objekte, die zur Verbesserung der Geschwindigkeit des Datenabrufs aus der Tabelle verwendet werden.

Bei korrekter Verwendung können Datenbankindizes die Geschwindigkeit einer Abfrage abhängig von den Zieldaten, dem Layout, den verfügbaren Ressourcen usw. um fast die Hälfte reduzieren.

In diesem Tutorial lernen Sie, wie Sie mit eindeutigen Indizes in Oracle -Datenbanken arbeiten, um die Verfügbarkeit von doppelten Werten in einer indizierten Spalte zu verhindern.

Oracle eindeutiger Index

Wir können einen eindeutigen Index verwenden, um sicherzustellen, dass in einer bestimmten Spalte keine doppelten Zeilen gespeichert werden. Wenn die Spalte eines gegebenen Index eine eindeutige Regel enthält, führt das Versuch, zwei Zeilen mit einem ähnlichen Wert in dieser Spalte hinzuzufügen, zu einem Fehler, der eine eindeutige Einschränkung angibt.

In Oracle können wir einen eindeutigen Index unter Verwendung der im Folgenden gezeigten Erstellen der eindeutigen Indexanweisung erstellen:

Erstellen Sie eindeutig Index index_name auf table_name (Spalten);

Die im Index enthaltenen Spalten akzeptieren keine doppelten Zeilen.

Beispiel für eindeutige Tabellenillustration

Um zu demonstrieren, wie ein eindeutiger Index erstellt und verwendet wird, nehmen Sie die folgende Tabelle an:

Wählen Sie * aus sample_data;

Ausgang:

Erstellen Sie einen eindeutigen Index in der Spalte First_Name

Die folgende Beispielanweisung zeigt, wie Sie einen eindeutigen Index mit der Spalte First_Name erstellen:

Erstellen Sie eindeutig Index First_name_unique auf sample_data (first_name);

Durch Aktivieren dieses Index können wir nicht mehr als eine Zeile mit demselben Vornamen einfügen.

Nehmen wir zum Beispiel die folgende Einfügungsanweisung:

In sample_data einfügen (ID, First_Name, IP_ADDRESS, BTC_ADDRESS, Credit_card, Identifier)
Werte (11, 'Wallas', '169.158.70.77 ',' 1CNZ5D1D5SC8SAR6DFSVIHWZTQYX5FG77Q ',' 4017955174552 '',
'26811D77-0A3A-4397-BC33-F7835F7C7AB9');

Wenn wir die angegebene Einfügungsanweisung ausführen, sollten wir einen Fehler erhalten, wie im Folgenden dargestellt:

[23000] [1] ORA-00001: Einzigartige Einschränkung (HR.First_name_unique) verletzt

Wie wir sehen können, verstößt das Einfügen des angegebenen Wertes gegen die eindeutige Einschränkung für die Spalte First_Name.

Erstellen Sie einen eindeutigen Index mit zwei Spalten

Wir können auch einen eindeutigen Index haben, der aus mehr als einer Spalte besteht. Im folgenden Beispiel erstellen wir einen eindeutigen Index mit den Spalten First_Name und io_address:

Erstellen Sie eindeutiger Index verifizieren

In ähnlicher Weise führt das Hinzufügen doppelter Werte für die Spalte First_Name oder IP_ADdress zu eindeutigen Indexverletzungsfehlern.

Automatische eindeutige Indizes

Haben Sie sich jemals gefragt, was passiert, wenn Sie eine Tabellenspalte mit einem Primärschlüssel oder einer eindeutigen Einschränkung deklarieren?

Wenn Sie eine Spalte als Primärschlüssel der Tabelle festlegen oder einer bestimmten Spalte eine eindeutige Einschränkung zuweisen, erstellt die Datenbank -Engine automatisch einen eindeutigen Index für diese Spalte.

Dies stellt sicher, dass in dieser Spalte kein doppelter Wert eingefügt wird.

Nehmen wir zum Beispiel die folgende Anweisung:

TABLE Sample_Data erstellen
(
ID -Nummer,
First_Name VARCHAR2 (50),
ip_address varchar2 (20),
btc_address varchar2 (50),
Credit_card varchar2 (50),
Kennung varchar2 (40),
Einschränkung Sample_PK Primärschlüssel (ID)
);

Im vorherigen Beispiel erstellen wir eine Tabelle und stellen die ID -Spalte als Primärschlüssel der Tabelle fest. Um die mit dieser Spalte zugeordnete eindeutige Einschränkung anzuzeigen (automatisch generiert), können wir den folgenden Befehl ausführen:

Wählen Sie Index_name, Index_type, Sichtbarkeit, Status, Table_Name
Aus All_indexes wobei table_name = 'sample_data';

Ergebnisse:
In diesem Fall können wir den eindeutigen Index sehen, der von der Datenbank -Engine für die ID -Spalte erstellt wurde.

Abschluss

In diesem Handbuch haben Sie gelernt, wie man die eindeutigen Indizes in der Oracle -Datenbank erstellt und verwendet. Sie haben auch gelernt, was passiert, wenn Sie einer Tabellenspalte einen Primärschlüssel oder eindeutige Einschränkung zuweisen.