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)
);