Schlüssel

Der Begriff Schlüssel, Cipher Key (CK oder Kc), wird nachfolgend im Kontext mit Verschlüsselung und mit Datenbanken behandelt.


  1. Der Begriff Schlüssel im Kontext von Verschlüsselung

    In dem hier behandelten Kontext ist ein Schlüssel eine generierte Bitkombination mit der aus einem Klartext ein Geheimtext erzeugt wird und mit dem empfangsseitig aus dem chiffrierten Text der Klartext zurück gewonnen wird. Die Generierung des Schlüssels erfolgt mittels mathematischer Verfahren oder über Zufallsverfahren unter Einbeziehung von Primzahlen. Die Schlüssellänge ist maßgeblich für die Sicherheit der übertragenen Daten.

    Je nach Verschlüsselungsverfahren kann es sich um öffentliche oder private Schlüssel handeln. Der öffentliche Schlüssel ist der öffentlich bekannte Teil eines asymmetrischen Schlüsselpaares. Er ist im Zertifikat enthalten und kann von allen Teilnehmern der Sicherheitsinfrastruktur (PKI) benutzt werden. Erst durch die Nutzung des privaten Schlüssels kann der Schlüsselinhaber die Daten entschlüsseln. Der private Schlüssel ist hingegen der geheime Teil des asymmetrischen Schlüsselpaares
  2. Der Begriff Schlüssel im Kontext von Datenbanken

    Ein Schlüssel dient der eindeutigen Identifizierung eines Datensatzes (Tupels) in einer relationalen Datenbank - jede Relation hat mindestens einen Schlüssel. Ein Schlüssel ist ein Attribut oder auch eine minimale Verknüpfung von Attributen, deren Werte dann für die eindeutige Kennzeichnung der Tupel verwendet werden können. Dies hat zur Folge, dass ein solcher Schlüssel in einer Relation nur einmal erscheinen darf. Da eine Menge von Tupeln sich mindestens im Schlüsselwert unterscheidet, bedeutet dieses umgekehrt, dass ein Tupel in einer Relation nur einmal auftreten darf. Grundlegend gilt für die Bildung von Schlüssel das Prinzip der Minimalität - d.h. ein Schlüssel muss so kurz wie möglich gehalten werden. Zur Unterscheidung von anderen Attributen werden Schlüssel in einer Relation durch Unterstreichen des (der) Schlüsselattribute(s) gekennzeichnet.

    Aus der Sicht einer Tabelle gesehen, bilden die Spalten einen Schlüssel der Relation, wenn mit Hilfe der Werte einiger Spalten einer Relation das komplette Tupel eindeutig bestimmt werden kann. Es besteht generell eine sogenannte funktionale Abhängigkeit zwischen dem Schlüssel einer Relation und allen anderen Spalten dieser Relation. Eine funktionale Abhängigkeit liegt dann vor, wenn man die Werte von Feldern auf andere Felder in einem Datensatz eindeutig zurückführen kann. Häufig lassen relationale Datenbanken auch die Anlage von Tabellen ohne Schlüssel zu. Das genügt jedoch einer praktischen Relevanz nicht, da sobald in einer Tabelle gleiche Datensätze vorkommen, man diese dann nicht mehr identifizieren kann. Im Sinne des relationalen Datenbank-Schemas kann nämlich ein Tupel nicht mehrfach zu einer Relation gehören.

    Für die Behandlung von relationalen Datenbank-Schemata haben sich im Zusammenhang mit dem Begriff Schlüssel noch die folgenden Definitionen gebildet:

    Primärschlüssel. Jede Relation weist einen Primärschlüssel auf, der die Tupel der Tabelle eindeutig identifiziert. Für den Einschub eines Tupels in eine Relation ist mindestens der Primärschlüsselwert vorzugeben. Dabei brauchen weitere Attributwerte des Tupels für die Anlage des Datensatzes nicht unbedingt bekannt sein, da sie durch sogenannte Null-Werte dargestellt werden. Ein Null-Wert bedeutet in diesem Zusammenhang so viel wie "nicht existent" und hat keinerlei Beziehung mit einem numerischen 0-Wert. Ein Primärschlüssel sollte stabil über den Lebenszyklus einer Tabelle sein. Sollte eine Tabelle keine eindeutigen Attribute - auch Datenfelder genannt - haben, kann beispielsweise eine zusätzliche, eindeutige ID-Nummer als Primärschlüssel zugeordnet werden.

    Schlüsselkandidaten. Alle Attribute oder Kombinationen von Attributen werden als Schlüsselkandidaten bezeichnet. Die Werte dieser Attribute müssen wiederum eindeutig sein. Daneben kann eine Relation prinzipiell beliebig viele zusätzliche Schlüssel haben. Dabei sind der Primärschlüssel und jeder beliebige Zusatzschlüssel wechselseitig assoziiert.

    Fremdschlüssel. Hiermit bezeichnet man ein Attribut in einer Relation, welches eine Beziehung zu einem Schlüsselfeld einer anderen Relation herstellt. Sollte eine Tabelle keine eindeutigen Attribute - auch Datenfelder genannt - haben, kann beispielsweise eine eindeutige ID-Nummer als Primärschlüssel zugeordnet werden.

    Index. Ein Index ist ein Hilfsmittel relationaler Datenbanken, um bei Suchfunktionen Datensätze effizienter aufzufinden. Indizes werden zusätzlich zum Primärschlüssel angelegt, um damit den Zugriff auf die Daten zu beschleunigen. Indizes können grundsätzlich für jede Spalte angelegt werden - sinnvoll ist deren Verwendung für Datensätze nach denen meistens gesucht wird. Allerdings wird bei der Verwendung mehrerer Indizes beispielsweise beim Füllen einer Tabelle viel Zeit für die Aktualisierung der Indizes benötigt. Hier ist es dann vorteilhafter, die Indizes erst nach dem Füllen der Tabelle zu aktualisieren.

Informationen zum Artikel
Deutsch: Schlüssel
Englisch: cipher key - Kc
Veröffentlicht: 22.04.2013
Wörter: 765
Tags: #Datenbanken #Datenschutz
Links: Attribut, Chiffre, Daten, Datenbank, Datenfeld