Odpowiedz
klucz kandydat jest minimalny nadkluczem
+1, a także dobrze byłoby zdefiniować tutaj "minimalny", ponieważ jest on nieintuicyjny. Na przykład w tabeli (a, b, c), gdzie (a) jest unikalny, a także (b, c) jest unikalny, oba (a) i (b, c) powinny być kluczami kandydującymi. – orip
Minimalne w tym sensie, że jeśli jeden atrybut z klucza kandydującego zostanie usunięty, wiersza nie można już jednoznacznie zidentyfikować. – libjup
- klucz potencjalny = klucz minimalny zidentyfikować rzędu
- Super key = przynajmniej tak szeroka, jak kandydat kluczowego
Dla mnie klucz super generalnie wprowadza niejednoznaczności w stosunku do klucza kandydującego
Klucz kandydujący jest minimalnym superkey. Tak więc superkey nie jest ściśle "szerszy", ponieważ klucz kandydata również jest superkey. – sqlvogel
@david: czy nie jest "minimalnym superkey" oksymoronem? – gbn
"na ogół wprowadzają niejasności" - co masz na myśli? Na przykład w tej odpowiedzi (http://stackoverflow.com/questions/3938736/enforce-constraints-between-tables/3940708#3940708) tabela EmployeeDepartments ma kandydujący klucz '(employee_ID)' i superkey '(employee_department_name, employee_ID) '. Oba są wymagane dla integralności danych, gdzie jest niejednoznaczność? – onedaywhen
Klawisz super jest zbiorem kolumn, które jednoznacznie identyfikują Jeśli masz rząd. Kluczem kandydującym będzie MINIMALNY zestaw kolumn, który jednoznacznie identyfikuje wiersz. Zasadniczo Superkey jest kluczem Kandydata z dodatkowymi niepotrzebnymi kolumnami.
"Superkey jest kluczem Kandydata z dodatkowymi niepotrzebnymi kolumnami" - - dodatkowe kolumny mogą rzeczywiście okazać się konieczne, aby odnieść się do tabeli i zapewnić integralność danych, np '(employee_ID)' jest unikalne, ale klucz w '(employee_ID, nazwa_działu} może być wymagany w przypadku niektórych tabel, które ograniczają pracowników zgodnie z ich działem. – onedaywhen
Trzymajmy to prosty
nadkluczem - Zestaw kluczy, który jednoznacznie definiuje row
.so z wszystkimi atrybutami jeśli nawet każdy pojedynczy jeden jest unique
wówczas wszystkie podzbiory o to unikalny atrybut spada pod superkey
.
Kandydat Key - superkey
z których dalsze podzbiór może pochodzić które mogą zidentyfikować rows uniquely
lub możemy po prostu powiedzieć, że jest to minimal superkey
.
Klucz Superkey i Kandydat są terminami związanymi z relacyjnymi bazami danych. Co oznacza "ERDB"? Być może odnosisz się do modelu Entity Relationship (ER), który jest zbiorem konwencji do rysowania obrazów o danych. Model ER różni się od modelu relacyjnego. – sqlvogel