Sobes.tech
Junior

Millised on andmebaasi tabelite võtmetüübid?

sobes.tech AI

Vastus AI-lt

On olemas mitu peamist võtmetüüpi:

  • PRIMARY KEY: Unikaalselt identifitseerib iga välja tabelis. Tabelis võib olla ainult üks primaarvõti.
  • FOREIGN KEY: Loob suhte kahe tabeli vahel, viidates teise tabeli primaarvõtmele. Säilitab andmete terviklikkuse.
  • UNIQUE KEY: Tagab väärtuste unikaalsuse veerus või veergude grupis, kuid erinevalt primaarvõtme, võib sisaldada NULL-i (kui see on veeru määratlemisega lubatud).
  • CANDIDATE KEY: Iga veerg või veergude kogum, mis saab unikaalselt identifitseerida rea tabelis. Primaarvõti on üks kandidaatsvõtmetest.
  • SUPER KEY: Üks või mitu veergu, mis unikaalselt identifitseerivad rea tabelis. Sisaldab kandidaatsvõtmeid, kuid võib sisaldada ka täiendavaid veerge, mis ei ole unikaalsuse jaoks vajalikud.
  • COMPOSITE KEY: Võti, mis koosneb kahest või enamast veerust, mis koos kasutatakse rea unikaalseks identifitseerimiseks. Võib olla primaarvõti, väline võti või unikaalne võti.
-- Näide erinevat tüüpi võtmetega tabelist
CREATE TABLE Users (
    user_id INT PRIMARY KEY, -- Primaarvõti
    username VARCHAR(50) UNIQUE, -- Unikaalne võti
    email VARCHAR(100),
    city_id INT,
    -- Väline võti, mis viitab Cities tabelile
    FOREIGN KEY (city_id) REFERENCES Cities (city_id)
);

CREATE TABLE Cities (
    city_id INT PRIMARY KEY,
    city_name VARCHAR(50)
);