Wyjaśnienie 7 rodzajów kluczy w DBMS
Opublikowany: 2021-03-12Spis treści
Jakie są klucze w DBMS?
Klucz w DBMS to atrybut lub zestaw atrybutów, które pomagają jednoznacznie zidentyfikować krotkę (lub wiersz) w relacji (lub tabeli). Klucze są również używane do ustanawiania relacji między różnymi tabelami i kolumnami relacyjnej bazy danych. Poszczególne wartości w kluczu są nazywane wartościami kluczowymi.
Ten blog zawiera wszystko, co musisz wiedzieć o kluczach w DBMS i zamykaniu atrybutów do znajdź klucz dowolnej relacji (tabeli). Trzymaj się do końca artykułu, aby zadać kilka krytycznych pytań GATE dotyczących kluczy w DBMS.
Dlaczego wymagane są klucze?
Klucz jest używany w definicjach różnego rodzaju ograniczeń integralności. Tabela w bazie danych reprezentuje zbiór rekordów lub zdarzeń dla określonej relacji. Obecnie takich rekordów mogą być tysiące, a niektóre z nich mogą być zduplikowane.
Powinien istnieć sposób na identyfikację każdego rekordu oddzielnie i jednoznacznie, tj. bez duplikatów. Klucze pozwalają nam uwolnić się od tych kłopotów.
Weźmy przykład z życia wzięty z bazy danych każdego studenta studiującego w szkole inżynierskiej.
Jak myślisz, jaki atrybut ucznia jednoznacznie zidentyfikuje każdego z nich? Możesz odnieść się do ucznia, używając jego nazwiska, działu, roku i sekcji. Możesz też podać tylko numer listy studentów na uniwersytecie i możesz z tego uzyskać wszystkie inne szczegóły.
Klucz może być kombinacją więcej niż jednego atrybutu (lub kolumn) lub tylko jednym atrybutem. Głównym motywem tego jest nadanie każdej płycie unikalnej tożsamości .
Przeczytaj także: DBMS vs RDBMS
Rodzaje kluczy w DBMS
W DBMS istnieje zasadniczo siedem typów kluczy:
- Główny klucz
- Klucz kandydata
- Super klucz
- Klucz obcy
- Klucz kompozytowy
- Alternatywny klucz
- Unikalny klucz
Przyjrzyjmy się każdemu z nich z osobna.
1. Klucz podstawowy
Klucz podstawowy to kolumna tabeli lub zestaw kolumn, który pomaga jednoznacznie zidentyfikować każdy rekord znajdujący się w tej tabeli. W tabeli może być tylko jeden klucz podstawowy. Ponadto klucz podstawowy nie może mieć tych samych wartości powtarzających się dla dowolnego wiersza. Każda wartość klucza podstawowego musi być inna, bez powtórzeń.
Ograniczenie klucza podstawowego (PK) wprowadzone do kolumny lub zestawu kolumn nie pozwoli im mieć żadnych wartości null ani żadnych duplikatów. Jedna tabela może mieć tylko jedno ograniczenie klucza podstawowego. Żadna wartość w kluczu podstawowym nie może być zmieniona przez żadne klucze obce (wyjaśnione poniżej), które się do niej odwołują.
2. Super klucz
Super Key to zestaw wszystkich kluczy, które pomagają jednoznacznie zidentyfikować wiersze w tabeli. Oznacza to, że wszystkie te kolumny tabeli, które mogą jednoznacznie zidentyfikować inne kolumny tej tabeli, będą uważane za superklucze.
Super klucz to nadzbiór klucza kandydującego (wyjaśniono poniżej). Klucz podstawowy tabeli jest wybierany z nadrzędnego zestawu kluczy, który ma być atrybutem tożsamości tabeli.
3. Klucz kandydata
Klucze kandydujące to te atrybuty, które jednoznacznie identyfikują wiersze tabeli. Klucz podstawowy tabeli jest wybierany z jednego z kluczy kandydujących. Tak więc klucze kandydujące mają te same właściwości, co klucze podstawowe wyjaśnione powyżej. W tabeli może być więcej niż jeden klucz kandydujący.
4. Alternatywny klucz
Jak wspomniano powyżej, tabela może mieć wiele możliwości wyboru klucza podstawowego; jednak może wybrać tylko jeden. Tak więc wszystkie klucze, które nie stały się kluczem podstawowym, nazywane są kluczami alternatywnymi.
5. Klucz obcy
Klucz obcy służy do nawiązywania relacji między dwiema tabelami. Klucz obcy będzie wymagał, aby każda wartość w kolumnie lub zestawie kolumn była zgodna z kluczem podstawowym tabeli referencyjnej. Klucze obce pomagają zachować integralność danych i referencyjną.
6. Kompozytowy klucz
Klucz złożony to zestaw co najmniej dwóch atrybutów, które pomagają jednoznacznie zidentyfikować każdą krotkę w tabeli. Atrybuty w zestawie mogą nie być niepowtarzalne, jeśli są rozpatrywane oddzielnie. Jednak zebrane razem zapewnią wyjątkowość.
7. Unikalny klucz
Unikalny klucz to kolumna lub zestaw kolumn, które jednoznacznie identyfikują każdy rekord w tabeli. Wszystkie wartości będą musiały być unikalne w tym Kluczu. Unikatowy klucz różni się od klucza podstawowego, ponieważ może mieć tylko jedną wartość null, podczas gdy klucz podstawowy nie może mieć żadnych wartości null.
Zależności funkcjonalne
Teraz, gdy znamy inny rodzaj kluczy w DBMS, zobaczmy, jak je zidentyfikować, gdy otrzymamy tabelę z bazy danych. W tym celu używamy koncepcji zależności funkcjonalnych.
Zależność funkcjonalna (FD) to ograniczenie między dwoma zestawami atrybutów. To ograniczenie dotyczy dowolnych dwóch krotek t1 i t2 w r, jeśli t1[X] = t2[X], to mają t1[Y] = t2[Y]. Oznacza to, że wartość składnika X krotki jednoznacznie określa wartość składnika Y.
FD jest oznaczone jako X ? Y (czytuje się to jako „Y jest funkcjonalnie zależne od X”). Lewa strona nazywana jest wyznacznikiem, a prawa strona zależna.
Zamknięcie zestawu atrybutów
Zamknięcie jest zbiorem wszystkich możliwych FD wyprowadzonych z danego zbioru FD. Jest również określany jako kompletny zestaw FD. Jeśli F jest używany do oddania zbioru FD dla relacji R, wtedy zamknięcie zbioru FD implikowanego przez F jest oznaczone przez F+ .
Zdefiniujemy teraz zamknięcie zbioru atrybutów dotyczących danego zbioru FD. Pomoże to zidentyfikować super klucz relacji i dowiedzieć się, czy FD można wywnioskować z danego zestawu FD, czy też FD jest zbędny. Po znalezieniu zestawu zależności funkcjonalnych w relacji, następnym krokiem jest znalezienie Super klucza dla tej relacji (tabeli).
Następnie znajdujemy zestaw domknięć atrybutów, aby zdecydować, czy atrybut (lub zestaw atrybutów) dowolnej tabeli jest kluczem dla tej tabeli, czy nie. Zestaw atrybutów , które są funkcjonalnie zależne od atrybutu X, nosi nazwę Zamknięcie Atrybutu X i może być reprezentowany jako X+.
Poniżej znajduje się kilka zasad potrzebnych do określenia F+:
- Zwrotność: Jeśli X jest nadzbiorem Y lub Y jest podzbiorem X, to X ? Y.
- Augmentacja: Jeśli X ? Y, a następnie XZ? YZ. Lub jeśli Z ⊆W i X ? Y, a następnie XW? YZ.
- Przechodniość: Jeśli X ? Y i Y? Z, a następnie X ? Z.
- Unia: Jeśli X ? Y i X ? Z, a następnie X ? YZ.
- Rozkład: Jeśli X ? YZ, potem X? Y i X ? Z.
- Pseudoprzechodniość: Jeśli X ? Y i YW ? Z, a następnie XW ? Z.
Jak znaleźć klucze kandydujące i superklucze za pomocą zamykania atrybutów?
- Jeśli zamknięcie atrybutu zestawu atrybutów zawiera wszystkie atrybuty relacji, zestaw atrybutów będzie super kluczem relacji.
- Jeśli żaden podzbiór tego zestawu atrybutów nie może funkcjonalnie określić wszystkich atrybutów relacji, ten zestaw będzie kluczem kandydującym.
Omówmy kilka wcześniej zadawanych pytań GATE, aby zobaczyć zastosowania zamykania atrybutów.
BRAMA 2014
Rozważmy schemat relacji R = {E, F, G, H, I, J, K, L, M, N} oraz zbiór zależności funkcjonalnych {{E, F} ? {G}, {F} ? {I, J}, {E, H} ? {K, L}, K ? {M}, L? {N} na R. Jaki jest klucz do R?
(A) {E, F}
(B) {E, F, H}
(C) {E, F, H, K, L}
(D) {E}
Podejście: Sprawdzimy zamknięcie atrybutu wszystkich podanych opcji. Prawidłową odpowiedzią będzie zbiór, którego zamknięcie da nam całą relację R.
A: {E, F} + = {EFGIJ} ≠ R
B: {E, F, H} + = {EFGHIJKLMN} = R
C: {E, F, H, K, L} + = {EFGHIJKLMN} = R
D: {E} + = {E} ≠ R
Obie opcje B i C dają nam cały schemat relacji. Jednak wybieramy minimalną opcję, aby była poprawną odpowiedzią, ponieważ klucz kandydata powinien być minimalnym superkluczem .
Odpowiedź: b
BRAMA 2013
Relacja R ma osiem atrybutów ABCDEFGH. Pola R zawierają tylko wartości atomowe. F = {CH ? G, A? BC, B? CFH, E? A, F? EG} to zestaw zależności funkcjonalnych (FD), dzięki czemu F+ jest dokładnie zbiorem funkcji FD, które przechowują R.
Ile kluczy kandydujących ma relacja R?
(A) 3
(B) 4
(C) 5
(D) 6
Podejście: Weźmiemy LHS każdej zależności funkcjonalnej podanej w pytaniu i znajdziemy ich domknięcia atrybutów.
CH+ = G
A+ = ABCEFGH
B+ = ABCEFGH
E+ = ABCEFGH
F+ = ABCEFGH
Widzimy więc, że domknięcia A, B, E, F mają całą relację z wyjątkiem atrybutu D. Zatem w sumie są 4 klucze kandydujące AD, BD, ED i FD.
Odpowiedź: B
Ucz się kursów oprogramowania online z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.
Wniosek
Klucze i zależności funkcjonalne odgrywają bardzo istotną rolę w projektowaniu bazy danych. Te koncepcje pomagają również znaleźć różnicę między dobrym a złym projektem bazy danych. Ostatecznym procesem usuwania nadmiarowości i zwiększania wydajności bazy danych jest normalizacja , która wykorzystuje wszystkie koncepcje wymienione w tym artykule.
Jeśli chcesz dowiedzieć się więcej o tworzeniu pełnego stosu, sprawdź program Executive PG UpGrad i IIIT-B w zakresie tworzenia pełnego stosu oprogramowania, który jest przeznaczony dla pracujących profesjonalistów i oferuje ponad 500 godzin rygorystycznych szkoleń, ponad 9 projektów, i zadania, status absolwentów IIIT-B, praktyczne praktyczne projekty zwieńczenia i pomoc w pracy z najlepszymi firmami.
Jakie są rodzaje kluczy w DBMS?
W bazie danych jest używanych kilka typów kluczy. Klucz podstawowy służy do identyfikacji określonego wiersza w tabeli. Unikatowy klucz służy do zapewnienia, że w określonej tabeli znajduje się tylko jeden wpis. Klucz obcy służy do łączenia wpisów w jednej tabeli z drugą. Klucz złożony to zbiór kilku kolumn w tabeli, które razem służą do identyfikacji wiersza. Te klucze pomagają dokładnie i jednoznacznie zidentyfikować konkretną kolumnę w wierszu tabeli. Dlatego bardzo ważne jest, aby używać dokładnych kolumn jako klucza zgodnie z przypadkiem użycia.
Co to jest klucz obcy w DBMS?
Klucz obcy to kolumna lub zestaw kolumn używany do łączenia wierszy jednej tabeli z wierszami innej tabeli. Służy do zapobiegania niespójności danych. W DBMS klucz obcy jest implementowany przy użyciu pojedynczej kolumny lub zestawu kolumn (kolumna logiczna), a DBMS sprawdza, czy wartości w tych kolumnach odpowiadają wartościom w kolumnach, do których się odwołuje (klucz podstawowy). Na przykład załóżmy, że zarówno tabela A, jak i tabela B mają kolumnę zwaną kolumną A. Można powiedzieć, że kolumna A w tabeli A jest referencją do kolumny A w tabeli B. Można to sobie wyobrazić jako strzałkę z wartością klucza obcego wskazującą na tabela docelowa.
Co to jest klucz złożony w DBMS?
Klucz złożony to superklucz. Jest to połączenie jednej lub więcej kolumn. Pozwala na zbudowanie jednego klucza z kombinacji różnych kolumn. Jest również nazywany identyfikatorem złożonym, kluczem złożonym lub kluczem złożonym. Krótko mówiąc, możesz użyć zestawu kolumn, aby zidentyfikować unikalny wiersz w tabeli, na wypadek, gdybyś nie miał pojedynczej kolumny, która może jednoznacznie zidentyfikować wiersz. W takim przypadku zestaw wszystkich kolumn, których użyjesz, będzie traktowany jako klucz złożony. Dlatego można słusznie powiedzieć, że klucz podstawowy ma więcej niż jedną kolumnę, a jego nazwa jest zmieniana na klucz złożony.