Sobes.tech
Junior

Kokie yra raktų tipai duomenų bazės lentelėse?

sobes.tech AI

Atsakymas iš AI

Yra keli pagrindiniai raktų tipai:

  • PRIMARY KEY: Unikalus kiekvieno lauko identifikavimas lentelėje. Lentelėje gali būti tik vienas pirminis raktas.
  • FOREIGN KEY: Sukuria ryšį tarp dviejų lentelių, nurodydamas į kitą lentelę esančio pirminio rakto nuorodą. Užtikrina duomenų vientisumą.
  • UNIQUE KEY: Garantuoja reikšmių unikalumą stulpelyje arba stulpelių grupėje, tačiau, skirtingai nuo pirminio rakto, gali būti NULL (jei tai leidžia stulpelio apibrėžimas).
  • CANDIDATE KEY: Bet kuris stulpelis arba stulpelių rinkinys, kuris gali vienareikšmiškai identifikuoti eilutę lentelėje. Pirminis raktas yra vienas iš kandidatinių raktų.
  • SUPER KEY: Rinkinys iš vieno ar kelių stulpelių, kuris vienareikšmiškai identifikuoja eilutę lentelėje. Apima kandidatinius raktus, bet gali turėti papildomų stulpelių, kurie nereikalingi unikalumui.
  • COMPOSITE KEY: Raktas, sudarytas iš dviejų ar daugiau stulpelių, kurie kartu naudojami unikaliam eilutės identifikavimui. Gali būti pirminis, išorinis arba unikalus raktas.
-- Pavyzdys su skirtingų tipų raktų lentelė
CREATE TABLE Users (
    user_id INT PRIMARY KEY, -- Pirminis raktas
    username VARCHAR(50) UNIQUE, -- Unikalus raktas
    email VARCHAR(100),
    city_id INT,
    -- Išorinis raktas, nuoroda į Cities lentelę
    FOREIGN KEY (city_id) REFERENCES Cities (city_id)
);

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