Attributi Composti in Database: Struttura, Esempio e Benefici
Un attributo composto (attributo composito) è un singolo attributo logico composto da sotto-attributi atomici multipli.
Esempio Classico: Indirizzo Dipendente
IndirizzoDipendente (composto) ├── IndirizzoVia ├── Città ├── Stato ├── CAP └── Paese (opzionale)
Benefici
- Raggruppamento logico: Dati correlati rimangono insieme.
- Accesso atomico: Query possono riferirsi all'intero (IndirizzoDipendente) o parti (Città).
- Chiarezza schema: Riduce proliferazione tabelle vs. tabella indirizzi separata per 1:1.
- Integrità: Vincoli su composito (es. CAP corrisponde Città/Stato).
Implementazione
- Relazionale: Colonne incorporate (Indirizzo_Via, Indirizzo_Città…) o UDT (PostgreSQL, Oracle).
- Document/NoSQL: Oggetto nidificato nativo.
- ORM: Embedded/value object (JPA @Embeddable, EF Core Owned Entity).
Quando Decomporre
Se sotto-attributi sono condivisi (molti dipendenti per indirizzo), interrogati indipendentemente, o hanno ciclo vita indipendente → entità/tabella separata.