I databasestyringssystemer er en supernøgle et sæt af en eller flere kolonner eller attributter i en tabel, der unikt identificerer hver række i den tabel. I enklere vendinger er det en kombination af kolonner, der unikt kan identificere hver post i tabellen.
Eksempel:
Overvej følgende tabel med navnet "Kunder":
```
| Kunde-ID | Navn | Telefon | E-mail |
|------------|------|------|-------|
| C1 | John | 9876543210 | [email protected] |
| C2 | Mary | 9987654321 | [email protected] |
| C3 | Tom | 9765432109 | [email protected] |
| C4 | Jane | 9654321098 | [email protected] |
| C5 | Alex | 9543210987 | [email protected] |
```
I denne "Kunder"-tabel er kolonnen "Kunde-id" en supernøgle, fordi hver kunde har et unikt kunde-id, der identificerer dem entydigt i tabellen. På samme måde ville kombinationen af kolonnerne "Navn" og "E-mail" også være en supernøgle, da den unikt identificerer hver kunde baseret på deres navn og e-mailadresse sammen.
En supernøgle er vigtig, fordi den sikrer entydigheden af rækker i en tabel. Denne unikhed er afgørende for at bevare dataintegriteten og forhindre duplikerede poster. Derudover spiller supernøgler en afgørende rolle i at skabe indekser for at optimere datahentning og forbedre databasens ydeevne.