Jakie są różne typy kluczy w RDBMS?

Jakie są różne typy kluczy w RDBMS? Proszę załączyć przykłady z odpowiedzią.

 26
Author: Dan McClain, 2009-11-11

8 answers

From here and here : (po wygooglowaniu twojego tytułu)

  • Klucz alternatywny-klucz alternatywny to dowolny klucz kandydata, który nie jest wybrany jako klucz podstawowy
  • Klucz kandydata-klucz kandydata to pole lub kombinacja pól, które mogą działać jako główne pole klucza dla tej tabeli, aby jednoznacznie zidentyfikować każdy rekord w tej tabeli.
  • klucz złożony - klucz złożony (zwany także kluczem złożonym lub konkatenowanym) to klucz, który składa się z 2 lub więcej atrybutów.
  • Klucz podstawowy-klucz podstawowy to wartość, której można użyć do identyfikacji unikalnego wiersza w tabeli. Atrybuty są z nim związane. Przykładami kluczy podstawowych są numery ubezpieczenia społecznego (powiązane z konkretną osobą) lub ISBNs (powiązane z konkretną książką). W relacyjnym modelu danych klucz podstawowy to klucz kandydata wybrany jako główna metoda jednoznacznej identyfikacji krotki w relacji.
  • Superkey-superkey jest zdefiniowany w modelu relacyjnym jako zbiór atrybutów zmiennej relacji (relvar), dla którego utrzymuje, że we wszystkich relacjach przypisanych do tej zmiennej nie ma dwóch odrębnych krotek (wierszy), które mają takie same wartości dla atrybutów w tym zbiorze. Podobnie superkey może być również zdefiniowany jako zbiór atrybutów relvaru, od którego wszystkie atrybuty relvaru są funkcjonalnie zależne.
  • klucz obcy - klucz obcy (FK) jest polem lub grupą pól w rekordzie bazy danych, który wskazuje na pole klucza lub grupę pola tworzące klucz innego rekordu bazy danych w jakiejś (zazwyczaj innej) tabeli. Zazwyczaj klucz obcy w jednej tabeli odnosi się do klucza podstawowego (PK) innej tabeli. W ten sposób odniesienia mogą być wykonane, aby połączyć informacje ze sobą i jest to istotna część normalizacji bazy danych
 21
Author: Ólafur Waage,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-11-10 21:54:28

(I) Super Key{[2] – - atrybut lub kombinacja atrybutów, która służy do jednoznacznej identyfikacji rekordów, jest znana jako Super Key. Stół może mieć wiele Super kluczy.

Np. Super Key

  1. ID
  2. ID, Nazwa
  3. ID, adres
  4. ID, Department_ID
  5. ID, pensja
  6. Nazwa, Adres
  7. Nazwa, Adres, Dział_id

Tak dalej, jak każda kombinacja, która może jednoznacznie zidentyfikować rekordy, będzie Super Klucz.

(II) Klucz kandydata - może być zdefiniowany jako minimalny Super klucz lub nieredukowalny Super klucz. Innymi słowy atrybut lub kombinacja atrybutów, które identyfikują rekord jednoznacznie, ale żaden z jego właściwych podzbiorów nie może identyfikować rekordów jednoznacznie.

Np. klucz kandydata

  1. ID
  2. Nazwa, Adres

Dla powyższej tabeli mamy tylko dwa klucze kandydujące (tj. Nieredukowalny Super klucz) używane do jednoznacznej identyfikacji rekordów z tabeli. Identyfikator może identyfikować rekord jednoznacznie i podobnie kombinacja nazwy i adresu może identyfikować rekord jednoznacznie, ale ani Nazwa, Ani adres nie mogą być użyte do jednoznacznej identyfikacji rekordów, ponieważ może być możliwe, że mamy dwóch pracowników o podobnym nazwisku lub dwóch pracowników z tego samego domu.

(III) Klucz podstawowy – Klucz kandydata używany przez projektanta bazy danych do unikalnej identyfikacji każdego wiersza w tabeli jest znany jako klucz podstawowy. Klucz podstawowy może składać się z jeden lub więcej atrybutów tabeli.

Np. klucza podstawowego - Projektant bazy danych może użyć jednego z kluczy kandydata jako klucza podstawowego. W tym przypadku mamy " ID "i" Name, Address "jako klucz kandydata, rozważymy klucz" ID " jako klucz podstawowy, ponieważ drugi klucz jest kombinacją więcej niż jednego atrybutu.

(IV) klucz obcy - klucz obcy jest atrybutem lub kombinacją atrybutów w jednej tabeli bazowej, która wskazuje na klucz kandydata (zazwyczaj jest to klucz podstawowy) z inny stolik. Celem klucza obcego jest zapewnienie referencyjnej integralności danych, tzn. dozwolone są tylko wartości, które mają pojawić się w bazie danych.

Np. klucza obcego-rozważmy, że mamy inną tabelę tj. tabelę Departamentu z atrybutami "Department_ID", "Department_Name", "Manager_ID", "Location_ID" z Department_ID jako kluczem podstawowym. Teraz atrybut Department_ID tabeli pracownika (tabeli zależnej lub podrzędnej) może być zdefiniowany jako klucz obcy, ponieważ może odniesienie do atrybutu Department_ID tabeli Departments (tabeli referencyjnej lub tabeli nadrzędnej), wartość klucza obcego musi odpowiadać istniejącej wartości w tabeli nadrzędnej lub być NULL.

(V) Klucz kompozytowy - jeśli do utworzenia klucza podstawowego użyjemy wielu atrybutów, to klucz podstawowy nazywa się kluczem kompozytowym(zwanym również kluczem złożonym lub połączonym).

Np. klucza złożonego, jeśli użyliśmy "nazwa, adres" jako klucza podstawowego, to będzie to nasz złożony Klucz.

(VI) Klucz alternatywny - Klucz alternatywny może być dowolnym z kluczy kandydujących z wyjątkiem klucza podstawowego.

Np. alternatywnym kluczem jest "nazwa, adres", ponieważ jest to jedyny inny klucz kandydata, który nie jest kluczem głównym.

(VII) Klucz drugorzędny{[2] – - atrybuty, które nie są nawet Super kluczem, ale mogą być nadal używane do identyfikacji rekordów (nie unikalnych), są znane jako klucz drugorzędny.

Np. klucza wtórnego może być nazwa, adres, wynagrodzenie, Department_ID itp. ponieważ mogą zidentyfikować zapisy, ale mogą nie być unikalne.

 79
Author: Shuaib,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-21 16:17:41

} klucz zastępczy:

Klucz zastępczy w bazie danych jest unikalnym identyfikatorem podmiotu w świecie modelowanym lub obiektu w bazie danych. Klucz zastępczy nie pochodzi z danych aplikacji.

 9
Author: Juha Syrjälä,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-11-10 22:14:50

Istnieje również unikalny klucz. Główna różnica między kluczem podstawowym a unikalnym polega na tym, że klucz podstawowy nigdy nie przyjmuje wartości NULL, podczas gdy klucz unikalny może przyjmować wartość NULL. Ponadto w tabeli może być tylko jeden klucz podstawowy, podczas gdy klucz unikalny może być więcej niż jeden.

 6
Author: Divyanshu Mishra,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-09 15:46:28

Czym jest klucz w relacyjnej bazie danych?

Klucz jest ważną częścią tabel w relacyjnej bazie danych. Jest to nic innego jak Kolumna (atrybut) lub kombinacja atrybutów i zapewnia unikalną identyfikację każdego wiersza(krotki) w tabeli(relacji). Istnieją różne rodzaje kluczy w relacyjnych bazach danych, które są krótko wyjaśnione w tym poście na blogu.

Klucze służą dwóm ważnym celom:

1.Używane do tworzenia relacji między różnymi tabelami

2.Służy do szybkiego i płynnego zamawiania(sekwencji) lub uzyskiwania dostępu do przechowywanych danych z baz danych

Co To jest Super key?

Jest to kolumna lub kombinacja kolumn, które mogą potencjalnie zidentyfikować wiersz w tabeli.

Tutaj wpisz opis obrazka

W powyższej tabeli kolumna {'student_number' } może jednoznacznie zidentyfikować każdy wiersz w tabeli. Więc kolumna {'student_number'} jest super kluczem. Podobnie połączenie kolumny {'student_number',' student_name'}, {'student_number',' exam_registered'}, {'student_number', 'student_name',' exam_registered'}, itd., może również jednoznacznie zidentyfikować każdy wiersz. Stąd mogą być również nazywane jako super klucze.

Co to jest klucz kandydata?

Jest również znany jako non-reducible Super key lub minimal super key. Jest to pojedyncza kolumna lub minimalny zestaw kolumn, który może jednoznacznie zidentyfikować wiersz w tabeli.

Innymi słowy jest to kolumna lub zbiór kolumn pozwala to jednoznacznie zidentyfikować wiersz w tabeli. W przypadku kombinacji kolumn pojedyncza kolumna w tej kombinacji nie może jednoznacznie zidentyfikować wiersza w danej tabeli.

Tutaj wpisz opis obrazka

W powyższej tabeli albo {'serial_number'} lub kombinacja {'student_name',' exam_registered'} są jedynymi możliwymi kluczami kandydata. W tym ostatnim przypadku, gdy dwie kolumny zaangażowane zarówno 'student_name', jak i 'exam_registered' nie mogą jednoznacznie zidentyfikować wierszy samodzielnie. Również są szanse w przyszłości, że inny uczeń o imieniu Adam może być dodany do powyższej tabeli, którego wiek jest również 23 I zarejestrowany na ten sam egzamin z angielskiego, co istniejący student o imieniu Adam. W takim przypadku tylko kolumna {'student_number'} będzie służyć jako solidny klucz kandydata dla powyższej tabeli.

Co to jest klucz podstawowy?

Jest to klucz kandydata wybierany przez projektanta/programistę baz danych w celu jednoznacznej identyfikacji każdego wiersza w tabeli podczas tworzenia tabeli/bazy danych proces rozwoju. Zazwyczaj wartość klucza podstawowego nie może być NULL. Również klucz podstawowy jest używany do celów indeksowania w większości wariantów baz danych.

Co to jest klucz złożony?

Gdy klucz podstawowy składa się z więcej niż jednej kolumny, nazywa się go kompozytowym kluczem głównym lub po prostu kluczem kompozytowym lub kluczem złożonym lub połączonym!

Tutaj wpisz opis obrazka

W powyższej tabeli, gdy programista, który projektuje tabelę, ustawia kombinację columns {'student_number',' exam_registered'} jako klucz podstawowy wtedy teoretycznie będzie to znane jako klucz podstawowy złożony.

Co to jest klucz obcy?

Jest to kolumna lub kombinacja kolumn w jednej tabeli, która odnosi się do klucza kandydata (zwykle odnosi się do klucza głównego) w innej tabeli. Ilekroć wartość wprowadzona w tej kolumnie klucza obcego, wprowadzona wartość zostanie zweryfikowana względem wskazanej kolumny klucza głównego.

Wprowadzona wartość zostanie zaakceptowana tylko wtedy, gdy ta sama wartość istnieje w kolumnie klucz główny tabeli odniesienia.

Tutaj wpisz opis obrazka

Załóżmy, że kolumna 'student_number' w powyższej tabeli ' exam '(tabela potomna) odwołuje się do kolumny 'student_number' w tabeli 'student_detail' (tabela nadrzędna).

Gdy spróbujemy wprowadzić wiersz dla 'student_number' =5 w tabeli 'egzamin', to nie będzie to akceptowane, ponieważ nie ma wpisu dla 'student_number' =5 w tabeli' student_detail'. Koncepcja ta jest nazywa się Referencjalną integralnością w relacyjnych bazach danych.

W skrócie wartość w kolumnie klucza obcego musi być zgodna z wartością odpowiedniego klucza podstawowego w tabeli nadrzędnej. Jest tu jeden wyjątek. Jeżeli wprowadzona wartość dla kolumny klucza obcego jest NULL, to nie wyświetli żadnego błędu!!!

Co to jest klucz alternatywny?

Jest to klucz kandydata z wyjątkiem klucza głównego.

Tutaj wpisz opis obrazka

W powyższej tabeli albo {'serial_number'} albo kombinacja {'student_name',' exam_registered'} to jedyne możliwe klucze kandydata. Gdy programista bazy danych ustawia kolumnę {'serial_number'} jako klucz podstawowy, wtedy kombinacja kolumn {'student_name',' exam_registered'} zostanie wywołana jako klucz alternatywny.

Co to jest klucz dodatkowy?

Jest to kolumna lub grupa kolumn w tabeli, która nawet nie kwalifikuje się do bycia super kluczem, ale nadal identyfikuje wiersze w tabeli (może nie być unique)

Tutaj wpisz opis obrazka

Co to jest prosty klucz?

Jest to każda pojedyncza kolumna, która identyfikuje wiersz w unikalny sposób w tabeli bazy danych. Innymi słowy, następujące warunki muszą być spełnione, aby być kluczem prostym.

- powinien jednoznacznie identyfikować wiersz -Musi być pojedynczą kolumną (nie może być kombinacją wielu kolumn)

Co to jest klucz zastępczy?

Nie ma znaczenia biznesowego, ponieważ nie pochodzi z biznesu/aplikacji data. Zazwyczaj będzie to system wygenerowany pojedynczym kluczem numerycznym i jednoznacznie identyfikuje każdy wiersz.

Po co nam klucz zastępczy?

Załóżmy, że przechowujemy klucze produktów dla różnych produktów oprogramowania w tabeli. Zwykle klucze produktu są kombinacją znaków alfanumerycznych (przykład: klucz produktu, który musimy aktywować Microsoft office / Windows OS). Klucze produktu są w stanie jednoznacznie zidentyfikować każdy wiersz. Ale kiedy zrobimy to jako klucz podstawowy to zajmuje ogromną przestrzeń pamięci, ponieważ klucz podstawowy będzie indeksowany w większości relacyjnych baz danych. Również przy użyciu tego typu kolumn w klauzuli join wydajność zostanie zmniejszona.

Ponieważ tabela faktów hurtowni danych zawiera ogromną ilość danych historycznych i jest powiązana z tak wieloma tabelami wymiarowymi, zawsze zaleca się użycie pojedynczego klucza numerycznego jako klucza podstawowego w tabelach wymiarów i jako klucza obcego w tabelach faktów, ponieważ poprawia to wydajność w ogromnym stopniu.

Co to jest klucz naturalny?

Jest również znany jako klucz biznesowy lub klucz domeny. Klucz naturalny może jednoznacznie zidentyfikować wiersz w tabeli i jest tworzony z kolumnami, które już istnieją w firmie/aplikacji. Na przykład rozważ tabelę bazy danych z listą oprogramowania i odpowiadającymi jej unikalnymi kluczami produktu. Tutaj klucze produktu mogą działać jako naturalne klucz.

=========================================================================

Różne typy kluczy w RDBMS

 2
Author: Arockia Nirmal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-22 10:08:00

Istnieje również klucz zastępczy: występuje, gdy jeden atrybut non prime zależy od innego atrybutu non prime. w tym czasie nie możesz teraz wybrać, który klucz jako klucz podstawowy podzielić stół. W takim przypadku użyj klucza zastępczego zamiast klucza podstawowego. Zazwyczaj ten klucz jest zdefiniowany systemowo i zawsze ma wartości liczbowe, a jego wartość często jest automatycznie zwiększana dla nowych wierszy. Np: ms acces = auto number & my SQL = identity column & Oracle = sequence.

 1
Author: suresh subbu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-22 23:44:53

Klucz Częściowy:

Jest to zbiór atrybutów, które mogą jednoznacznie zidentyfikować słabe podmioty i które są powiązane z tą samą jednostką właściciela. Czasami nazywany jest Dyskryminatorem.

Klucz Alternatywny:

Wszystkie klucze kandydujące z wyjątkiem klucza głównego są znane jako klucze alternatywne.

Klucz Sztuczny:

Jeśli nie jest dostępny żaden oczywisty klucz, samodzielny lub złożony, ostatnią deską ratunku jest po prostu utworzenie klucza, przypisując unikalny numer do każdego rekordu lub zdarzenia. Wtedy jest to znane jako opracowanie sztucznego klucza.

Klucz Złożony:

Jeśli żaden pojedynczy element danych jednoznacznie nie identyfikuje wystąpień w konstrukcji, łączenie wielu elementów w celu utworzenia unikalnego identyfikatora konstrukcji jest znane jako tworzenie klucza złożonego.

Klucz Naturalny:

Gdy jeden z elementów danych przechowywanych w konstrukcji jest używany jako klucz podstawowy, to nazywa się go naturalnym klucz.

 1
Author: vjkatta,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-14 12:46:43

Dzielenie się moimi notatkami, które zwykle podtrzymuję podczas czytania z Internetu, mam nadzieję, że może to komuś pomóc

Klucz kandydata lub dostępne klucze

Klucze kandydujące to te klucze, które są kandydatami na klucz główny tabeli. W prostych słowach możemy zrozumieć, że taki typ kluczy, który w pełni spełnia wszystkie wymagania klucza podstawowego, który nie jest null i ma unikalne rekordy, jest kandydatem do klucza podstawowego. Tak więc typ klucza jest znany jako klucz kandydata. Każdy stół musi mieć co najmniej jeden klucz kandydata, ale jednocześnie może mieć kilka.

Klucz Podstawowy

Taki typ klucza kandydata, który jest wybierany jako klucz podstawowy dla tabeli, jest znany jako klucz podstawowy. Klucze podstawowe służą do identyfikacji tabel. Na stół przypada tylko jeden klucz podstawowy. W SQL Server kiedy tworzymy klucz podstawowy do dowolnej tabeli wtedy automatycznie tworzony jest klastrowy indeks do tej kolumny.

Klucz Obcy

Klucz obcy to te klucze, które są używane do definiowania relacji między dwoma stołami. Gdy chcemy zaimplementować relację między dwoma tabelami, używamy pojęcia klucza obcego. Jest również znany jako integralność odniesienia. Możemy utworzyć więcej niż jeden klucz obcy na tabelę. Klucz obcy jest zasadniczo kluczem podstawowym z jednej tabeli, który pojawia się jako pole w innej, gdzie pierwsza tabela ma związek z drugą. Innymi słowy, gdybyśmy mieli tabelę A z kluczem głównym X, który łączy się z tabelą B, gdzie X jest polem W B, to X byłby kluczem obcym w B.

Klucz alternatywny lub drugorzędny

Jeśli którakolwiek tabela ma więcej niż jeden klucz kandydata, to po wybraniu klucza podstawowego z tych kluczy, Pozostałe klucze kandydata są znane jako klucz alternatywny tej tabeli. Podobnie jak tutaj możemy wziąć bardzo prosty przykład, aby zrozumieć pojęcie klucza alternatywnego. Załóżmy, że mamy tabelę o nazwie Employee, która ma dwie kolumny EmpID i EmpMail, obie nie mają atrybutów null i unikalnej wartości. Tak więc obie kolumny są traktowane jako klucz kandydata. Teraz my dodać EmpID jako klucz podstawowy do tej tabeli, a następnie EmpMail jest znany jako klucz alternatywny.

Klucz Złożony

Kiedy tworzymy klucze na więcej niż jednej kolumnie, klucz ten jest znany jako klucz złożony. Jak tutaj możemy wziąć przykład, aby zrozumieć tę funkcję. Mam studenta tabeli, która ma dwie kolumny Sid i SrefNo i robimy klucz podstawowy na tych dwóch kolumnach. Wtedy ten klucz jest znany jako klucz kompozytowy.

Klucze Naturalne

Klucz naturalny to jeden lub więcej istniejących atrybutów danych które są unikalne dla koncepcji biznesowej. Dla tabeli klienta były dwa klucze kandydata, w tym przypadku CustomerNumber i SocialSecurityNumber. Link http://www.agiledata.org/essays/keys.html

Klucz zastępczy

Wprowadź nową kolumnę, zwaną kluczem zastępczym, który jest kluczem, który nie ma znaczenia biznesowego. Przykładem tego jest kolumna AddressID tabeli adresów na rysunku 1. Adresy nie mają "łatwego" klucza naturalnego, ponieważ trzeba by użyć wszystkich kolumny tabeli adresów tworzą klucz dla siebie (być może uda ci się uciec tylko z kombinacją ulicy i kodu pocztowego w zależności od domeny problemu), dlatego wprowadzenie klucza zastępczego jest znacznie lepszą opcją w tym przypadku. Link http://www.agiledata.org/essays/keys.html

Unikalny klucz

Klucz unikalny to superkey-czyli w relacyjnym modelu organizacji baz danych zbiór atrybutów zmiennej relacji, dla których posiada ona, że we wszystkich relacje przypisane do tej zmiennej, nie ma dwóch odrębnych krotek (wierszy), które mają takie same wartości dla atrybutów w tym zbiorze

Klucze zbiorcze lub złożone

Gdy więcej niż jedna kolumna jest łączona, tworząc unikalny klucz, ich połączona wartość jest używana do uzyskania dostępu do każdego wiersza i utrzymania unikalności. Klucze te są określane jako klucze zbiorcze lub złożone. Wartości nie są łączone, są porównywane przy użyciu ich typów danych.

Klucz Prosty

Prosty klucz wykonany z tylko jeden atrybut.

Super klucz

Superkey jest zdefiniowany w modelu relacyjnym jako zbiór atrybutów zmiennej relacji (relvar), dla którego utrzymuje, że we wszystkich relacjach przypisanych do tej zmiennej nie ma dwóch oddzielnych krotek (wierszy), które mają takie same wartości dla atrybutów w tym zestawie. Równoważnie Super klucz może być również zdefiniowany jako zbiór atrybutów relvaru, od którego wszystkie atrybuty relvaru są funkcjonalnie zależne.

Klucz częściowy lub Klucz dyskryminacyjny

Jest to zbiór atrybutów, które mogą jednoznacznie zidentyfikować słabe podmioty i które są powiązane z tą samą jednostką właściciela. Czasami nazywany jest Dyskryminatorem.

 0
Author: Java_Fire_Within,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-03 07:58:08