Una relazione tra insiemi è un sottoinsieme del loro prodotto cartesiano e descrive come elementi di domini diversi possono essere associati tra loro. Nel modello relazionale questo concetto costituisce la base teorica delle tabelle, dove ogni tupla rappresenta un’istanza della relazione e ogni attributo ne descrive una componente.


DEFINIZIONE

Una relazione R tra due (o +) domini A​ e B è un qualsiasi sottoinsieme del prodotto cartesiano:

Quindi una relazione è un insieme di coppie ordinate che collegano elementi di A con elementi di B. Ad esempio:

Definisco la relazione “un utente segue un cantante”:

Qui:

Non tutte le coppie sono presenti, solo quelle che rappresentano la relazione vera (R è una relazione di grado 2 e cardinalità 3).


PROPRIETA’

Dominio della relazione: Insieme degli elementi di A che compaiono almeno una volta in R (nell’esempio: tutto A).

Codominio: Insieme degli elementi verso cui le coppie di R possono puntare: l’insieme B.

Immagine della relazione (range): Gli elementi di B effettivamente collegati (nell’esempio: tutto B).

Grado: Numero di domini che partecipano alla relazione (nell’esempio: 2, ovvero A e B).

Cardinalità della relazione: Numero di elementi della relazione R (nell’esempio: 3, ovvero (1,Drizzy), (2,Travis), (3,Drizzy)).


RAPPRESENTAZIONE TABELLARE

In un DB relazionale le relazioni sono rappresentate da tabelle.

  • le righe rappresentano istanze concrete (numero di righe = cardinalità della relazione).
  • le colonne rappresentano attributi (numero di colonne = grado della relazione).