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) // Ҷуфт фармоиш_id + маҳсулот_id беназир аст
    );
    

Интихоби усул вобаста ба талаботҳои муайянкунии маълумот аст. Муҳим он аст, ки калиди аввал вуҷуд дошта бошад.