Database keys

1. Primary Key

Selgitus:
Primaarvõti on veerg või veerud tabelis, mille abil saab iga rida üheselt eristada. See tähendab, et kahel real ei tohi olla sama primaarvõtme väärtust. Tabelis võib olla ainult üks primaarvõti ja selle veeru väärtus ei tohi olla tühi (NULL).

Näide:

õpilase_ideesnimiklass
1Mari9A
2Jaan9B
3Liis8C

Primaarvõti: õpilase_id

2. Foreign Key

Selgitus:
Võõrvõti on veerg, mis ühendab ühe tabeli teise tabeliga. Selle abil saab näidata, millised andmed on omavahel seotud. Võõrvõti viitab teise tabeli primaarvõtmele ja aitab hoida andmed õigesti seotud.

Näide:

tellimus_idklient_idkuupäev
11012025-03-01
21022025-03-02

Foreign Key:
klient_id → viitab tabelile Kliendid.klient_id

3. Unique Key

Selgitus:
Unikaalne võti tagab, et üheski reas ei korduks sama väärtus. Tabelis võib olla mitu unikaalvõtit ja need võivad sisaldada ka tühje väärtusi.

Näide:

idkasutajanimie-post
1mari123mari@mail.ee
2jaan22jaan@mail.ee

Unikaalne võti:
e-post (kõik e-posti aadressid on unikaalsed)

4. Simple Key

Selgitus:
Lihtvõti koosneb ainult ühest väljast, mis üheselt identifitseerib rea tabelis. See on kõige tavalisem võtmetüüp.

Näide:

raamat_idpealkiri
1Andmebaasid 101
2SQL algõpe

Lihtvõti: raamat_id

5. Composite Key

Selgitus:
Liitvõti koosneb mitmest veerust, mis ainult koos suudavad ühte rida unikaalselt tuvastada. Kui kasutada ainult ühte neist veergudest, võivad andmed korduda.

Näide:

õpilase_idainehinne
1Matemaatika5
1Inglise keel4
2Matemaatika3

Liitvõti:
(õpilase_id, aine) (koosneb mõlemast veerust)

6. Compound Key

Selgitus:
Koostatud võti on sarnane liitvõtmele, kuid see ühendab erinevate tabelite veerud, et koos moodustada iga rea jaoks unikaalne identifikaator.

Näide:

laen_idraamat_idkasutaja_id
153
264

Koostatud võti:
(raamat_id, kasutaja_id) (koosneb mõlemast veerust)

7. Superkey

Selgitus:
Supervõti on ükskõik milline veerg või veergude kombinatsioon, mis aitab eristada iga tabeli rida. Kõik primaarvõtmed on supervõtmed, aga kõik supervõtmed ei ole primaarvõtmed, sest need võivad sisaldada tarbetuid veerge.

Näide:

töötaja_idnimiisikukood
1Tiina49001120234
2Kalle39505270215

Supervõti:
(töötaja_id, isikukood) (koosneb mõlemast veerust)

8. Candidate Key

Selgitus:
Kandidaadivõti on veerg või veergude kombinatsioon, mis võiks tabelis olla primaarvõti. Üks neist valitakse tegelikuks primaarvõtmeks.

Näide:

klient_idisikukoode-post
149801120234mari@mail.ee
239005020333jaan@mail.ee

Kandidaatvõtmed:
klient_id, isikukood

Primaarvõti:
klient_id (see on tabeli peamine identifikaator)

9. Alternate Key

Selgitus:
Alternatiivvõti on kandidaadivõti, mida primaarvõtmeks ei valitud, aga seda saab siiski kasutada ridade unikaalseks tuvastamiseks.

Näide:

klient_idisikukoode-post
149801120234mari@mail.ee
239005020333jaan@mail.ee

Kandidaatvõtmed:
klient_id, isikukood

Primaarvõti:
klient_id (tabeli peamine identifikaator)

Alternatiivvõti:
isikukood (teine unikaalne viis kliendi identifitseerimiseks)

Kasutatud allikad

  • Õpik: „Andmebaasid ja SQL“, T. Peets
  • W3Schools – SQL Keys
  • Moodle kursuse materjalid