Sobes.tech
Junior

Ինչպես պահպանել յուրահատուկ տեղեկատվություն յուրաքանչյուր տարրի համար ռելացիոնալ աղյուսակում?

sobes.tech AI

Պատասխան AI-ից

Հարաբերական տվյալների բազայում գրանցման յուրահատկությունը որոշվում է հիմնական բանալով: Յուրաքանչյուր տող պետք է ունենա եզակի արժեք այն սյունակում (կամ սյունակների հավաքածուում), որը նշված է որպես հիմնական բանալու։ Սա ապահովում է, որ դուք կարող եք յուրովի նույնականացնել յուրաքանչյուր գրառում:

Ահա մի քանի եղանակներ՝ ապահովելու եզակիությունը.

  1. Ավտոմատ աճող հիմնական բանալին: Ամենատարածված մոտեցումը։ Ստեղծվում է ամբողջ թիվ, որը ավտոմատ կերպով մեծանում է յուրաքանչյուր նոր գրառման համար։

    CREATE TABLE օգտվողներ (
        id INTEGER PRIMARY KEY AUTOINCREMENT, // Յուրահատուկ ավտոմատ ստեղծված ID
        օգտվող_անուն TEXT,
        էլեկտրոնային_փոստ TEXT UNIQUE // Ավելորդ եզակիություն էլեկտրոնային փոստի համար
    );
    
  2. UUID (Աշխարհագրական Միայնական Անձնագիր): Եթե անհրաժեշտ է ստեղծել եզակի նույնականացուցիչներ հաճախորդի կողմից կամ տարածված համակարգում, կարող եք օգտագործել UUID:

    CREATE TABLE ապրանքներ (
        id TEXT PRIMARY KEY, // Ենթատեքստային UUID
        անուն TEXT,
        գին REAL
    );
    
  3. Բնական բանալին: Եթե եզակիությունը երաշխավորվում է առկա տվյալների մեկ կամ մի քանի դաշտերով:

    CREATE TABLE երկրներ (
        iso_code TEXT PRIMARY KEY, // Երկրի կոդը եզակի է աշխարհում
        անուն TEXT
    );
    
  4. Կոմպոզիտային բանալին: Միացյալ մի քանի սյունակների հավաքածու՝ ապահովելու եզակիությունը:

    CREATE TABLE պատվերներ_մասունքներ (
        պատվեր_id INTEGER,
        ապրանք_id INTEGER,
        քանակություն INTEGER,
        PRIMARY KEY (պատվեր_id, ապրանք_id) // Զույգը եզակի է
    );
    

Ընտրությունը կախված է տվյալների նույնականացման պահանջներից։ Կարևորն այն է, որ լինի հիմնական բանալին։