Logo NEXUS

NEXUS didattica

← Torna indietro
Informatica / Lezione Teorica

Il Modello Relazionale

Struttura delle basi di dati relazionali: relazioni, tuple, attributi, domini, chiavi primarie, esterne e vincoli d'integrità.

1. Introduzione al Modello Relazionale

Ideato da Edgar Frank Codd nel 1970 presso i laboratori IBM, il modello relazionale rappresenta i dati sotto forma di tabelle (chiamate formalmente relazioni). È il modello logico su cui si fonda la quasi totalità dei DBMS moderni (MySQL, PostgreSQL, Oracle, SQLite).

Terminologia Fondamentale:

1. Relazione (Tabella): Una struttura bidimensionale composta da righe e colonne.
2. Tupla (Riga / Record): Ciascuna delle righe che compongono la tabella, rappresentante un'istanza specifica dell'entità.
3. Attributo (Colonna / Campo): Ciascuna delle proprietà elementari che caratterizzano l'entità.
4. Dominio: L'insieme dei valori ammissibili per un determinato attributo (es. interi positivi, stringhe di massimo 50 caratteri).

2. Proprietà delle Relazioni

Una tabella in un database relazionale rispetta vincoli rigorosi definiti dalla teoria matematica degli insiemi:

3. Chiavi e Vincoli di Integrità

Per garantire la coerenza e l'unicità dei dati, il modello relazionale utilizza specifici meccanismi di indicizzazione logica:

Tipo di Chiave Definizione e Funzione
Superchiave Un insieme di uno o più attributi che identificano univocamente una tupla all'interno di una relazione.
Chiave Primaria (Primary Key) Una superchiave minima (priva di attributi ridondanti) designata per identificare in modo univoco ciascuna riga. Non ammette valori nulli (NULL).
Chiave Esterna (Foreign Key) Un attributo o un insieme di attributi in una tabella che fa riferimento alla chiave primaria di un'altra tabella, realizzando le associazioni.

4. Simulatore Interattivo: Relazioni e JOIN

Simula l'interrogazione congiunta (JOIN) tra due tabelle relazionali (utenti e corsi) per verificare le associazioni tramite chiavi esterne.

relational-db@nexus-sys:~# Relational Algebra Engine
> [READY] Seleziona una proiezione o un JOIN relazionale per analizzare le tabelle collegate.