Implementing an Enterprise Data Dictionary Standard – Part I
What is an Enterprise Data Dictionary
A data dictionary is a collection of descriptions of the data objects or items in an enterprise for the benefit of the consumers of the data models. This collection of descriptions of the data can be organised into a book for reference purposes, this book is more commonly known as an Enterprise Data Dictionary. When developing programs that use a data model, an Enterprise Data Dictionary can be consulted to understand where a data item fits in the enterprise context, what values it may contain, and, in essence, what the data item means in real-world terms.
Benefits of an Enterprise Data Dictionary
- Improved data quality: Labeling information consistently, with agreed-upon definitions for data elements and a common set of properties for each data element, makes systems and data analysis easier.
- Easy access to trusted data: Business owners and developers access to validated data including approved definitions and properties in one central location.
- Improved documentation and control: Managing and maintaining all data elements through the Enterprise Data Dictionary ensure consistency and completeness of the data element description.
- Reduced data redundancy: Describing data elements and the use of a defined set of properties for each data element reduce or eliminate the creation of redundant data elements. The Enterprise Data Dictionary also allows controlling the addition of new data elements and thereby avoiding duplicates.
- Reuse of data: Creating the Enterprise Data Dictionary promotes reuse of data and sharing of information across the whole enterprise and the community of interest.
- Consistency in data use: Implementing a consistent labeling and agreed-upon definition for data elements across applications as well as a defined set of data standards such as naming conventions leads to consistency in data use.
- Easier data analysis: Business owners and users might use the Enterprise Data Dictionary as a vehicle for robust query and report generation.
- Simpler programming: Using a common set of properties for each data element and consistent labeling of data elements ensure that business and programmer analysts can easily identify relevant data to support implementation of business requirements.
- Enforcement of standards: Implementing the Enterprise Data Dictionary with its structure and required data properties establishes an agreed-upon standard that allows for monitoring, controlling, and enforcement of adherence to the standard.
- Better means of estimating the effect of change: The Enterprise Data Dictionary will help to identify impact of changes made in the dictionary and its relevant applications and vice-versa.
How to Maximise erwin Data Modeler R7.3 to Establish an Enterprise Data Dictionary
You firstly need to create a new erwin model (Logical / Physical), the chosen database platform is irrelevant at this stage, to keep ease of use, I normally use “ODBC/ generic”. Should you have a standard platform in your organisation you can make use of that platform as your physical platform. The main reason for the requirement of a physical portion of the model is to handle the transformation between the logical and physical of the abbreviations.
You then need to open the Domain Dictionary screen, as in Figure 1 and Figure 2. Once in the Domain Dictionary screen you can then create your new domains (data dictionary standards) using the new button.
It is important to make effective use of the Domain Parents e.g. a ‘code’ domain type that has a data type of varchar 20 under the domain parent of string.
This is important in the future should you want to change a data type from one to another of similar type (i.e. text to character).
Once back on the Domain Dictionary screen you can then edit your domain (data dictionary standard). By editing the “Name Inherited by Attribute” you can change the name that will be given to the attribute, e.g. If you want the attribute to be lower case and prefixed by the entity name, use the following: %Lower(%OwnerEntity %AttDomain). In this article we will not be covering the erwin macro language, but this is just an insight into this macro language that is at your disposal in erwin.
You can then carry on with the Data Types, Constraints & Definitions, important to note that there are two definitions, one for the domain itself and another that is inherited by the attribute.
Once you have captured all your domains (standards), then save and close the file. Note that this file will not contain any entities or attributes, only the domains (Data Dictionary standards).
Open the file (or create new) for the data model that you want to use the domains in (this can be a logical / physical model or logical only or physical only)
Then you need to import your Enterprise Data Dictionary that you just created, to do this use the “Add Model Source” functionality, as shown in Figure 3.
On the next screen “Load” the Enterprise Data Dictionary, as in Figure 4.
Then press “Add” and close the Enterprise Data Dictionary when prompted. You will now have the imported domains in your model.
From here you can then drag the domains into your entities as you require, all the standards that you set will be inherited by the entity.
You can also note that the data types etc. have also been inherited by your new attribute. (P.S. The * next to the field name indicates that this field has been inherited (e.g. Datatype:*)
Also note that the inherited properties can still be overridden, should this be needed.
Next issue of erwinTimes will cover the same process, but for erwin Data Modeler R8.0