Bazy danych zależą od kluczy do przechowywania, sortowania i porównywania lub tworzenia relacji między rekordami. Jeśli przez jakiś czas korzystałeś z baz danych, prawdopodobnie słyszałeś o różnych typach kluczy: klucze podstawowe, klucze kandydatów i klucze obce. Podczas tworzenia nowej tabeli bazy danych użytkownik jest proszony o wybranie jednego klucza podstawowego, który jednoznacznie identyfikuje każdy rekord przechowywany w tej tabeli.
Dlaczego klucz podstawowy jest ważny
Wybór klucza podstawowego jest jedną z najważniejszych decyzji podejmowanych podczas projektowania nowej bazy danych. Najważniejszym ograniczeniem jest to, że musisz upewnić się, że wybrany klucz jest unikalny. Jeśli jest możliwe, że dwa rekordy - przeszłe, obecne lub przyszłe - mogą mieć tę samą wartość dla atrybutu, jest to zły wybór dla klucza podstawowego.
Innym ważnym aspektem klucza podstawowego jest jego użycie przez inne tabele, które łączą się z nim w relacyjnej bazie danych. W tym aspekcie klucz podstawowy działa jak cel wskaźnika. Z powodu tych współzależności klucz podstawowy musi istnieć podczas tworzenia rekordu i nigdy nie może się zmienić.
Słabe wybory dla kluczy podstawowych
To, co niektórzy ludzie mogą uznać za oczywisty wybór klucza podstawowego, może być raczej kiepskim wyborem. Oto kilka przykładów:
- kody pocztowe nie rób dobrych kluczy podstawowych do tabeli miast. Jeśli tworzysz prostą tablicę przeglądową miast, kod pocztowy wydaje się być logicznym kluczem podstawowym. Jednak po dalszych badaniach możesz zauważyć, że więcej niż jedno miasto ma kod pocztowy. Na przykład miasta Neptun, Neptun, Tinton Falls i Wall Township mają kod pocztowy 07753.
- Numery ubezpieczenia społecznego nie rób dobrych kluczy głównych z wielu powodów. Większość ludzi uważa swój numer SSN za prywatny i nie chce, aby był wyraźnie widoczny dla użytkowników baz danych. Niektórzy ludzie nie mają SSN - obcokrajowców lub imigrantów, którzy nigdy nie otrzymali karty ubezpieczenia społecznego. Stacje SSN można również ponownie wykorzystać po śmierci osoby. Osoba może mieć więcej niż jeden numer SSN przez całe życie, gdy Administracja Zabezpieczeń Społecznych wyda nowy numer w przypadku oszustwa lub kradzieży tożsamości.
- Adresy e-mail są również złym wyborem dla klucza podstawowego. Chociaż są unikalne, mogą się zmieniać z biegiem czasu. Ponadto nie każdy ma adres e-mail.
Wybór skutecznego klucza głównego
Co stanowi dobry klucz podstawowy? W większości przypadków należy zwrócić się do systemu baz danych w celu uzyskania pomocy.
Najlepszą praktyką w projektowaniu baz danych jest użycie wewnętrznego klucza podstawowego. Twój system zarządzania bazą danych może normalnie wygenerować unikalny identyfikator, który nie ma znaczenia poza systemem bazy danych. Na przykład można użyć typu danych AutoNumber programu Microsoft Access, aby utworzyć pole o nazwie RecordID. Typ danych AutoNumber automatycznie zwiększa wartość pola przy każdym tworzeniu rekordu. Chociaż sama liczba jest bez znaczenia, zapewnia niezawodny sposób odwoływania się do pojedynczego rekordu w zapytaniach.
Dobry klucz podstawowy jest zwykle krótki, używa liczb i unika znaków specjalnych lub kombinacji wielkich i małych liter, aby ułatwić szybkie wyszukiwanie i porównywanie baz danych.