Klucz podstawowy w bazie danych SQL: co to jest, zalety i jak wybrać

Opublikowany: 2021-05-25

Spis treści

Co to jest klucz podstawowy?

Projektowanie nowej bazy danych w SQL wiąże się z wieloma niepowtarzalnymi wyborami. Zidentyfikowanie odpowiedniego klucza podstawowego jest jedną z najważniejszych decyzji, jakie będziesz musiał podjąć. Podstawowy cel klucza podstawowego jest prosty i bezpośredni.

Klucz podstawowy odgrywa fundamentalną rolę na dwóch płaszczyznach. Po pierwsze, pomaga zdefiniować związek. Po drugie, pomaga wdrożyć tę relację. Innymi słowy, bez klucza podstawowego nie istniałyby bazy danych relacji. Zrozumiałe jest, że pojęcie klucza podstawowego brzmi nietypowo.

Ale co, jeśli powiemy ci, że używasz kluczy podstawowych w swoim codziennym życiu, nie zdając sobie z tego sprawy. W każdym przebudzeniu w naszych czasach jesteśmy dosłownie otoczeni kluczami podstawowymi w świecie baz danych, a jednak uważamy je za oczywiste. Weźmy na przykład legitymację studencką. Jest to klasyczny przykład potrzeby posiadania klucza podstawowego. Podobnie każdy pracownik ma unikalny kod firmy, a każdy kraj na świecie ma unikalną nazwę i kod.

Przeczytaj: Normalizacja w SQL

Jakie są zalety klucza podstawowego?

Klucz podstawowy w SQL jest definiowany jako wartość pojedyncza lub kombinacja kilku wartości z tabeli. Wyraźnie reprezentuje każdy rekord w tabeli. Dostęp do tej wartości gwarantuje terminowy dostęp do umieszczenia powiązanego rekordu w tabeli, oprócz innych wartości z tego samego rekordu. W tym momencie możesz mieć ważne pytanie do poruszenia. Czy generowanie klucza podstawowego w każdej tabeli jest obowiązkowe? Absolutnie nie.

SQL nie wymaga tworzenia klucza podstawowego. Jednak najlepsze i najskuteczniejsze praktyki modelowania baz danych zdecydowanie zalecają tworzenie klucza podstawowego dla każdej tabeli w SQL. Oprócz tego, że jest to wspólne pole łączące między tabelami, zalety klucza podstawowego są wielorakie.

Poniższa lista podsumowuje główne zalety klucza podstawowego:

  1. Ponieważ klucz podstawowy służy jako indeks, operacje na bazie danych oparte na szybkości, takie jak sortowanie i wyszukiwanie rekordów, stają się szybsze.
  2. Klucz podstawowy pomaga szybko zidentyfikować i znaleźć unikalne wiersze w określonej tabeli bazy danych.
  3. W trybie awaryjnym tylko określone rekordy można jednoznacznie zidentyfikować za pomocą klucza podstawowego, aby zapewnić, że aktualizacje i usunięcie dotyczą tylko określonych wierszy, a nie większych ilości danych.
  4. Gdy są używane jako klucze obce w innych tabelach w bazie danych, pomagają zachować integralność referencyjną.

Jak wybrać klucz podstawowy?

Tabele zawierają główne obiekty w bazie danych SQL. Te tabele przechowują dane jako rekordy lub wiersze. Dlatego, aby zidentyfikować każdy wiersz tabeli, musimy znaleźć kolumnę w tej samej tabeli z inną wartością wejściową dla każdego wiersza. Załóżmy na przykład, że mamy tabelę z danymi dotyczącymi każdego obywatela USA. Kolumna o nazwie „numer_zabezpieczeń_społecznych” pomogłaby odróżnić jeden wiersz od drugiego w takiej tabeli.

Podobnie rozważmy inny przykład. Załóżmy, że mamy tabelę kont oszczędnościowych w prywatnym banku. Kolumna o nazwie „numer_konta” może służyć do jednoznacznej identyfikacji określonych wierszy w tej tabeli.

W obu tych przykładach po zidentyfikowaniu kolumny z inną wartością dla każdego wiersza w tabeli, czyli „numer_zabezpieczeń_społecznych” i „numer_konta”, możesz utworzyć klucz podstawowy. Ten klucz podstawowy będzie Twoim głównym identyfikatorem dla każdego wiersza w tabeli, na podstawie określonej kolumny.

Znakiem wzorcowym projektu bazy danych jest zatem klucz podstawowy w SQL. Dlatego nie trzeba dodawać, że wybrany klucz podstawowy musi być w 100% unikalny i musi istnieć unikalna wartość klucza podstawowego dla każdego wiersza danych. Zazwyczaj osoby wykazują tendencję do polegania na samym systemie zarządzania bazą danych w celu wygenerowania unikalnego identyfikatora.

Cechy silnego klucza podstawowego są następujące:

  1. Silny klucz główny jest zwykle krótki, zwarty i zawiera najmniej możliwych atrybutów. Długie typy danych i klucze złożone zwiększają złożoność SQL. Długość klucza podstawowego nie powinna przekraczać 900 bajtów.
  2. Klucze podstawowe, które są całkowicie liczbowe, pomagają w zwiększeniu wydajności zapytań.
  3. Unikaj używania znaków specjalnych lub kombinacji wielkich i małych liter. Unikaj używania typów danych tekstowych, ponieważ porównywanie wartości ciągów przez SQL trwa znacznie dłużej niż wartości liczbowych.
  4. Unikaj identyfikowalnych informacji z niekluczowych kolumn w tym samym wierszu, takich jak kody pocztowe, adresy e-mail i numery ubezpieczenia społecznego. Jeśli klucz podstawowy jest oparty na danych ze świata rzeczywistego, może być konieczna zmiana w pewnym momencie w przyszłości, co jest niewskazaną praktyką modelowania. Jeśli klucze podstawowe są arbitralnymi identyfikatorami, dane wyświetlane użytkownikowi mogą się później zmienić, ale identyfikatory nie muszą.
  5. Wartość klucza podstawowego musi pozostać stabilna i nie może być modyfikowana.

Należy pamiętać, że klucze podstawowe wykorzystują mechanizm techniczny, aby zapewnić, że każdy wiersz ma unikatową, niepustą wartość w kolumnie klucza podstawowego. Oznacza to, że wartość klucza podstawowego rekordu nie może mieć wartości NULL. Ponadto załóżmy, że próbujesz wstawić nowy z wartością, której duplikat można znaleźć w kolumnie klucza podstawowego. W takim przypadku wstawienie nowego wiersza zostanie odrzucone przez klucz podstawowy.

Zamówienie: pomysły i tematy dotyczące projektów SQL

Klucze podstawowe z więcej niż jedną kolumną

W niektórych przypadkach nie istnieje naturalny jednokolumnowy klucz podstawowy. Gdy do zdefiniowania klucza podstawowego jest używanych wiele kolumn, jest on nazywany wielokolumnowym lub złożonym kluczem podstawowym. Załóżmy na przykład, że mamy tabelę „rezerwacja” z kolumnami „nazwa_klienta”, „dzień_rezerwacji”, „czas_rezerwacji” i „liczba_osób”.

W tym przypadku „nazwa_klienta” nie może być używana jako sam klucz podstawowy, ponieważ oczywiście klient może mieć więcej niż jedną rezerwację na różne dni lub nawet na ten sam dzień. Dlatego dodajemy „reservation_day” i „reservation_time” do klucza podstawowego, aby kombinacja była unikalna dla każdej wartości.

Ta uwaga nie powinna przekraczać więcej niż 32 kolumn. Im większa liczba kolumn, tym większe zapotrzebowanie na miejsce do przechowywania. Składnia dodawania wielokolumnowego klucza podstawowego różni się od dodawania jednokolumnowego klucza podstawowego.

Ucz się kursów inżynierii oprogramowania online z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.

Podsumowując

Czy kiedykolwiek zadzwoniłeś do obsługi klienta i zapytano Cię o numer klienta? Być może nawet o tym zapomniałeś, kiedy poproszą Cię o kod pocztowy lub numer telefonu.

Czy kiedykolwiek zastanawiałeś się dlaczego? Cóż, krótka odpowiedź to klucze podstawowe. Długa odpowiedź brzmi, że zalety klucza podstawowego są punktem wyjścia wszystkich systemów baz danych. Bez kluczy podstawowych bazy danych nie działałyby tak, jak działają teraz, a mówiąc dokładniej, nie działałyby w ogóle.

Jeśli chcesz dowiedzieć się więcej o SQL, programowaniu pełnego stosu, sprawdź program Executive PG IIIT-B i upGrad w zakresie tworzenia oprogramowania z pełnym stosem, który jest stworzony dla pracujących profesjonalistów i oferuje ponad 10 studiów przypadków i projektów, praktyczne warsztaty, mentoring z ekspertami z branży, 1 na 1 z mentorami branżowymi, ponad 400 godzin nauki i pomoc w pracy z najlepszymi firmami.

Czym są klucze podstawowe w SQL?

Klucz podstawowy to pole z unikalnymi wartościami, które służy do definiowania tożsamości jednostki. Po zdefiniowaniu klucza podstawowego nie można go usunąć ani zmodyfikować. W rzeczywistości klucz podstawowy jest szczególną cechą tabeli, która staje się podstawą relacji między tabelami. Klucz podstawowy jest zawsze zdefiniowany w pierwszej kolumnie tabeli, której nie można zmienić. Odgrywa bardzo ważną rolę w logicznej i fizycznej strukturze zapisu danych. Ponieważ klucz podstawowy jest używany do jednoznacznej identyfikacji rekordów, są one nazywane kluczami kandydującymi.

Jakie są cechy klucza podstawowego w SQL?

Klucz podstawowy to kolumna lub grupa kolumn, które jednoznacznie identyfikują każdy rekord w tabeli. Tabela może mieć tylko jeden klucz podstawowy. Aby zachować integralność, zawsze wymagany jest klucz podstawowy. Klucz podstawowy powinien składać się z kombinacji kolumn, które różnią się od siebie. Jeśli klucz podstawowy składa się tylko z jednej kolumny, nazywany jest prostym kluczem podstawowym. Aparat bazy danych używa klucza podstawowego do lokalizowania i aktualizowania rekordu w bazie danych. Klucz podstawowy nie może mieć wartości Null, ponieważ Null oznacza, że ​​nie jest zdefiniowany lub nieznany. Klucz podstawowy może mieć jedną kolumnę lub wiele kolumn. Wartości klucza podstawowego mogą być unikalne lub nieunikatowe. Klucz podstawowy ma możliwość indeksowania. Klucz podstawowy pomaga silnikowi bazy danych w utrzymaniu integralności tabeli. Klucz podstawowy można łatwo zidentyfikować w bazie danych.

Jak wybrać klucz podstawowy w SQL?

Klucz podstawowy to najważniejsza kolumna w tabeli. Są to identyfikatory używane przez Twoje aplikacje do jednoznacznej identyfikacji każdego rekordu. Pole wybrane jako klucz podstawowy musi być unikatowe i nie może być puste. Klucze podstawowe to zazwyczaj najlepsze kolumny kandydujące do indeksowania. Klucz podstawowy jest używany do: Unikalnego odniesienia dla każdego rekordu w tabeli, do wyszukania identyfikatora rekordu, którego dane już posiadasz, aby upewnić się, że każdy wiersz ma prawidłową wartość w kluczu podstawowym. Aby upewnić się, że dane w tabeli pozostają prawidłowe i spójne, upewnij się, że wszystkie wartości klucza podstawowego są unikatowe i że żadna wartość klucza podstawowego nie ma wartości null.