What Are Domains?

DeZign for Databases supports usage of domains. Domains are reusable user-defined types or "attribute templates" that promote consistent domain definitions. You construct domains as you would attributes, specifying a name, datatype properties, default values and validation rules. Afterwards, you can reuse them in your data model by applying them to attributes and table columns. By defining a domain, you also gain the power of propagating changes to the underlying domain definition to all attributes and table columns that reference it. Please note that you can also use domains if your target database does not support them. DeZign for Databases will correctly convert them to valid script language when generating the script for your model.

When you add an attribute to an entity, you want to define it in a way that will let it easily capture all the required information. It is here that the power of domains comes to your help. When you associate an attribute with a domain, the attribute's properties like data type, length etc. will be overruled by the domain properties.

See also: Benefits of using domains, My database does not support domains. Can I still use them?