Il Modello Relazionale

Da Wikiversità, l'apprendimento libero.
Jump to navigation Jump to search
lezione
Il Modello Relazionale
Tipo di risorsa Tipo: lezione
Materia di appartenenza Materia: Basi di dati 1

Il modello relazionale fu proposto da Edgar F.Codd nel 1970 al fine di superare le limitazioni dei modelli all'epoca utilizzati a livello logico, che non permettevano di realizzare efficacemente la proprietà di indipendenza dei dati.
I primi DBMS relazionali sono arrivati nel 1981. (Questo ritardo rispetto all'idea di Codd è dovuto al fatto che era difficile implementare il concetto di relazione con efficienza e affidabilità)

Il modello relazionale si basa su due concetti:

  • Relazione: è un concetto che proviene dalla matematica, più precisamente dalla teoria degli insiemi.
  • Tabella: è un concetto semplice e intuitivo. Le tabelle sono le realizzazioni delle relazioni.

Questo modello risponde al requisito di indipendenza dei dati che prevede una distinzione, nella descrizione dei dati, tra livello fisico e livello logico. Gli utenti che accedono ai dati e i programmatori che sviluppano le applicazioni fanno riferimento solo al livello logico.
I dati descritti a livello logico sono poi realizzati per mezzo di opportune strutture fisiche, ma per accedere ai dati non è necessario conoscere le strutture fisiche stesse.
I modelli precedenti facevano espliciti riferimenti alle strutture facendo uso di puntatori.

Una delle caratteristiche più importanti del modello relazione è che "è basato su valori": i riferimenti fra i dati in relazioni diverse sono rappresentati per mezzo di valori dei domini che compaiono nelle tuple.

Vantaggi modello relazionale:

  • si rappresenta solo ciò che è rilevante dal punto di vista dell'applicazione. I puntatori sono qualcosa di aggiuntivo.
  • la rappresentazione logica dei dati (solo i valori) non fa alcun riferimento a quella fisica, che può anche variare nel tempo. Si parla di indipendenza fisica dei dati.
  • tutta l'informazione è contenuta nei valori quindi è relativamente semplice trasferire una base di dati. Nel caso di puntatori è più complessa perché hanno un significato locale al singolo sistema.