Ein Domänenmodell besteht aus einer Sammlung von Domänendatentypen. Ein Domänendatentyp stellt einen abstrakten Datentyp dar, der durch das Hinzufügen von Integritätsbedingungen eingeschränkt werden kann. Domänendatentypen basieren auf Basisdatentypen. Sie können z. B. Domänendatentypen für gängige Definitionen wie Versicherungsnummer, Geschlecht, Größe oder Familienstand definieren.
Definitionen von Integritätsbedingungen folgen den Definitionen von XML-Schema-Integritätsbedingungen. Sie können z. B. mit einer Aufzählungsintegritätsbedingung die Anzahl gültiger Werte begrenzen. So kann es z. B. für eine Domäne namens "Priorität" drei gültige Werte geben: "hoch", "mittel" oder "niedrig". Mit einer Musterintegritätsbedingung können Sie eine Integritätsbedingung in einem regulären Ausdruck angeben, z. B. "ABC*". In diesem Produkt werden Integritätsbedingungen nur zu Dokumentationszwecken verwendet. Während der Umsetzung von einem logischen in ein physisches Datenmodell werden keine zusätzlichen Konstrukte für Integritätsbedingungen generiert.
Domänenmodellobjekte können in einer Domänenmodelldatei (*.ddm) oder in einer Datei für ein logisches Datenmodell (*.ldm) gespeichert werden. Sie können ein Domänenmodell erstellen und dieses über mehrere Projekte und Benutzer gemeinsam nutzen, um eine größtmöglichen Effizienz zu erreichen. Domänenmodellobjekte sind stets in einem Paketobjekt enthalten. Es gibt immer ein Stammpaket, Sie können unter dem Stammpaket jedoch weitere Pakete hinzufügen, um ähnliche Domänenobjekte zusammen zu gruppieren.
Mit der Workbench können Sie ein Domänenmodell aus einer Schablone erstellen, oder Sie können einfache Typen als Domänentypen aus einer XML-Schemadefinitionsdatei (.xsd) in ein Domänenmodell importieren. Sie können auch ein Domänenmodell in eine .xsd-Datei exportieren. Ein Domänenmodell kann einem logischen Modell zugeordnet werden, damit jede Domäne im Modell als ein Attributdatentyp verwendet werden kann.