Składniki bazy

Składnikami bazy danych są teraz dwie tabele, zawierające te same informacje co poprzednio. Utworzona została jedna relacja, w oparciu o występujące w obydwu tabelach pole „Nazwisko". Pole to nosi nazwę klucza podstawowego i jednoznacznie identyfikuje obiekt w całej bazie (w obydwu tabelach). Pole to jest niejako wspólne dla obu tabel. Sytuacja opisana poprzednio ze zmianą nazwiska pani wychodzącej za mąż wymaga teraz jednego zapisu (w którejkolwiek tabeli, a praktycznie w jednym lub drugim formularzu). Niemożliwa jest sytuacja występowania tej samej osoby pod różnymi nazwiskami. Jak widzimy, forma tabeli - nie sprawiająca żadnego kłopotu komputerowi - nie jest dla człowieka wygodna. Już przy kilku polach (kolumnach) są kłopoty ze zmieszczeniem się na ekranie. Wymagałoby to ciągłego przewijania. Dlatego do wprowadzania i prezentowania informacji używa się formularzy. Formularzowi można nadać wygodną, a nawet atrakcyjną postać graficzną. Nie ma to żadnego wpływu na zawarte informacje, jest tylko inaczej prezentowane. Informacje znajdują się i są przechowywane w dalszym ciągu w tabelach i tylko do prezentacji są umieszczane w formularzach, jak również przy wprowadzaniu informacji do bazy są pobierane z formularza. Tak więc tabele są zawsze pierwotne w stosunku do formularzy. Przy tworzeniu bazy danych trzeba najpierw zdefiniować tabele, a dopiero potem można tworzyć formularze i na koniec wypełniać bazę danymi. Najczęściej używaną funkcją w bazie danych jest wyszukiwanie w niej określonych informacji. Przy dużych ilościach informacji przeszukiwanie zajmowałoby dużo czasu. Wyjściem z tej sytuacji jest tworzenie indeksów dla bazy danych. Tworzenie indeksu polega na powiązaniu danych z określonego pola (kolumny tabeli), zwanego kluczem indeksu (polem kluczowym), z numerem rekordu (numerem wiersza tabeli). Po otrzymaniu polecenia: wyświetl rekord zawierający nazwisko „Kowalska" następuje wywołanie indeksu „Nazwiska", znalezienie szukanego nazwiska, odczytanie, w którym wierszu tabeli się ono znajduje, odnalezienie tego wiersza, przesłanie informacji w nim zawartych do formularza i wyświetlenie go na ekranie. Ktoś dociekliwy mógłby w tym miejscu zauważyć, że wystarczy raz posortować rekordy (wiersze) alfabetycznie według nazwisk i wyszukiwanie będzie mogło przebiegać tak samo jak w tabeli indeksowej. Jest to prawda. Tyle tylko, że będzie tak tylko w przypadku jednego indeksu. Indeksów możemy utworzyć wiele, a baza fizycznie może być posegregowana tylko w jeden sposób (chyba żeby ją sortować za każdym razem inaczej, co wydłużyłoby znacznie wyszukiwwanie). Stworzenie indeksów dla wszystkich pól, umożliwia szybkie znalezienie każdej potrzebnej informacji. Można oczywiście sporządzić tyle kopii tej samej bazy, ile jest pól, i każdą posegregować według innego pola. Tyle że będą to właśnie indeksy, i w każdym z nich zupełnie niepotrzebnie będzie się znajdował komplet informacji, co zajmie :powiędnie więcej miejsca na nośniku (papierze, dysku komputera, itp.).