Working with the Data Dictionary
Go Up to Using ER/Studio Data Architect
Using the Data Dictionary you can enforce standards, promote reuse, and build a common framework across all models.
A well-defined Data Dictionary prevents the constant reinventing of the wheel and gives you everything that is needed right at your fingertips. Domains used in conjunction with Reference Values, Defaults, and Rules let you build a common list of data elements that you can use in any logical or physical model. You can use the attachment system to add additional metadata to any object in a logical or physical model. Every object editor includes an Attachment Bindings tab where you can add attachments.
Once you define objects in the Data Dictionary, you can use them in either the logical or physical models. You can define domains to create "template" or reusable attributes and columns. For example a domain, Timestamp, can be created for attributes or columns tracking a modify date. Now any LastModifyDate attribute or column can be bound to the Timestamp domain so that they can all be managed through that single domain. Reference values, defaults and rules can be implemented directly on attributes and columns, or used to further define the definition of a domain. Using the previous example, a common default for LastModifyDate is the current system date. So a default can be created in the Data Dictionary called CurrentSystemDate with a different definition depending on the target DBMS. If this default is then bound to the Timestamp domain under the default tab, every attribute or column that is bound to the domain will now get a default of the current system date.
You can use Data Dictionaries across many *.dm1 files. If the Repository is in use, the Enterprise Data Dictionary system can be used to implement one dictionary across disparate models. Changes to an object in an Enterprise Data Dictionary will be reflected in any model where that object is used. If the Repository is not in use, use the Import Data Dictionary command (see Importing a Data Dictionary) to import dictionary objects from another *.dm1 file. An important note to remember when using the latter implementation is that changes to one dictionary will not affect the source dictionary.
Macros can also be used to import and export domain definitions and reference values from Excel if they need to be imported from other sources such as an external metadata repository. For more information on Macros, go to the Macro tab of the Data Model Explorer to view documentation and sample macros.
- You can find a good example of a well structured Data Dictionary in the Northwind data model that ships with ER/Studio Data Architect.
- If you are using the ER/Studio Repository, you can create an Enterprise Data Dictionary, which you can use in multiple diagrams. For more information see, Working with Data Dictionaries in the Repository.
The following reusable dictionary objects are stored in object-specific nodes on the Data Model Explorer Data Dictionary tab:
- Attachments: Associate database objects with datatypes such as a text note or a pointer to an external file. For more information, see Attaching External Documents to the Data Model.
- Data Security Information: Enforce Enterprise Data Security standards and custom levels. For more information, see Enforcing Security Using Data Security Types and Properties.
- Defaults: Make database population more efficient by using default values. For more information, see Enhancing Data Integrity Using Defaults.
- Rules: Enforce data integrity by disallowing transactions that violate the rules. For more information, see Promoting Data Integrity Through Rules.
- Reference Values: Lets you create and manage reference values. For more information, see Defining Valid Attribute Data Using Reference Values.
- Naming Standards Templates: Enforces naming standards. For more information, see Enforcing Naming Standards Using Naming Standards Templates.
- User Datatypes: Customized datatypes allow for greater flexibility. For more information, see Ensuring Consistent Domain Definitions Using User Datatypes.
- Domains: Reusable attributes and columns that make model creation more efficient. Quickly create a model by populating entities and tables with attributes and columns defined in domains. For more information, see Reusing Attribute Definitions Using Domains.
- Reusable Procedural Logic: Reusable triggers, reusable procedures, and libraries. For more information, see Reusing Procedural Logic.