V předchozí lekci jste nastavili navigační pravidla, abyste se ujistili, že uživatelé zadali jedinečné ID pro nové krátké inzeráty. Tento proces je náročný a nerealistický, protože nechcete, aby uživatelé serveru zjistili jedinečné ID postupem "pokus a omyl". V této lekci nastavíte automatické generování klíče, takže databáze přiřadí jedinečné číslo každému novému záznamu v databázi automaticky.
Automatické generování klíčů je složité téma, ale stručně řečeno, databáze může vybrat nové klíče, pokud má speciální tabulku vyhrazenou pro generaci klíče. Tato tabulka musí mít seznam nepoužívaných klíčů v jednom sloupci (sloupec přírůstek) a seznam čísel v pořadí začínajícím 1 v jiném sloupci (sloupec identita). Když databáze potřebuje nový klíč, vezme klíč z řádku s 1 v totožném sloupci a poté připraví nový klíč pro příště.
Když databáze potřebuje nový jedinečný klíč, vyhledá řádek s hodnotou sloupce identity 1. Hodnota sloupce s přírůstkem tohoto řádku drží další dostupný klíč. Databáze použije tento klíč a aktualizuje tabulku, takže příště bude k dispozici nový klíč.
| Sloupec Identita | Sloupec Přírůstek |
|---|---|
| 3 | 78 |
| 4 | 3 |
| 1 | 65 |
| 2 | 12 |
Poté, co zachytíte další dostupný klíč z tabulky, tabulka se aktualizuje pro příště. Databáze může také načíst více klíčů najednou, když vezme hodnotu sloupce přírůstku z více než jednoho řádku.
Zkráceně, aby automatické generování klíčů fungovalo, musíte mít pouze nastavenou tabulku pro generování klíčů se dvěma sloupci: sloupec s primárním klíčem, který se použije jako sloupec identity, a sloupec pro uložení dalšího dostupného klíče. Tato tabulka musí být inicializována s jedním záznamem, jehož hodnota sloupce identity je 1 a jehož hodnota sloupce přírůstků je prvním dostupným klíčem, který se použije. Když máte toto nastavení, jste připraveni použít automatické generování klíčů.