< Předchozí | Další >

Lekce 2.4: Použití automatického generování klíče

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ě.

Abyste mohli nastavit automatické generování klíčů, musíte vědět pár věcí o tom, jak to funguje. Chcete-li použít automatické generování klíčů, databáze musí mít stranou tabulku určenou pro tento účel. Tato tabulka má dva sloupce:
  • Sloupec přírůstek ukládá dostupné klíče. Když databáze potřebuje nový jedinečný klíč, načte jej z tohoto sloupce.
  • Sloupec identita je seznam čísel s pouze jednou instancí čísla 1. Tento sloupec říká databázi, který klíč vybrat ze sloupce přírůstek. Sloupec identita je primárním klíčem tabulky pro generování klíčů.

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íč.

Zde je příklad tabulky pro generování klíčů. Jaký je další dostupný klíč pro tuto databázi? Odpověď je pod tabulkou.
Tabulka 1. Tabulka pro generování klíčů
Sloupec Identita Sloupec Přírůstek
3 78
4 3
1 65
2 12
Dalším dostupným klíčem v této tabulce je 65, protože tento klíč (ve sloupci s přírůstkem) je ve stejném řádku jako 1 ve sloupci identity.

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íčů.

Nastavení automatického generování klíčů

Ukázková databáze poskytovaná tímto výukovým programem má tabulku pro generování klíče pojmenovanou KLÍČE. Její dva sloupce, jak je popsáno nahoře, budou dodávat nové číslo ID pro každý nový záznam. V těchto krocích nastavíte relační záznam create_record, aby bral číslo ID z tabulky KLÍČE.
  1. Poklepejte na stránku new_record.jsp v pohledu Průzkumník projektů.
  2. Poklepejte na relační záznam create_record v pohledu Data na stránce. Otevře se okno Konfigurace relačního záznamu.
  3. Klepněte na Opakované použití definice metadat z existujícího záznamu nebo seznamu záznamů a Vyplnit záznam existujícími daty z databáze, pak klepněte na Další.
  4. Vyberte připojení k databázi z rozbalovacího seznamu, pak klepněte na Další.
  5. Na pravé straně okna Konfigurace seznamu relačních záznamů je seznam odkazů. Klepněte na Automatické generování klíče. Otevře se okno Generování klíčů.
  6. Vyberte Použít automatické generování klíče.
  7. Klepněte a rozbalte seznam W5SAMPLE, pak klepněte na tabulku KEYS.
  8. V poli Výběr sloupce identity klepněte na KEY_ID.
  9. V poli Výběr sloupce přírůstku klepněte na NEXT_KEY.

    Poněvadž potřebujete pouze jeden klíč pro ID inzerátu, necháte "Klíče zachycené současně", nastavené na 1. Pokud byste potřebovali vícenásobné klíče, toto nastavení by nechalo databázi vybrat všechny najednou.

    Okno Konfigurace datového objektu by mělo vypadat takto:

    Okno Konfigurace datového objektu.

  10. Klepněte na Zavřít, abyste zavřeli okno Generace klíče, pak na Dokončit, abyste použili změny. Nyní bude ID pole automaticky generováno pro každý nový záznam. Dále musíte odebrat vstupní pole pro ID, aby uživatel nemohl zadat hodnotu.
  11. Umístěte kurzor v horním řádku tabulky vstupního formuláře klepnutím na text Id:.
  12. Klepněte na Tabulka > Odstranit > Odstranit řádek.
  13. Uložte stránku.
Volitelně: pokud jste chtěli vidět, který klíč je pro vás právě generován, mohli jste místo toho odstranit vstupní komponentu pro číslo ID a nahradit ji výstupní komponentou svázanou ke sloupci create_record. Poté by se automaticky objevil generovaný klíč na začátku formuláře, ale uživatel by jej nemohl změnit.

Testování dokončeného výukového programu

Když jste připraveni publikovat vaši webovou aplikaci, potřebujete server, který ji bude hostit, tak aby uživatelé měli přístup k webu přes Internet. Nicméně, pro testování vašeho webu můžete použít dostupný běhový server pro simulaci serveru pro testovací účely. Informace o tom, jak testovat webovou stránku, viz Lekce 1.3: Testování webu.

Kontrolní bod lekce

Dokončili jste lekci 2.4. V této lekci jste se naučili, jak nastavit automatizované generování klíčů.

< Předchozí | Další >