Junior
Come si raggiunge il rapporto in un database relazionale?
sobes.tech AI
Risposta dell'AI
Le relazioni nei sistemi di gestione di database relazionali (RDBMS) si ottengono tramite chiavi esterne (Foreign Keys).
Una chiave esterna è una colonna o un insieme di colonne in una tabella che fa riferimento alla chiave primaria in un'altra tabella. In questo modo, si stabilisce una relazione tra le registrazioni di due tabelle.
Esempi di tipi di relazioni:
- Uno-a-molti (One-to-Many): Una registrazione nella prima tabella è collegata a più registrazioni nella seconda tabella. Ad esempio, un dipartimento può avere molti dipendenti. Nella tabella
Employees, ci sarà una chiave esterna che fa riferimento alla chiave primaria nella tabellaDepartments. - Molti-a-molti (Many-to-Many): Più registrazioni nella prima tabella sono collegate a più registrazioni nella seconda tabella. Ad esempio, uno studente può seguire più corsi, e un corso può essere seguito da più studenti. Per implementarlo, si utilizza una tabella intermedia (tabella di relazioni) contenente chiavi esterne che fanno riferimento alle chiavi primarie di entrambe le tabelle.
- Uno-a-uno (One-to-One): Una registrazione nella prima tabella è collegata a una sola registrazione nella seconda tabella. Questo tipo di relazione è meno comune e viene spesso usato per dividere verticalmente una tabella o per memorizzare dati opzionali. Si realizza tramite una chiave esterna nella seconda tabella che fa riferimento alla chiave primaria nella prima, spesso con un vincolo di unicità sulla chiave esterna.
Esempio di creazione di una tabella con chiave esterna in SQL:
-- Creiamo la tabella Departments
CREATE TABLE Departments (
department_id INT PRIMARY KEY, -- Chiave primaria
department_name VARCHAR(100)
);
-- Creiamo la tabella Employees con chiave esterna
CREATE TABLE Employees (
employee_id INT PRIMARY KEY,
employee_name VARCHAR(100),
department_id INT, -- Colonna per la chiave esterna
FOREIGN KEY (department_id) REFERENCES Departments(department_id) -- Definizione della chiave esterna
);
Le chiavi esterne garantiscono l'integrità referenziale dei dati, impedendo la creazione di "link fantasma" (quando una chiave esterna fa riferimento a una registrazione inesistente nella tabella collegata).