< Wstecz | Dalej >

Lekcja 2.4: Użycie automatycznego generowania kluczy

W poprzedniej lekcji użytkownik skonfigurował reguły nawigacji, aby upewnić się, czy podano unikalny identyfikator dla nowego ogłoszenia drobnego. Taki proces jest frustrujący i nierealistyczny; użytkownicy serwisu nie chcą szukać unikalnego identyfikatora metodą prób i błędów. W tej lekcji użytkownik skonfiguruje automatyczne generowanie kluczy, tak aby to baza przypisywała unikalny numer każdemu nowemu rekordowi w bazie danych.
O tym zadaniu

Automatyczne generowanie kluczy jest złożonym tematem, ale w skrócie można powiedzieć, że baza danych może wybierać nowe klucze, jeśli ma ona specjalną tabelę zarezerwowaną na potrzeby generowania kluczy. W tej tabeli w jednej kolumnie musi znajdować się lista nieużywanych kluczy (kolumna przyrostowa), a w drugiej kolumnie lista uporządkowanych numerów zaczynająca się od 1 (kolumna tożsamości). Gdy baza danych potrzebuje nowego klucza, pobiera ona klucz z wiersza zawierającego wartość 1 w kolumnie tożsamości, a następnie przygotowuje kolejny nowy klucz.

Aby skonfigurować automatyczne generowanie kluczy, należy poznać kilka szczegółów dotyczących jego działania. Aby korzystać z automatycznego generowania kluczy, w bazie danych musi być dodatkowa tabela przeznaczona do tego celu. Taka tabela ma dwie kolumny:
  • W kolumnie przyrostowej są przechowywane dostępne klucze. Gdy w bazie danych jest potrzebny nowy klucz unikalny, jest pobierany z tej kolumny.
  • Kolumna tożsamości jest listą liczb z tylko jedną instancją liczby 1. Ta kolumna informuje bazę danych, który klucz należy wybrać z kolumny przyrostowej. Kolumna tożsamości jest kluczem podstawowym tabeli generowania kluczy.

Gdy w bazie danych jest potrzebny nowy klucz unikalny, w kolumnie tożsamości jest wyszukiwany wiersz z wartością 1. Wartość kolumny przyrostowej tego wiersza to następny dostępny klucz. Baza danych korzysta z tego klucza i aktualizuje tabelę, tak aby następnym razem dostępny był nowy klucz.

Oto przykład tabeli generowania kluczy. Jaki jest następny dostępny klucz dla tej bazy danych? Odpowiedź znajduje się pod tabelą.
Tabela 1. Tabela generowania kluczy
Kolumna tożsamości Kolumna przyrostowa
3 78
4 3
1 65
2 12
Następnym dostępnym kluczem w tej tabeli jest 65, ponieważ znajduje się w kolumnie przyrostowej w tym samym wierszu, co liczba 1 w kolumnie tożsamości.

Po pobraniu następnego dostępnego klucza tabela jest aktualizowana i przygotowywana do następnej sytuacji, gdy będzie potrzebny klucz. Baza danych może także pobrać wiele kluczy za jednym razem, pobierając wartości kolumny przyrostowej z więcej niż jednego wiersza.

W skrócie, aby automatyczne generowanie kluczy działało, wymagane jest jedynie skonfigurowanie tabeli generowania kluczy z dwoma kolumnami: kolumną klucza podstawowego do używania jako kolumna tożsamości i kolumną do przechowywania następnego dostępnego klucza. Ta tabela musi być zainicjowana z jednym rekordem, w którym wartość kolumny tożsamości wynosi 1 a wartość kolumny przyrostowej jest pierwszym dostępnym kluczem. Po skonfigurowaniu takiej tabeli można korzystać z funkcji automatycznego generowania kluczy.

Konfigurowanie funkcji automatycznego generowania kluczy

O tym zadaniu
Przykładowa baza danych wykorzystywana w tym kursie ma tabelę generowania kluczy o nazwie KEYS. Ma ona dwie opisane powyżej kolumny i udostępnia nowy numer identyfikacyjny dla każdego nowego rekordu. W ramach poniższej procedury użytkownik skonfiguruje rekord relacyjny create_record tak, aby pobierał swój numer identyfikacyjny z tabeli KEYS.
  1. Kliknij dwukrotnie stronę new_record.jsp w widoku Eksplorator korporacyjny.
  2. Kliknij dwukrotnie rekord relacyjny create_record w widoku Dane strony. Zostanie otwarte okno Konfiguruj rekord relacyjny.
  3. Wybierz opcje Użyj ponownie definicji metadanych z istniejącego rekordu lub listy rekordów i Zapełnij rekord istniejącymi danymi z bazy danych, a następnie kliknij przycisk Dalej.
  4. Z listy rozwijanej wybierz połączenie z bazą danych, a następnie kliknij przycisk Dalej.
  5. W oknie Konfiguruj rekord relacyjny po prawej stronie znajduje się lista odsyłaczy. Kliknij odsyłacz Automatycznie generuj klucz. Zostanie otwarte okno Generowanie klucza.
  6. Wybierz pozycję Użyj automatycznego generowania klucza.
  7. Rozwiń listę W5SAMPLE, a następnie kliknij tabelę KEYS.
  8. W polu Wybierz kolumnę tożsamości kliknij pozycję KEY_ID.
  9. W polu Wybierz kolumnę przyrostową kliknij pozycję NEXT_KEY.

    Ponieważ dla identyfikatora ogłoszenia będzie potrzebny tylko jeden klucz, należy pozostawić ustawienie opcji Klucze pobierane jednocześnie równe 1. Jeśli będzie potrzebnych wiele kluczy, to ustawienie umożliwi bazie danych wybranie ich wszystkich naraz.

    Okno Konfiguracja obiektu danych powinno wyglądać następująco:

    Okno Konfiguracja obiektu danych.

  10. Kliknij przycisk Zamknij, aby zamknąć okno Generowanie klucza, a następnie przycisk Zakończ, aby zastosować zmiany. Teraz pole ID zostanie automatycznie wygenerowane dla każdego nowego rekordu. Następnie należy usunąć pole wejściowe ID, aby użytkownik nie mógł wprowadzić wartości.
  11. Umieść kursor w najwyższym wierszu tabeli formularza wejściowego, klikając tekst Id:.
  12. Kliknij opcje: Tabela > Usuń > Usuń wiersz.
  13. Zapisz stronę.
Wyniki
Opcjonalnie, jeśli chcesz widzieć, jaki klucz jest generowany, można zamiast tego usunąć komponent wejściowy dla numeru ID i zastąpić go komponentem wyjściowym powiązanym z kolumną ID rekordu create_record. Wówczas automatycznie wygenerowany klucz zostanie wyświetlony u góry formularza, ale użytkownik nie będzie mógł go zmienić.

Testowanie zakończonego kursu

O tym zadaniu
Gdy użytkownik będzie gotowy do opublikowania aplikacji WWW, potrzebny będzie serwer do jej udostępnienia, aby użytkownicy mogli uzyskać dostęp do serwisu WWW za pomocą Internetu. Serwis WWW można przetestować również przy użyciu dostępnego środowiska wykonawczego w celu zasymulowania serwera do celów testowych. Aby dowiedzieć się, w jaki sposób przetestować serwis WWW, przejdź do sekcji Lekcja 1.3: Testowanie serwisu WWW.

Punkt kontrolny lekcji

Lekcja 2.4 została zakończona. W ramach tej lekcji użytkownik dowiedział się, w jaki sposób skonfigurować opcję automatycznego generowania kluczy.
< Wstecz | Dalej >

Opinie