La risposta breve è "... non esiste una risposta breve ..."![]()
Quella media è "quanti attributi hai da de-normalizzare? Son pochi? Collassa l'intera gerarchia in UNA singola tabella flat".
Guadagni in prestazioni enormemente, e pure in semplicità di gestione.
---
Son tanti? Ti tocca aggiungere relazioni (=> tabelle)
"pochi" potrebbero essere 10-20.
Questa è una possibilità
Questa un'altracodice:codsoggetto persona_nome persona_sesso persona_datadinascita persona_flagvip persona_flagpolitico persona_partito persona_caricagovernativa
---codice:codsoggetto persona_nome persona_sesso persona_datadinascita persona_tipo_persona persona_partito persona_caricagovernativa
In generale ti suggerisco, finchè puoi, di adottare una strategia opposta a quella che normalmente viene insegnata, ossia de-normalizzare anzichè normalizzare.
Sono metodologie anni '60, vecchie quindi di una cinquantina d'anni, indispensabili quando i computer avevano memorie limitate a pochi KB.
Oggi avere un db grande non costa nulla, mentre i join costano, eccome.
Chiaramente bisogna decidere volta per volta: portarsi dietro un po' di "zavorra" (qualche campo varchar, qualche intero) va bene.

Rispondi quotando