Einführung in SQL Keys
Schlüssel sind Felder in der relationalen Tabelle, die Beziehungen zwischen anderen Tabellen herstellen, die Integrität, Eindeutigkeit usw. aufrechterhalten. In diesem Thema werden wir uns mit SQL-Schlüsseln befassen.
In RDBMS spielen Schlüssel eine wichtige Rolle. Dies nimmt an mehreren Aktivitäten in der relationalen Datenbank teil. Mit Key können Sie Daten viel schneller und effizienter abrufen. Es kann die Beziehung in zwei oder mehr Tabellen herstellen. Die Verwendung von Schlüsseln ermöglicht es uns, gültige und konsistente Daten in der Datenbank zu speichern. Außerdem dient es zur eindeutigen Identifizierung eines Tupels (einer Zeile) aus der Tabelle. Diese Tabellen können mehrere Spalten enthalten.
Im wirklichen Leben kann eine Tabelle mehrere Schlüssel haben. Alle Spalten können auch als Schlüssel deklariert werden und diese Schlüssel können von der Datenbank erzwungen werden.
Syntax:
CREATE TABLE `customer` (
`cust_id` int(11) NOT NULL,
`cust_name` varchar(100) NOT NULL,
`cust_address` text NOT NULL,
`cust_aadhaar_number` varchar(50) DEFAULT NULL,
`cust_pan_number` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ALTER TABLE `customer` ADD PRIMARY KEY (`cust_id`);
In der oben angegebenen SQL-Abfrage können wir sehen, wie eine Spalte 'cust_id' als Primärschlüssel festgelegt wird.
Art der SQL-Schlüssel
Der SQL Server unterstützt mehrere Arten von Schlüsseln.
Im Folgenden finden Sie die Liste der SQL-Schlüssel:
- Primärschlüssel
- Einzigartiger Schlüssel
- Kandidatenschlüssel
- Alternativer Schlüssel
- Zusammengesetzter Schlüssel
- Super Key
- Unbekannter Schlüssel
Beispielsweise
Kundentabelle | ||||
cust_id | Kundenname | cust_address | cust_aadhaar_number | cust_pan_number |
100001 | Sunil Kumar | Noida | 372464389211 | ADSFS3456K |
100002 | Ankit Gupta | Gr Noida | 442289458453 | CGHAD7583L |
100003 | Suresh Yadav | Neu-Delhi | 878453444144 | NMKRT2278O |
100004 | Nilam Singh | Lucknow | 227643441123 | HFJFD3876U |
100005 | Amal Rawat | Ghaziabad | 932571156735 | CBMVA9734A |
100006 | Raue Saxena | Kanpur | 1453534363319 | TRYUC2568H |
Nachfolgend ist die Tabelle "Bestellung" mit den zugehörigen Daten angegeben, die der "cust_id" aus der Kundentabelle entsprechen.
Bestelltabelle | ||
cust_id | order_month_year | Bestellbetrag |
100001 | 2019 - Jan | 100.000 US-Dollar |
100002 | 2019 - Jan | 120.000 US-Dollar |
100003 | 2019 - Jan | 100.000 US-Dollar |
100004 | 2019 - Jan | 110.000 US-Dollar |
100001 | 2019 - Februar | 105.000 US-Dollar |
100002 | 2019 - Februar | 125.000 US-Dollar |
Nun werden wir einen nach dem anderen auf jedem der Schlüssel durchgehen:
1. Primärschlüssel
Primärschlüssel ist ein Feld, mit dem alle Tupel in der Datenbank eindeutig identifiziert werden können. Nur eine der Spalten kann als Primärschlüssel deklariert werden. Ein Primärschlüssel darf keinen NULL-Wert haben.
Beispiel: In der oben angegebenen relationalen Tabelle ist "cust_id" der Primärschlüssel, da er alle Zeilen in der Tabelle eindeutig identifizieren kann.
2. Eindeutiger Schlüssel
Ein eindeutiger Schlüssel kann ein Feld oder eine Gruppe von Feldern sein, mit denen das Tupel aus der Datenbank eindeutig identifiziert werden kann. Ein oder mehrere Felder können als eindeutiger Schlüssel deklariert werden. Die eindeutige Schlüsselspalte kann auch den NULL-Wert enthalten. Die Verwendung eines eindeutigen Schlüssels verbessert die Leistung beim Abrufen von Daten. Dadurch wird die Suche nach Datensätzen aus der Datenbank viel schneller und effizienter.
Beispiel: In der oben angegebenen relationalen Tabelle sind "cust_aadhaar_number" und "cust_pan_number" der eindeutige Schlüssel, da ein Wert als NULL in der Spalte zulässig ist
3. Kandidatenschlüssel
Kandidatenschlüssel kann eine Spalte oder eine Gruppe von Spalten sein, die für den eindeutigen Schlüssel qualifiziert werden können. Jeder Tisch hat mindestens einen Kandidatenschlüssel. Eine Tabelle kann einen oder mehrere Kandidatenschlüssel haben. Jeder Kandidatenschlüssel kann bei Bedarf in bestimmten Szenarien als Primärschlüssel fungieren.
Beispiel: In der oben angegebenen relationalen Tabelle sind "cust_id", "cust_aadhaar_number", "cust_pan_number" der Kandidatenschlüssel, da alle Zeilen in der Tabelle eindeutig identifiziert werden können. Diese Spalten qualifizieren die Kriterien auch als Primärschlüssel.
4. Alternativer Schlüssel
Alternativer Schlüssel ist der Schlüssel, der bei Bedarf als Primärschlüssel verwendet werden kann. Der alternative Schlüssel kann auch als Primärschlüssel verwendet werden. Derzeit ist dies jedoch nicht der Primärschlüssel.
Beispiel: In der oben angegebenen relationalen Tabelle sind "cust_aadhaar_number" und "cust_pan_number" der alternative Schlüssel, da beide Spalten ein Primärschlüssel sein können, aber noch nicht für den Primärschlüssel ausgewählt wurden.
5. Zusammengesetzter Schlüssel
Composite Key wird auch als Compound Key / Concatenated Key bezeichnet. Zusammengesetzter Schlüssel bezieht sich auf eine Gruppe von zwei oder mehr Spalten, mit denen ein Tupel aus der Tabelle eindeutig identifiziert werden kann. Eine Gruppe der Spalte in Kombination miteinander kann eine Zeile eindeutig identifizieren, aber eine einzelne Spalte dieser Gruppe verspricht nicht, die Zeile eindeutig zu identifizieren.
Beispiel: In der oben angegebenen relationalen Tabelle, dh der Bestellungstabelle, wird die Gruppe "cust_id", "order_month_year" dieser Spalten in Kombination verwendet, um das Tupel eindeutig in der Bestellungstabelle zu identifizieren. Die einzelne Spalte dieser Tabelle kann das Tupel nicht eindeutig aus der Tabelle Order identifizieren.
6. Super Key
Superschlüssel ist eine Kombination von Spalten, von denen jede Spalte der Tabelle abhängig bleibt. Der Superschlüssel kann einige weitere Spalten in der Gruppe enthalten, die möglicherweise zur eindeutigen Identifizierung des Tupels aus der Tabelle erforderlich sind oder nicht. Der Kandidatenschlüssel ist die Teilmenge des Superschlüssels. Candidate Key wird auch als Minimal Super Key bezeichnet.
Beispiel: In der oben angegebenen relationalen Tabelle ist der Primärschlüssel, der Kandidatenschlüssel und der eindeutige Schlüssel der Superschlüssel. Als eine einzelne Spalte der Kundentabelle reicht zB 'cust_id' aus, um die Tupel eindeutig aus der Tabelle zu identifizieren. Jeder Satz der Spalte, der 'cust_aadhaar_number', 'cust_pan_number' enthält, ist ein Superschlüssel.
7. Fremdschlüssel
Ein Fremdschlüssel ist eine Spalte, die in der anderen Tabelle als Primärschlüssel bezeichnet wird. Ein Primärschlüssel in einer Tabelle kann in einer anderen Tabelle als Fremdschlüssel bezeichnet werden. Fremdschlüssel können doppelte & NULL-Werte haben, wenn definiert ist, dass NULL-Werte akzeptiert werden.
Beispiel: In der oben angegebenen relationalen Tabelle ist 'cust_id' der Primärschlüssel in der Kundentabelle, aber 'cust_id' in der Auftragstabelle, die als 'Fremdschlüssel' bezeichnet wird. Der Fremdschlüssel in einer Tabelle wird immer zum Primärschlüssel in der anderen Tabelle.
Das obige Bild zeigt, wie jede Spalte entsprechend ihrer Qualifikation als Schlüssel dargestellt wird, um die Tupel eindeutig aus der Tabelle zu identifizieren. Screenshot fasst alle Schlüssel mithilfe der relationalen Tabelle zusammen.
Schlussfolgerung - SQL-Schlüssel
SQL Keys ist eines der Attribute der relationalen Datenbank. Dies spielt eine wichtige Rolle, um eine Beziehung zwischen zwei oder mehr Tabellen herzustellen. Es hilft auch, Abfragen schneller auszuführen, dh das Abrufen der Datensätze aus der Datenbank wird durch die Verwendung von Schlüsseln viel schneller. Mit den Schlüsseln wird auch eine andere Einschränkung festgelegt, um die Tupel anhand der großen Datenmengen eindeutig zu identifizieren.
Empfohlene Artikel
Dies ist eine Anleitung zu SQL-Schlüsseln. Hier diskutieren wir die Einführung in SQL Keys und 7 verschiedene Typen mit dem entsprechenden Beispiel im Detail. Sie können sich auch den folgenden Artikel ansehen.
- Eindeutiges Schlüsselwort in SQL
- Cursor in SQL
- Fremdschlüssel in SQL
- Transaktionen in SQL