Index

Related

TLDR


Introduzione

Una decomposizione di uno schema relazionale è un processo che consiste nel suddividere uno schema relazionale in più schemi più piccoli e indipendenti, mantenendo le relazioni tra di loro.

Si può scomporre una relazione per diversi motivi solitamente si gli obbiettivi ridurre la complessità dello schema originale, migliorando la gestione dei dati e riducendo la ridondanza.

3NF

Abbiamo visto che uno schema in 3NF ha delle buone proprietà che lo rendono preferibile ad uno che non è in 3NF.

Quando si progetta una base di dati è importante di produrre uno schema in cui ogni relazione sia in 3NF. Se tuttavia ci trovassimo a produrre uno schema che non è in 3NF dovremmo procedere ad una fase di decomposizione, dove suddividiamo lo schema non 3NF in un insiemi di schemi 3NF.

Definizione di Decomposizione

Sia uno schema di relazione. Una decomposizione di è una famiglia di sottoinsiemi di che ricopre

In altre parole:

  • Decomporre lo schema significa definire dei sottoschemi che contengono ognuno un sottoinsieme degli attributi di . I sottoschemi possono avere attributi in comune, e la loro unione deve necessariamente contenere tutti gli attributi di .
  • Quindi è un insieme di attributi, una decomposizione di è una famiglia di insiemi di attributi.

Decomposizione di uno schema 3NF

Uno schema non in 3NF può essere decomposto in più modi in un insieme di schemi 3NF, ma non detto che tutti questi schemi siano egualmente validi.

Regole

Quando si decompone uno schema per ottenere una 3NF dobbiamo ricordare che:

  1. Occorre preservare le dipendenze funzionali che valgono sullo schema originario.
  2. Occorre permettere di ricostruire tramite join lo schema originario, senza aggiunta di informazioni estranee.