Aby se v databázích dalo snadno vyhledávat a rozšiřovat je, používají se různé databázové architektury, které nám toto umožní.
Příklad klíčů v databázi e‑shopu
V tabulce person jsou kandidátní klíče všechny, které obsahují person_ID nebo email, tedy {person_ID}, {email}, {person_ID, email}, {person_ID, name}, {person_ID, surname}, {person_ID, name, surname}, {email, name}, {email, surname}, {email, name, surname}, {person_ID, email, name}, {person_ID, email, surname}, {person_ID, email, name, surname}.
V tabulce buying je jediný kandidátní klíč kombinace všech atributů, tedy {product_code, person_ID, date}. Tabulka vychází z předpokladu, že si každý zákazník může koupit daný produkt jen jednou za den. Kdybychom předpokládali, že může každý zákazník koupit produkt jen jednou za život, byl by kandidátní klíč i {product_code, person_ID}.
Jako primární klíč můžeme zvolit libovolný z kandidátních klíčů, tedy například {person_ID} pro tabulku person a {product_code, person_ID, date} pro tabulku buying. Kdybychom chtěli, mohli bychom místo toho za primární klíč zvolit pro tabulku person například {email}.
Primární klíč person_ID z tabulky person je použit i v tabulce buying, je proto v tabulce buying cizím klíčem vedoucím do tabulky person.
Existují i další hojně používané typy databází. V posledních letech se rozšiřují možnosti ukládat nestrukturovaná data, například NoSQL databáze.