|   Datenbank Schlüssel 
Eine Relation kann mehrere Schlüsselkandidaten haben!
Ein Schlüssel ist eine 
  Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) 
  einer Tabelle eindeutig identifiziert Unter einem Schlüsselkandidaten versteht man ein Schlüssel mit minimaler Anzahl Attribute (eine Personalausweis Nummer hat eine eindeutiges Attribut, Eine Koordinate (Länge/Breite zwei...)   
 Vereinfacht:Jede Reihe in einer Tabelle sollte eindeutig identifizierbar sein, d.h. in 
einer Spalte der Tabelle sollten Werte eingetragen sein, die einmalig sind und 
die betreffende Reihe eindeutig identifizieren (z.B. Identifikationsnummer). 
Eine solche Spalte nennt man Primärschlüssel (primary 
key).
 
  
  
    | ID | Titel | Interpret | Spiellänge | Preis |  
    | 1 | Queen Live | Queen | 65:01 | 12.99 |  Primärschlüssel: 
ID (hier können wir sicher sein das es bei einer fortlaufenden ID nur 
ein vorkommen dieser gibt und somit jede Zeile eindeutig identifiziert werden 
kann.) Ein Primärschlüssel kann sich auch aus mehreren 
Attributen zusammensetzen, dann spricht man von einem zusammengesetzter 
Primärschlüssel (composite key)  
 
  
  
    | Titel | Interpret | Spiellänge | Preis |  
    | Queen Live | Queen | 65:01 | 12.99 |  Zusammengesetzter 
Primärschlüssel: Titel und Interpret (wobei zu überprüfen ist ob diese 
Kombination wirklich einmalig ist! Bzw. ob es nicht sein kann das eine CDs 
mehrfach vorhanden ist) Mittels des Primärschlüssels ist die Verknüpfung mit 
anderen Tabellen einfach: in der anderen Tabelle muß nur eine Spalte vorhanden 
sein, in der der entsprechende Primärschlüssel der ersten Spalte eingetragen 
ist. Eine solche Spalte nennt man auswärtigen Schlüssel (foreign key). CDs
 
 
  
  
    | ID | Titel | Interpret | Spiellänge | Preis |  
    | 1 | Queen Live | 11 | 65:01 | 12.99 |  Interpreten
 
   Der Primärschlüssel der Tabelle 
Interpreten ist in der Tabelle CDs gleichzeitig der sogenannte 
Fremdschlüssel (foreign 
key).Begrifflichkeit: Ein Schlüsselattribut ist ein Attribut, das Teil mindestens eines Schlüsselkandidaten ist. Alle anderen Attribute sind Nicht-Schlüsselattribute   MySQL unterstützt bis zur Version 4.0 keine foreign key's sie können zur Kompatibilität zu anderen DBs 
(z.B. Oracle) jedoch angelegt werden. (MySQL ignoriert sie dann einfach)  Beispiel:Für die 
Datenintegrität ist der Entwickler der die DB verwendet selbst 
verantwortlich. Um in neueren	 Versionen Forein Keys verwenden zu können, muss als Tabellentyp InnoDB verwendet werden!
 
CREATE TABLE parent(id INT NOT NULL, PRIMARY KEY (id)) TYPE=INNODB;
 CREATE TABLE child(id INT, parent_id INT, INDEX par_ind (parent_id),
 FOREIGN KEY (parent_id) REFERENCES parent(id)
 ON DELETE SET NULL
 ) TYPE=INNODB;
        |