Andmebaasi võtmed (Keys)

Primary Key

Tabeli primaarvõti.
– Identifitseerib iga rea ​​unikaalselt.
– Ei tohi olla NULL.
– Tabelil saab olla ainult üks primaarvõti.

Näide:

CREATE TABLE Users(
ID INT PRIMARY KEY,
Username varchar(50));

Foreign Key

Lingib ühe tabeli teisega.
– Osutab teise tabeli primaarvõtmele.
– Tagab andmete terviklikkuse.

Näide:

CREATE TABLE Orders(
ID INT PRIMARY KEY,
UserID INT,
FOREIGN KEY (UserID) REFERENCES Users(ID));

Unique Key

Tagab unikaalsed väärtused.
– Ei luba duplikaate.
– Võib sisaldada mitut väärtust tabeli kohta.
– Võib sisaldada ühte NULL-väärtust (enamikus andmebaasisüsteemides).

Näide:

EMail varchar(100) UNIQUE

Simple Key

Ühest väljast koosnev võti.

Näide:

ID INT PRIMARY KEY

Composite Key

Mitmeveeruline võti.
Kasutatakse juhul, kui unikaalsus määratakse väljade kombinatsiooni abil.

Näide:

PRIMARY KEY (StudentID, CourseID)

Compound Key

Sageli kasutatakse liitvõtme sünonüümina.
Koosneb ka mitmest veerust.
Mõnes allikas: võti, kus vähemalt üks veerg on võõrvõti.
Praktikas kasutatakse terminit liitvõti sagedamini SQL-is.

Super Key

Mistahes veergude komplekt, mis identifitseerib rea unikaalselt.

Näide:
Kui ID on primaarvõti, siis:

ID
ID + Nimi
ID + E-Post

Kõik need on supervõtmed.

👉 Supervõti võib sisaldada lisavälju.

Candidate Key

Minimaalne supervõti.
– Unikaalne
– Ei sisalda lisaveergusid
– Kõigi kandidaatvõtmete hulgast valitakse üks primaarvõti

Näide:

CREATE TABLE Students (
    ID INT,
    Name VARCHAR(50),
    Email VARCHAR(100),
    CONSTRAINT unique_id UNIQUE (ID),
    CONSTRAINT unique_email UNIQUE (Email)
);

Alternate Key

See on kandidaatvõti, mida ei valitud primaarvõtmeks.

Näide:
ID — primaarvõti
E-Post — alternatiivvõti