Primaarvõti (Primary Key) on tulp, mis aitab iga tabeli kirjet ainulaadselt eristada. Selle väärtused peavad olema kordumatud ning tulp ei tohi sisaldada tühje väärtusi.

Näiteks tabel Student:
| StudentID | Nimi | Vanus |
|---|---|---|
| 1 | Roman | 18 |
| 2 | Mark | 20 |
| 3 | Marek | 20 |
| 4 | Martin | 19 |
CREATE TABLE Student (
StudentID INT PRIMARY KEY,
Nimi VARCHAR(50),
Vanus INT
);
Võõrvõti (Foreign Key) on tulp, mis loob seose kahe tabeli vahel. See näitab, millise teise tabeli kirjega antud kirje on seotud.
Näiteks tabelis TundID (õpingud):
| TundID | StudentID | Tund |
|---|---|---|
| 1 | 1 | Andmebaasid |
| 2 | 2 | Robotika |
| 3 | 1 | Veebirakendus |
Veerg StudentID on võõrvõti (FK), mis viitab tabeli Student primaarvõtmele.
See määrab, millised õpingud on seotud konkreetse üliõpilasega.
CREATE TABLE Enrollment (
TundID INT PRIMARY KEY,
StudentID INT,
Tund VARCHAR(50),
FOREIGN KEY (StudentID) REFERENCES Student(StudentID)
);
Unikaalvõti (Unique Key) tagab, et veeru väärtused on kordumatud. Tabelis võib olla mitu unikaalvõtit ning mõnes veerus võib väärtus olla ka tühi (NULL).
Näiteks tabel Employee (töötajad):
| EmployeeID | Nimi | |
|---|---|---|
| 1 | Mari Speek | mari.speek@tthk.ee |
| 2 | Paul Alekand | paul.alekand@tthk.ee |
| 3 | Eduard Brindfeldt | eduard.brindfeldt@tthk.ee |
CREATE TABLE Employee (
EmployeeID INT PRIMARY KEY,
Nimi VARCHAR(50),
Email VARCHAR(100) UNIQUE
);Veerg Email on unikaalvõti (Unique Key).
See tagab, et iga töötaja e-posti aadress on kordumatu, kuid veerg võib sisaldada ka tühje väärtusi.
Lihtvõti (Simple Key)
Näide: veerg StudentID on lihtvõti, kuna see koosneb ainult ühest veerust.
Lihtsamalt öeldes: lihtvõti koosneb ühest veerust ja identifitseerib tabelis oleva kirje.
Kompoundvõti (Compound Key)
Lihtsamalt öeldes: kompoundvõti koosneb mitmest veerust ja identifitseerib kirjet tabelis. Mõnikord kasutatakse terminit composite key samas tähenduses.
CREATE TABLE OrderDetails (
OrderID INT,
ProductID INT,
Quantity INT,
PRIMARY KEY (OrderID, ProductID)
);Ülevõti (Superkey) on ükskõik milline veergude kombinatsioon, mis võimaldab tabeli iga kirjet ainulaadselt tuvastada.
Näiteks tabelis Student:
CREATE TABLE Student (
StudentID INT,
Nimi VARCHAR(50),
Isikukood VARCHAR(20),
PRIMARY KEY (StudentID),
UNIQUE (StudentID, Isikukood) -- see on superkey
);Candidate Key (kandidaatvõti)
Kandidaatvõti (Candidate Key) on supervõti, mis võiks olla primaarvõti, ehk suudab tabeli iga kirje ainulaadselt identifitseerida.
Näiteks tabelis EmployeeID:
| EmployeeID | Isikukood | Nimi | Vanus |
|---|---|---|---|
| 201 | 615616516 | Mari Speek | 50 |
| 202 | 55164545 | Paul Alekand | 34 |
| 203 | 54165161 | Eduard Brindfeldt | 43 |
CREATE TABLE Employee(
EmployeeID INT UNIQUE,
Isikukood VARCHAR(20) UNIQUE,
Nimi VARCHAR(50),
Vanus INT,
PRIMARY KEY (StudentID)
);Alternate Key (alternatiivvõti)
Alternatiivvõti (Alternate Key) on kandidaatvõti, mida ei kasutatud primaarvõtmena, kuid mis on endiselt unikaalne ja suudab tabeli iga kirje identifitseerida.
Näiteks tabelis Student:
| StudentID | Isikukood | Nimi | Vanus |
|---|---|---|---|
| 301 | 5000112 | Mark | 20 |
| 302 | 5100223 | Marek | 20 |
| 303 | 5200334 | Roman | 18 |
CREATE TABLE Student (
StudentID INT PRIMARY KEY,
Isikukood VARCHAR(20) UNIQUE,
Nimi VARCHAR(50),
Vanus INT
);
StudentID = Primary Key
Isikukood = Alternate Key