Ett sammansatt attribut (komposit attribut) är ett enda logiskt attribut sammansatt av **flera atomära underattribut**.
Klassiskt exempel: Anställd adress
AnställdAdress (sammansatt) ├── Gatuadress ├── Postort ├── Region ├── Postnummer └── Land (valfritt)
Fördelar
- Logisk gruppering: Relaterad data hålls ihop.
- Atomär åtkomst: Frågor kan referera till helhet (AnställdAdress) eller delar (Postort).
- Schematydlighet: Minskar tabellutbredning vs separat addresstabell för 1:1.
- Integritet: Restriktioner på sammansatt (t.ex. postnummer matchar postort/region).
Implementation
- Relationalt: Inbäddade kolumner (Adress_Gata, Adress_Postort…) eller UDT (PostgreSQL, Oracle).
- Dokument/NoSQL: Inbyggt nästlat objekt.
- ORM: Inbäddat/värdeobjekt (JPA @Embeddable, EF Core Owned Entity).
När man ska dekomponera
Om underattribut delas (många anställda per adress), frågas oberoende, eller har oberoende livscykel → separat entitet/tabell.