Sobes.tech
Junior

Como manter informações únicas para cada elemento numa tabela relacional?

sobes.tech IA

Resposta da IA

Num banco de dados relacional, a unicidade de um registo numa tabela é determinada pela chave primária. Cada linha deve ter um valor único na coluna (ou conjunto de colunas) designada como chave primária. Isto garante que pode identificar cada registo de forma inequívoca.

Aqui estão algumas formas de garantir a unicidade:

  1. Chave primária auto-incrementada: A abordagem mais comum. Cria-se um campo inteiro que aumenta automaticamente para cada novo registo.

    CREATE TABLE utilizadores (
        id INTEGER PRIMARY KEY AUTOINCREMENT, // ID único gerado automaticamente
        nome_utilizador TEXT,
        email TEXT UNIQUE // Unicidade adicional para o email
    );
    
  2. UUID (Identificador Universalmente Único): Se precisar gerar identificadores únicos no cliente ou de forma distribuída, pode usar UUID.

    CREATE TABLE produtos (
        id TEXT PRIMARY KEY, // UUID único em formato de texto
        nome TEXT,
        preco REAL
    );
    
  3. Chave natural: Se a unicidade for garantida por um ou mais campos de dados existentes.

    CREATE TABLE Paises (
        codigo_iso TEXT PRIMARY KEY, // O código do país é único no mundo
        nome TEXT
    );
    
  4. Chave composta: Combinação de várias colunas para garantir a unicidade do registo.

    CREATE TABLE ItensEncomenda (
        id_encomenda INTEGER,
        id_produto INTEGER,
        quantidade INTEGER,
        PRIMARY KEY (id_encomenda, id_produto) // O par id_encomenda + id_produto é único
    );
    

A escolha do método depende dos requisitos de identificação dos dados. O importante é ter uma chave primária.