Sobes.tech
Junior

Cosa sono le chiavi in un database?

sobes.tech AI

Risposta dell'AI

La chiave in un database è uno o più campi (colonne) di una tabella che servono per identificare in modo univoco le registrazioni (righe) o stabilire relazioni tra le tabelle.

Tipi di chiavi:

  • Chiave primaria (Primary Key; PK):
    • Identifica in modo univoco ogni record nella tabella.
    • Non può contenere valori NULL.
    • Può esserci solo una chiave primaria per tabella.
  • Chiave esterna (Foreign Key; FK):
    • Stabilisce una relazione tra due tabelle, facendo riferimento alla chiave primaria o a una chiave unica di un'altra tabella.
    • Garantisce l'integrità referenziale, assicurando l'esistenza del record referenziato.
  • Chiave unica (Unique Key; UK):
    • Garantisce l'unicità dei valori nei campi indicati, ma può contenere valori NULL (di solito non più di uno NULL).
    • Può esserci più di una chiave unica in una tabella.
  • Chiave candidata (Candidate Key):
    • Qualsiasi insieme minimo di campi in grado di identificare in modo univoco un record.
    • Tra le chiavi candidate, si sceglie una come chiave primaria.
  • Superchiave (Super Key):
    • Insieme di campi che può identificare in modo univoco un record. La chiave candidata è la superchiave minima.

Esempio di utilizzo di una chiave esterna:

CREATE TABLE Orders (
    order_id INT PRIMARY KEY, -- Chiave primaria per la tabella Orders
    customer_id INT,
    order_date DATE,
    FOREIGN KEY (customer_id) REFERENCES Customers(customer_id) -- Chiave esterna che fa riferimento alla tabella Customers
);

CREATE TABLE Customers (
    customer_id INT PRIMARY KEY, -- Chiave primaria per la tabella Customers
    customer_name VARCHAR(255)
);