Semantica degli attributi

Quando si raggruppano gli attributi in uno schema di relazione, assumiamo che essi abbiano associato un significato

Il significato, o semantica, specifica come interpretare i valori degli attributi di una relazione

Linea guida 1

<aside> <img src="/icons/report_purple.svg" alt="/icons/report_purple.svg" width="40px" />

Disegnare uno schema di relazione del quale sia facile spiegarne il significato

</aside>

Non combinare attributi da tipi di entità e tipi di relazioni differenti in una singola relazione

Riduzione dei valori ridondanti nelle tuple

Un obiettivo del disegno dello schema è di minimizzare lo spazio di memoria occupato dalle relazioni base

Update anomalies

Le update anomalies sono delle anomalie che possono emergere nel gestire i dati di un database relazionale non correttamente progettato

Linea guida 2

<aside> <img src="/icons/report_purple.svg" alt="/icons/report_purple.svg" width="40px" />

Disegnare gli schemi di relazione di base in modo che non possano accadere insertion, deletion o modification anomalies

</aside>

Se qualcuna è presente, annotare ciò chiaramente in modo che i programmi che aggiornano il database operino correttamente

Talvolta le linee guida possono essere violate per scopi di efficienza; una soluzione migliore potrebbe comunque essere quella di definire delle viste

Riduzione dei valori null nelle tuple

In alcuni disegni di schemi possiamo raggruppare molti attributi in una relazione grossa, se molti degli attributi non applicano a tutte le tuple possiamo avere molti valori null

Oltre allo spreco di spazio, ciò crea problemi con le funzioni di aggregazione COUNT e SUM