Q:
Kuo skiriasi sudėtinis, pirminis ir užsienio raktas?
A:Pagrindinis raktas yra apibrėžiamas kaip raktas arba duomenų bazės stulpelis, kuris unikaliai identifikuoja kiekvieną duomenų bazės lentelės eilutę. Sudėtinis raktas yra daugiau nei vieno rakto rinkinys, kuris kartu identifikuoja kiekvieną įrašą.
Kita vertus, svetimas raktas yra kai kurios lentelės raktas, kuris vienareikšmiškai identifikuoja kitos lentelės eilutes, arba, kitaip tariant, raktas, einantis į pirminį raktą kitoje lentelėje.
Pavyzdys galėtų būti namų sąrašas nekilnojamojo turto rinkoje. Tvarkingoje duomenų bazėje turėtų būti pagrindinis raktas, kuris unikaliai identifikuoja kiekvieną įrašą. Kaip tai veikia, gali būti susijęs su duomenų bazės rafinuotumu.
Kai kuriais atvejais namai gali būti unikaliai identifikuojami tik pagal hipotekos numerį - visi kiti duomenys (miestai, gatvės, namų numeriai) nėra unikalūs kiekviename įraše. Hipotekos numeris būtų pagrindinis raktas. Tarkime, kad MLS maklerio įtraukimo į sąrašą technologija priskiria savo unikalius numerius lentelės įrašams. Tada bus du raktai, kuriuos kūrėjai gali identifikuoti kaip „raktų kandidatus“: hipotekos numeris ir MLS numeris. Vienas iš jų bus laikomas „pirminiu raktu“ tuo, kurį kai kurie laikytų savavališku.
Sudėtinis raktas tada būtų dviejų klavišų derinys: pavyzdžiui, namo numerio ir gatvės derinys gali būti laikomas sudėtiniu raktu, atsižvelgiant į tai, kad rinkos sąrašai yra vietiniai. Jei taip, tada, kai kas nors ieško naudodamasis namo numeriu ir gatve, turėtų gauti tik vieną įrašą.
Tuo tarpu, jei susietoje lentelėje yra raktas, pavyzdžiui, pirkėjo lentelė, kuri nurodo pagrindinį raktą, tai bus svetimas raktas.
