Kaip išsaugoti unikalią informaciją kiekvienam elementui reliacinėje lentelėje?
sobes.tech AI
Atsakymas iš AI
Santykinėje duomenų bazėje įrašo unikalumą apibrėžia pirminis raktas. Kiekvienoje eilutėje turi būti unikali reikšmė stulpelyje (arba stulpelių rinkinyje), kuris yra pažymėtas kaip pirminis raktas. Tai užtikrina, kad kiekvieną įrašą galima identifikuoti vienareikšmiškai.
Štai keletas būdų užtikrinti unikalumą:
-
Automatiškai didėjantis pirminis raktas: Dažniausiai naudojamas būdas. Sukuriamas sveikojo skaičiaus laukas, kuris automatiškai didėja kiekvienam naujam įrašui.
CREATE TABLE vartotojai ( id INTEGER PRIMARY KEY AUTOINCREMENT, // Unikalus automatiškai sugeneruotas ID vartotojo_vardas TEXT, el_pastas TEXT UNIQUE // Papildomas unikalumas el. pašto laukui ); -
UUID (Universaliai Unikalus Identifikatorius): Jei reikia generuoti unikalius identifikatorius kliento pusėje arba paskirstytoje sistemoje, galima naudoti UUID.
CREATE TABLE produktai ( id TEXT PRIMARY KEY, // Unikalus UUID teksto formatu pavadinimas TEXT, kaina REAL ); -
Natūralus raktas: Jei unikalumas garantuojamas vienu ar keliais esamais duomenų laukais.
CREATE TABLE šalys ( iso_kodas TEXT PRIMARY KEY, // Šalies kodas yra unikalus pasaulyje pavadinimas TEXT ); -
Sudėtinis raktas: Kelios stulpelių kombinacija, siekiant užtikrinti įrašo unikalumą.
CREATE TABLE UžsakymaiPrekės ( užsakymo_id INTEGER, prekės_id INTEGER, kiekis INTEGER, PRIMARY KEY (užsakymo_id, prekės_id) // Poros užsakymo_id + prekės_id unikalumas );
Pasirinkimas priklauso nuo duomenų identifikavimo reikalavimų. Svarbiausia — turėti pirminį raktą.