Bazy danych zależą od kluczy do przechowywania, sortowania i porównywania lub tworzenia relacji między rekordami. Jeśli od jakiegoś czasu korzystasz z baz danych, prawdopodobnie słyszałeś o różnych typach kluczy: klucze podstawowe, klucze kandydujące i klucze obce.
Kiedy tworzysz nową tabelę bazy danych, zostaniesz poproszony o wybranie jednego klucza podstawowego, który będzie jednoznacznie identyfikował każdy rekord przechowywany w tej tabeli.
Dlaczego klucz podstawowy jest ważny
Wybór klucza podstawowego jest jedną z najważniejszych decyzji, jakie podejmiesz 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łość, teraźniejszość lub przyszłość) mogą mieć tę samą wartość atrybutu, jest to kiepski 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 jako cel wskaźnika. Ze względu na te współzależności klucz podstawowy musi istnieć podczas tworzenia rekordu i nigdy nie może ulec zmianie.
Zły wybór dla kluczy głównych
To, co niektórzy mogą uznać za oczywisty wybór klucza podstawowego, może być raczej złym wyborem. Oto kilka przykładów:
- Kody pocztowe nie są dobrymi kluczami podstawowymi dla tabeli miast. Jeśli tworzysz prostą tabelę wyszukiwania miast, kod pocztowy wydaje się być logicznym kluczem podstawowym. Jednak po dokładniejszym zbadaniu możesz zdać sobie sprawę, że więcej niż jedno miasto ma wspólny kod pocztowy. Na przykład miasta Neptune, Neptune City, Tinton Falls i Wall Township w New Jersey mają wspólny kod pocztowy 07753.
- Numery ubezpieczenia społecznego nie są dobrymi kluczami podstawowymi 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 bazy danych. Ponadto niektóre osoby nie mają numerów SSN.
- Adresy e-mail są również kiepskim wyborem jako klucz podstawowy. Choć są wyjątkowe, z czasem mogą się zmieniać. Co więcej, nie każdy ma adres e-mail.
Co sprawia, że klucz podstawowy jest dobry
Jak więc wybrać skuteczny klucz podstawowy? W większości przypadków zwróć się o pomoc do swojego systemu baz danych.
Najlepszą praktyką w projektowaniu baz danych jest użycie wewnętrznie wygenerowanego klucza podstawowego. Twój system zarządzania bazą danych może zwykle generować unikalny identyfikator, który nie ma znaczenia poza systemem bazy danych.
Możesz na przykład użyć typu danych Microsoft Access Autonumerowanie, aby utworzyć pole o nazwie IDRekordu. Typ danych Autonumerowanie automatycznie zwiększa wartość pola za każdym razem, gdy tworzysz rekord. Chociaż sama liczba nie ma 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 w bazie danych.