Sobes.tech
Junior

Come conservare informazioni uniche per ogni elemento in una tabella relazionale?

sobes.tech AI

Risposta dell'AI

In un database relazionale, l'unicità di una registrazione in una tabella è determinata dalla chiave primaria. Ogni riga deve avere un valore unico nella colonna (o nel set di colonne) designata come chiave primaria. Questo garantisce che ogni record possa essere identificato in modo univoco.

Ecco alcuni modi per garantire l'unicità:

  1. Chiave primaria autoincrementante: L'approccio più comune. Si crea un campo intero che si incrementa automaticamente per ogni nuovo record.

    CREATE TABLE utenti (
        id INTEGER PRIMARY KEY AUTOINCREMENT, // ID unico generato automaticamente
        nome_utente TEXT,
        email TEXT UNIQUE // Ulteriore unicità per l'email
    );
    
  2. UUID (Identificatore Unico Universale): Se è necessario generare identificatori unici sul client o in modo distribuito, si può usare UUID.

    CREATE TABLE prodotti (
        id TEXT PRIMARY KEY, // UUID unico in formato testo
        nome TEXT,
        prezzo REAL
    );
    
  3. Chiave naturale: Se l'unicità è garantita da uno o più campi dati esistenti.

    CREATE TABLE Paesi (
        iso_code TEXT PRIMARY KEY, // Il codice del paese è unico nel mondo
        nome TEXT
    );
    
  4. Chiave composta: Combinazione di più colonne per garantire l'unicità del record.

    CREATE TABLE ArticoliOrdine (
        order_id INTEGER,
        product_id INTEGER,
        quantity INTEGER,
        PRIMARY KEY (order_id, product_id) // La coppia order_id + product_id è unica
    );
    

La scelta del metodo dipende dai requisiti di identificazione dei dati. L'importante è avere una chiave primaria.