Jestem nowy w DBMS i wciąż uczę się teorii.
Naprawdę mylę się z tym kluczowym biznesem i po googlowaniu zawęziłem go do zaledwie dwóch kluczy, których nie dostaję (klucz podstawowy i super klucz).
Mam kilka pytań na temat DBMS. Byłbym wdzięczny, gdybyś mógł mi odpowiedzieć na nie.
1) Jaka jest różnica między kluczem podstawowym a kluczem super w DBMS? Bardzo to doceniam, jeśli możesz posłużyć się kompleksowym przykładem, aby poprawnie wyjaśnić
2) Czy zarówno klucz główny, jak i klucz super mogą mieć wiele kolumn połączonych, tworząc klucz główny i klucz super?
3) Czy klucz podstawowy jest podzbiorem klucza Super lub odwrotnie?
Odpowiedzi:
Super Klucz jest po prostu non-minimal Kandydat Key , czyli jedną z dodatkowymi kolumnami nie bezwzględnie wymagane, aby zapewnić niepowtarzalność rzędu.
Klucz główny jest minimalny klucz potencjalny , to znaczy wszystkie kolumny składowe są bezwzględnie konieczne w celu zapewnienia unikalności.
Jako programista / projektant bazy danych z 30-letnim doświadczeniem, nigdy nie słyszałem pojęcia Super Key, dopóki nie zobaczyłem tego pytania i nie sprawdziłem go. Koncepcja Super klucza wydaje się bardziej powiązana z tematem wydajności i projektowania schematu fizycznego, ponieważ bezpośrednio odwzorowuje koncepcję unikalnego indeksu nieklastrowego z dodatkowymi kolumnami dla lepszego pokrycia zapytań.
źródło
Super klucze: Super klucz oznacza nadzbiór klucza. Super klucz to zestaw jednego lub więcej atrybutów, które są pobierane zbiorowo i mogą jednoznacznie identyfikować wszystkie inne atrybuty.
Na przykład mamy stolik
Więc w tej tabeli możemy mieć
Jako nasz superklucz. Każdy superklucz jest w stanie jednoznacznie zidentyfikować każdą krotkę (rekord).
Klucze kandydujące Klucze kandydujące to superklucze, które nie mają żadnych zbędnych atrybutów. Innymi słowy klucze kandydujące są minimalnymi superkluczami. Na przykład na powyższej ilustracji
Te dwa klucze mogą być kluczami kandydującymi, ponieważ pozostałe klucze mają nadmiarowe atrybuty. Znaki w rekordzie superklucza (BookId, BookName) można jednoznacznie zidentyfikować tylko przez bookid, dlatego Bookname jest nadmiarowym atrybutem
Klucz podstawowy: Jest to klucz kandydujący, który jest wybierany przez projektanta bazy danych w celu identyfikacji jednostek w zestawie jednostek. LUB Klucz używany do jednoznacznej identyfikacji każdego rekordu jest znany jako klucz podstawowy.
Z góry Klucze kandydujące każdy może być kluczem podstawowym. A drugi, który nie zostanie wybrany jako klucz podstawowy, będzie znany jako klucz alternatywny
źródło
alternative key
to,secondary key
że są takie same. Świetna odpowiedź!Z mojej odpowiedzi stackoverflow.com :
Z mojej odpowiedzi stackoverflow.com możesz podać tabelę:
(Jak tam skomentowałem: „Wystarczyłyby cztery pogrubione zdania dla FD, hold, superkey i CK.”)
(Tabela z pustym CK jest ograniczona, aby zawierać co najwyżej jeden wiersz. Zestaw kolumn określony przez pusty zestaw jest ograniczony tak, aby miał taką samą wartość subrow w każdym rzędzie.)
źródło
Klucz Klucz jest pojedynczym lub kombinacją wielu pól. Jego celem jest dostęp do wierszy danych lub ich pobieranie z tabeli zgodnie z wymaganiami. Klucze są zdefiniowane w tabelach, aby szybko i bezproblemowo uzyskać dostęp do przechowywanych danych lub je uporządkować. Służą również do tworzenia połączeń między różnymi tabelami.
Rodzaje kluczy Poniższe tabele lub relacje zostaną użyte do zdefiniowania różnych typów kluczy.
Klucz podstawowy Atrybut lub kombinacja atrybutów, która jednoznacznie identyfikuje wiersz lub rekord w relacji, jest znany jako klucz podstawowy.
Klucz dodatkowy Pole lub kombinacja pól, które są podstawą do pobrania, nazywane są kluczem dodatkowym. Klucz pomocniczy jest polem nieunikalnym. Jedna wartość klucza dodatkowego może odnosić się do wielu rekordów.
Klucz kandydujący lub klucz alternatywny Relacja może mieć tylko jeden klucz podstawowy. Może zawierać wiele pól lub kombinację pól, które mogą służyć jako klucz podstawowy. Jedno pole lub kombinacja pól jest używana jako klucz podstawowy. Pola lub kombinacja pól, które nie są używane jako klucz podstawowy, są znane jako klucz kandydujący lub klucz alternatywny.
Klucz złożony lub klucz konkatenacyjny Klucz podstawowy składający się z dwóch lub więcej atrybutów jest znany jako klucz złożony.
Klawisz sortowania lub sterowania Pole lub kombinacja pól używana do fizycznego sekwencjonowania przechowywanych danych, zwana kluczem sortowania. Jest również znany jako klawisz kontrolny.
Nadkluczem to kombinacja atrybutów, które może być wykorzystane do identyfikacji rekordu bazy danych. Tabela może zawierać wiele superkluczy. Klucze kandydujące to specjalny podzbiór superkluczy, które nie zawierają żadnych dodatkowych informacji.
Przykład superklucza: wyobraź sobie tabelę z polami Imię, Wiek, SSN i <Numer telefonu>. Ta tabela ma wiele możliwych superkeys. Trzy z nich to SSN, numer telefonu i nazwa. Spośród wymienionych tylko SSN jest kluczem kandydującym, ponieważ inne zawierają informacje, które nie są konieczne do jednoznacznej identyfikacji rekordów.
Klucz obcy Klucz obcy jest atrybutem lub kombinacją atrybutów w relacji, której wartość jest zgodna z kluczem podstawowym w innej relacji. Tabela, w której tworzony jest klucz obcy, jest nazywana tabelą zależną. Tabela, do której odnosi się klucz obcy, jest znana jako tabela nadrzędna.
w przypadku klucza Minimal Super zapoznaj się z tym linkiem, tam jest bardziej przejrzyste http://www.answers.com/topic/superkey-1
źródło