Propojené atributy (AD DS)
Propojené atributy jsou dvojice atributů, ve kterých systém vypočítá hodnoty jednoho atributu (zpětného propojení) na základě hodnot nastavených na druhý atribut (forward link) v celé doménové struktuře. Hodnota zpětného propojení u jakékoli instance objektu se skládá z DN všech objektů, které mají objekt DN nastaven v odpovídajícím zpětném odkazu. Například "Manager" a "Reports" jsou dvojice propojených atributů, kde Manager je forward link a Reports je zpětný odkaz. Teď předpokládejme, že Bill je joeův manažer. Pokud uložíte DN objekt uživatele Billa v atributu "Manager" objektu uživatele Joea, zobrazí se dn objekt uživatele Joea v atributu Sestavy objektu uživatele Billa.
Dvojice zpětného propojení nebo odkazu je identifikována hodnotami linkID dvou atributůSchema. ID propojení přeposílání je sudá, nenulová hodnota a linkID přidruženého zpětného odkazu je linkID vpřed plus jedna. Například id linkID pro "Manager" je 42 a id odkazu pro "Reports" je 43.
Následuje seznam pokynů pro definování nové dvojice propojených atributů:
- Hodnoty linkID musí být jedinečné mezi všemi atributySchema objekty. Abyste se vyhnuli konfliktům, měli byste automaticky vygenerovat id odkazu podle pokynů v tématu Získání ID odkazu.
- Zpětný odkaz musí obsahovat odpovídající dopředný odkaz, tj. musí existovat před vytvořením odpovídajícího atributu zpětného propojení.
- Zpětný odkaz je vždy atribut s více hodnotami. Přeposlání odkazu může být jednohodnotové nebo vícehodnotové. Pokud existuje relace M:N, použijte odkaz s více hodnotami vpřed.
- Hodnota atributu Schema forward link musí být 2.5.5.1, 2.5.5.7 nebo 2.5.5.14. Tyto hodnoty odpovídají syntaxi, které obsahují rozlišující název, například syntaxi Object(DS-DN).
- Hodnota atributu Schema zpětného odkazu musí být 2.5.5.1, což je syntaxe Object(DS-DN).
- Podle konvence se atributy zpětného propojení přidají do mayContain hodnotu nejvyšší abstraktní třídy. To umožňuje čtení atributu zpětného propojení z objektů libovolné třídy, protože nejsou ve skutečnosti uloženy s objektem, ale jsou vypočítány na základě hodnot přeposlaných propojení.