|ru_RU

Primary Key (esmane võti)

Lihtsalt öeldes:
Primaarvõti (Primary Key) on veerg, mis eristab iga kirjet tabelis. Selle väärtused peavad olema unikaalsed ja veerg ei tohi olla tühi.

Näide tabelist Student:

StudentIDNimiVanus
1Illia16
2Mark19
3Marek20
4Martin19
CREATE TABLE Student (
    StudentID INT PRIMARY KEY,
    Nimi VARCHAR(50),
    Vanus INT
);

Foreign Key (võõrvõti)

Lihtsalt öeldes:
Võõrasvõti (Foreign Key) näitab seost teise tabeliga. See määrab, milline kirje kuulub teise tabeli kirjele.

Näide tabelist Enrollment (õpingud):

EnrollmentIDStudentIDKursus
11Matemaatika
22Füüsika
31Keemia

Veerg StudentID on võõrasvõti (FK), mis viitab tabeli Student primaarvõtmele.

See näitab, millised õpingud kuuluvad millisele üliõpilasele.

CREATE TABLE Enrollment (
    EnrollmentID INT PRIMARY KEY,
    StudentID INT,
    Kursus VARCHAR(50),
    FOREIGN KEY (StudentID) REFERENCES Student(StudentID)
);

Unique Key (unikaalne võti)

Lihtsalt öeldes:
Unikaalvõti (Unique Key) tagab, et veeru väärtused ei kordu, kuid tabelis võib olla rohkem kui üks selline veerg. Mõnikord võib väärtus olla tühi (NULL).

Näide tabelist Employee (töötajad):

EmployeeIDNimiEmail
1Marimari@email.com
2Jürijuri@email.com
3Liisliis@email.com
CREATE TABLE Employee (
    EmployeeID INT PRIMARY KEY,
    Nimi VARCHAR(50),
    Email VARCHAR(100) UNIQUE
);

Veerg Email on unikaalvõti (Unique Key).

Iga töötaja e-posti aadress on unikaalne, kuid veerg võib olla ka tühi.

Simple Key (lihtvõti)

Näide:
Veerg StudetID on lihtvõti, sest see koosneb ainult ühest veerust.

Lihtsalt öeldes:
Lihtvõti (Simple Key) koosneb ainult ühest veerust ja identifitseerib kirjet tabelis.

Compound Key (kompoundvõti)

Lihtsalt öeldes:
Sarnane composite key-ga – koosneb mitmest veerust. Mõnikord kasutatakse mõlemat terminit samas tähenduses.

CREATE TABLE OrderDetails (
    OrderID INT,
    ProductID INT,
    Quantity INT,
    PRIMARY KEY (OrderID, ProductID)
);

Superkey (ülevõti)

Lihtsalt öeldes:
Supervõti (Superkey) on mis tahes veergude kombinatsioon, mis võimaldab unikaalselt identifitseerida iga kirjet tabelis.

Näide tabelist 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)

Lihtsalt öeldes:
Kandidaatvõti (Candidate Key) on supervõti, mis sobiks primaarvõtme (Primary Key) rolli täitmiseks, st võib unikaalselt identifitseerida iga kirjet tabelis.

Näide tabelist Student:

StudentIDIsikukoodNimiVanus
2013900101Liina20
2024000223Tõnis22
2034100334Maris21
CREATE TABLE Student (
    StudentID INT UNIQUE,
    Isikukood VARCHAR(20) UNIQUE,
    Nimi VARCHAR(50),
    Vanus INT,
    PRIMARY KEY (StudentID)
);

  • Veerud StudentID ja Isikukood on kandidaadid primaarvõtmele.
  • Mõlemad unikaalselt identifitseerivad iga üliõpilase.

Alternate Key (alternatiivvõti)

Lihtsalt öeldes:
Alternatiivvõti (Alternate Key) on kandidaatvõti, mida ei valitud primaarvõtme (Primary Key) rolli täitmiseks, kuid see on endiselt unikaalne ja identifitseerib iga kirjet.

Näide tabelist Student:

StudentIDIsikukoodNimiVanus
3015000112Anu20
3025100223Karl22
3035200334Liis21
CREATE TABLE Student (
    StudentID INT PRIMARY KEY,
    Isikukood VARCHAR(20) UNIQUE,
    Nimi VARCHAR(50),
    Vanus INT
);
-- StudentID = Primary Key
-- Isikukood = Alternate Key

  • Veerg StudentID valiti primaarvõtmeks.
  • Veerg Isikukood on alternatiivvõti — see on endiselt unikaalne, aga primaarvõtmena ei kasutata.

Lõpus: Kasutatud allikad