logo

Reliacinio modelio raktų tipai (kandidatas, superinis, pirminis, alternatyvus ir svetimas)

Raktai yra vienas iš pagrindinių reliacinės duomenų bazės modelio reikalavimų. Jis plačiai naudojamas norint unikaliai identifikuoti eilutes (eilutes) lentelėje. Mes taip pat naudojame raktus norėdami nustatyti ryšius tarp įvairių reliacinės duomenų bazės stulpelių ir lentelių.

Įvairių tipų duomenų bazės raktai

  • Kandidato raktas
  • Pirminis raktas
  • Super raktas
  • Alternatyvus raktas
  • Svetimas raktas
  • Sudėtinis raktas

Kandidato raktas

Minimalus atributų rinkinys, galintis vienareikšmiškai identifikuoti seką, yra žinomas kaip kandidato raktas. Pavyzdžiui, STUD_NO santykyje STUDENT.



  • Tai minimalus super raktas.
  • Tai superraktas be pasikartojančių duomenų, vadinamas kandidatiniu raktu.
  • Minimalus atributų rinkinys, galintis unikaliai identifikuoti įrašą.
  • Jame turi būti unikalių verčių.
  • Jame gali būti NULL reikšmės.
  • Kiekvienoje lentelėje turi būti bent vienas kandidato raktas.
  • Lentelėje gali būti keli raktai, bet tik vienas pirminis raktas.
  • Kandidato rakto reikšmė yra unikali ir gali būti nulinė eilutėje.
  • Santykiuose gali būti daugiau nei vienas kandidatas.

Pavyzdys:

kiek mb viename GB
 STUD_NO is the candidate key for relation STUDENT.>

Stalas STUDENTAS

STUD_NR SNAP ADRESAS TELEFONAS
1 Shyam Delis 123456789
2 Rakešas Kolkata 223365796
3 Suraj Delis 175468965
  • Kandidatas gali būti paprastas (turintis tik vieną atributą) arba sudėtinis.

Pavyzdys:



 {STUD_NO, COURSE_NO} is a composite   candidate key for relation STUDENT_COURSE.>

Stalas STUDENT_COURSE

STUD_NR MOKYTOJAS_NE KURSAS_NE
1 001 C001
2 056 C005

Pastaba: Į SQL Serveris unikalus apribojimas, turintis nulinį stulpelį, leidžia vertė ' nulinis “ tame stulpelyje tik vieną kartą . Štai kodėl STUD_PHONE atributas čia yra kandidatas, bet negali būti „nulis“ pirminio rakto atribute.

Pirminis raktas

Gali būti daugiau nei vienas kandidatas raktas, iš kurių vienas gali būti pasirinktas kaip pirminis raktas. Pavyzdžiui, STUD_NO, taip pat STUD_PHONE, yra kandidatiniai raktai ryšiui STUDENT, tačiau STUD_NO galima pasirinkti kaip pirminis raktas (tik vienas iš daugelio kandidatų raktų).



  • Tai unikalus raktas.
  • Jis vienu metu gali identifikuoti tik vieną eilutę (įrašą).
  • Ji neturi pasikartojančių verčių, ji turi unikalias vertes.
  • Tai negali būti NULL.
  • Pirminiai raktai nebūtinai turi būti vienas stulpelis; daugiau nei vienas stulpelis taip pat gali būti pirminis lentelės raktas.

Pavyzdys:

STUDENT table ->Studentas (STUD_NO, SNAME, ADDRESS, PHONE) , STUD_NO yra pirminis raktas>> 

Stalas STUDENTAS

STUD_NR SNAP ADRESAS TELEFONAS
1 Shyam Delis 123456789
2 Rakešas Kolkata 223365796
3 Suraj Delis 175468965

Super raktas

Atributų, galinčių vienareikšmiškai identifikuoti seką, rinkinys yra žinomas kaip Super Key. Pavyzdžiui, STUD_NO, (STUD_NO, STUD_NAME) ir tt Super raktas yra vieno arba kelių klavišų grupė, identifikuojanti lentelės eilutes. Jis palaiko NULL reikšmes.

užpildas css
  • Pridėjus nulį ar daugiau atributų prie kandidato rakto, sukuriamas super raktas.
  • Kandidato raktas yra super raktas, bet atvirkščiai – netiesa.
  • Super Key reikšmės taip pat gali būti NULL.

Pavyzdys:

Ryšys tarp pirminio rakto, kandidato rakto ir super rakto

Alternatyvus raktas

Kandidatas raktas, išskyrus pirminį raktą, vadinamas an alternatyvus raktas .

  • Visi klavišai, kurie nėra pirminiai, vadinami alternatyviais raktais.
  • Tai antrinis raktas.
  • Jame yra du ar daugiau laukų, skirtų dviem ar daugiau įrašų identifikuoti.
  • Šios reikšmės kartojasi.
  • Pvz.:- SNAME ir ADDRESS yra alternatyvūs klavišai

Pavyzdys:

Consider the table shown above. STUD_NO, as well as PHONE both,  are candidate keys for relation STUDENT but  PHONE will be an alternate key  (only one out of many candidate keys).>
Pirminis raktas, kandidato raktas ir alternatyvus raktas

Pagrindinis raktas, kandidato raktas ir alternatyvus raktas

Svetimas raktas

Jei atributas gali priimti tik tas reikšmes, kurios yra kaip kurio nors kito atributo reikšmės, tai bus a svetimas raktas atributui, su kuriuo jis susijęs. Ryšys, į kurį daroma nuoroda, vadinamas nuorodiniu ryšiu, o atitinkamas atributas vadinamas nuorodiniu atributu. Nurodyto santykio atributas, kuriame yra nuoroda, turėtų būti pirminis jo raktas.

  • Tai raktas, kuris veikia kaip pagrindinis raktas vienoje lentelėje ir veikia kaip
    antrinis raktas kitoje lentelėje.
  • Jis vienu metu sujungia du ar daugiau ryšių (lentelių).
  • Jie veikia kaip kryžminė nuoroda tarp lentelių.
  • Pavyzdžiui, DNO yra pirminis raktas DEPT lentelėje ir neraktas EMP

Pavyzdys:

 Refer Table STUDENT shown above.  STUD_NO in STUDENT_COURSE is a   foreign key to STUD_NO in STUDENT relation.>

Stalas STUDENT_COURSE

STUD_NR MOKYTOJAS_NE KURSAS_NE
1 005 C001
2 056 C005

Verta paminėti, kad, skirtingai nei bet kurio santykio pirminis raktas, užsienio raktas gali būti NULL, taip pat jame gali būti pasikartojančių eilučių, t. y. jam nereikia laikytis unikalumo apribojimų. Pavyzdžiui, STUD_NO santykio STUDENT_COURSE nėra unikalus. Tai pakartota pirmajai ir trečiajai kortelei. Tačiau STUD_NO santykyje STUDENT yra pirminis raktas ir jis visada turi būti unikalus ir negali būti nulinis.

Ryšys tarp pirminio rakto ir užsienio rakto

Ryšys tarp pirminio rakto ir užsienio rakto

skaidydami eilutę c++

Sudėtinis raktas

Kartais lentelėje gali nebūti vieno stulpelio / atributo, kuris vienareikšmiškai identifikuotų visus lentelės įrašus. Norint vienareikšmiškai identifikuoti lentelės eilutes, galima naudoti dviejų ar daugiau stulpelių/atributų derinį. Retais atvejais jis vis tiek gali pateikti pasikartojančias vertes. Taigi, turime rasti optimalų atributų rinkinį, kuris galėtų vienareikšmiškai identifikuoti lentelės eilutes.

  • Jis veikia kaip pirminis raktas, jei lentelėje nėra pirminio rakto
  • Du ar daugiau atributų naudojami kartu sukurti a sudėtinis raktas .
  • Skirtingi atributų deriniai gali suteikti skirtingą eilučių identifikavimo tikslumą.

Pavyzdys:

FULLNAME + DOB can be combined  together to access the details of a student.>
Įvairių tipų raktai

Įvairių tipų raktai

Išvada

Apibendrinant galima pasakyti, kad reliaciniame modelyje naudojami keli raktai: kandidatų raktai leidžia aiškiai identifikuoti, pirminis raktas yra pasirinktas identifikatorius, alternatyvūs raktai siūlo kitus pasirinkimus, o svetimi raktai sukuria gyvybiškai svarbius ryšius, garantuojančius duomenų vientisumą tarp lentelių. Norint sukurti stiprias ir veiksmingas reliacines duomenų bazes, reikia apgalvotai taikyti šiuos raktus.

DUK apie raktų tipus reliaciniame modelyje

1 klausimas: kodėl DBVS reikalingi raktai?

Atsakymas:

string konvertuoti į int Java

Raktai yra vienas iš svarbių DBVS aspektų. Klavišai padeda lentelėje unikaliai rasti eilutes (eilutes). Jis taip pat naudojamas kuriant įvairius ryšius tarp duomenų bazės stulpelių ar lentelių.

2 klausimas: kas yra unikalus raktas?

Atsakymas:

Unikalūs raktai yra raktai, kurie unikaliai apibrėžia įrašą lentelėje. Jis skiriasi nuo pirminių raktų, nes unikaliame rakte gali būti viena NULL reikšmė, bet pirminiame rakte nėra jokių NULL reikšmių.

3 klausimas: kas yra dirbtinis raktas?

Atsakymas:

Dirbtiniai raktai yra raktai, kurie naudojami, kai jokiuose atributuose nėra visų pirminio rakto savybių arba jei pagrindinis raktas yra labai didelis ir sudėtingas.