A kandidato raktas yra rakto, žinomo kaip, dalis Super raktas ( aptartas ankstesniame skyriuje ), kur super raktas yra visų tų atributų, kurie gali vienareikšmiškai identifikuoti lentelę, super rinkinys.
Čia aptarsime kandidato raktą, jo vaidmenį ir naudojimą. Taip pat pažvelgsime į keletą pavyzdžių, kurie leis mums geriau suprasti kandidato rakto sąvoką.
inkapsuliavimo programa
Kas yra kandidato raktas
Kandidatas raktas yra super raktų rinkinio poaibis, kuriame raktas, kuriame nėra perteklinio atributo, yra ne kas kitas, o Kandidato raktas . Kad galėtume pasirinkti raktus iš super raktų rinkinio, turime pažvelgti į super raktų rinkinį.
Kandidato rakto vaidmuo
Kandidato rakto vaidmuo yra unikaliai identifikuoti lentelės eilutę arba stulpelį. Be to, kandidato rakto reikšmė negali būti Null. Pasak ekspertų, kandidato rakto aprašymas yra „jokių perteklinių atributų“ ir yra „minimalus eilės atvaizdas“.
Kuo kandidato raktas skiriasi nuo pirminio rakto
Nors ir kandidato, ir pirminio rakto paskirtis yra ta pati, tai yra unikaliai identifikuoti eilutes, o tada jos skiriasi viena nuo kitos. Taip yra todėl, kad lentelėje galime turėti vieną ar daugiau nei vieną kandidatinį raktą, bet galime sukurti tik vieną pirminį lentelės raktą. Taigi iš gautų kandidatų raktų skaičiaus galime nustatyti tinkamą pirminį raktą. Tačiau, jei lentelėje yra tik vienas raktas kandidatas, jis gali būti laikomas abiem pagrindiniais apribojimais.
Kandidato rakto pavyzdys
Pažvelkime į tą patį pavyzdį, paimtą aptariant Super Key, kad suprastume kandidato rakto veikimą.
Mes turime an EMPLOYEE_DETAIL lentelė, kurioje turime šiuos atributus:
Emp_SSN: SSN numeris saugomas šiame lauke.
np.argmax
Emp_Id: Atributas, kuriame saugoma darbuotojo identifikavimo numerio reikšmė.
eilutę į int java
Emp_name: Atributas, kuriame saugomas darbuotojo, turinčio nurodytą darbuotojo ID, vardas.
Emp_email: Atributas, kuriame saugomi nurodytų darbuotojų el. pašto ID.
The EMPLOYEE_DETAIL Toliau pateikiama lentelė, kuri padės geriau suprasti:
Taigi iš aukščiau pateiktos lentelės gavome toliau pateiktus super raktus (aptartus ankstesniame skyriuje):
Dabar iš šių super raktų rinkinių galime padaryti išvadą apie raktus. Norint paimti kandidatų raktus, geriausias būdas yra kiek įmanoma išanalizuoti ir suformuoti pirminius raktus. Taigi, mes turime identifikuoti tuos rinkinius iš super raktų rinkinių, kurie vieni gali identifikuoti visą lentelę arba galime pasakyti kitus lentelės atributus. Taigi rezultatas yra:
Taigi, tai yra trys gauti atributai, galintys identifikuoti kitus ne pirminius lentelės atributus. Visi šie raktai yra kandidatai, iš kurių galime pasirinkti tinkamiausią atributą, kuris gali lengvai identifikuoti visus lentelės įrašus, kurie bus apibūdinti kaip pirminis raktas.
Skirtumas tarp kandidato rakto ir super rakto
Iš aukščiau pateiktų diskusijų galime pastebėti šiuos skirtumus:
kaip rūšiuoti masyvą java
Super raktas | Kandidato raktas |
---|---|
Tai visų tokių atributų superrinkinys, galintis vienareikšmiškai identifikuoti lentelę. | Tai yra Super rakto poaibis arba dalis. |
Visiškai neprivaloma, kad visi super raktai būtų kandidatiniai raktai. | Kita vertus, visi kandidatų raktai yra super raktai. |
Super rakto atributas gali būti NULL, o tai reiškia, kad jo reikšmės gali būti nulinės. | Atributas, turintis kandidato raktą, niekada negali būti NULL, o tai reiškia, kad jo reikšmės negali būti nulinės. |
Visi super raktai buvo suformuoti kartu, kad būtų pateikti kandidatų raktai. | Panašiai, norint sukurti pirminius raktus, sujungiami kandidatų raktai. |
Suformuotų super raktų skaičius visada matomas daugiau. | Čia kandidatų raktai yra mažesni nei super raktai. |
Taigi superraktas yra superrinkinys, kandidato raktas yra poaibis, o pirminis raktas yra superrakto pogrupis.