Example: Building a Data Dictionary in a CDM

PowerDesigner supports the definition and maintenance of an enterprise data dictionary in a CDM. A data dictionary defines the data items, entities and attributes of the enterprise, and by managing it in a CDM and linking it (through generation or through the mapping editor) with your data and other models, you can ensure consistency of use and benefit from sophisticated impact analysis and "where used" reporting.

Data dictionaries ensure consistency of use by providing a single authoritative definition for all common data elements used across the enterprise. They are used to standardize data content, context, and definitions and to achieve consistency and reusability while increasing the quality of the data used throughout the organization. By clearly defining and delineating the objects that comprise the enterprise and its systems, they enable:
  • easier integration and communication between systems
  • more standardized messaging between applications
  • higher quality business intelligence and analytics
  • better understanding between all subject matter experts
  • more agile response to change and more complete impact analysis
A data dictionary defined in a PowerDesigner CDM provides:
  • a unique list of entities and data items
  • data items as descriptions of data artifacts
  • entities connected to data items through attributes
  • entity-to-entity relationships
  • traceability from the data dictionary to logical and physical data models and other models
  • impact analysis and “where used” reporting capabilities
  1. Select File > New to open the New Model dialog, select to create a new CDM and give it an appropriate name, for example, Enterprise Data Dictionary.
    Data Dictionary New Model
  2. Select Model > Data Items to open the List of Data Items and enter some concepts that you want to define. Each data item is an elementary piece of information, which represents a fact or a definition defined using business terms.
    Data Dictionary Data Items
    Some examples of data items are Customer Name, Order Description, and Zip Code. Data items exist independently of any containing entity, which is important in a data dictionary as you are seeking to define atomic business data and terms, independent of how they may ultimately be used by entities. For more information about defining data items, see Data Items (CDM).
  3. Select Model > Entities to open the List of Entities and enter some of the entities that you want to define. Entities represent more complex business structures composed of one or more attributes (which are associated with data items).

    Some examples of entities are Customer, Product, Order. When you create entities, a symbol for each one will be created in the CDM diagram. While such a graphical representation is not strictly necessary for the purposes of creating a data dictionary, you may find this diagram useful to help you visualize the content and structure of business concepts.
    Data Dictionary Entities
    For more information about defining entities, see Entities (CDM/LDM).

  4. Double-click an entity in the Browser or diagram to open its property sheet, and click the Attributes tab. Entity attributes provide the link between an entity and a data item:
    Data Dictionary Entity Attributes

    Create a new attribute by reusing an existing data item by clicking the Reuse Data Item tool and selecting the data item that you want to reuse. By default, PowerDesigner allows you to reuse a data item for more than one entity attribute so that, for example, you can define a Zip Code data item once, and reuse it in whatever entities contain addresses. If you then update the data item, your changes will simultaneously cascade down to all the entity attributes that use it. This is a great way to enforce consistency throughout the data dictionary model.

    You can also create data items in this list by clicking the Insert a Row or Add a Row tool to add a new line in the list and entering an appropriate name. PowerDesigner will create the attribute and an associated data item. You can also create a new attribute by creating a copy of an existing data item. Click the Add Data Item tool and select the data item that you want to copy. Any changes made through this attribute or directly to this copy of the data item will only affect this attribute and no others.

  5. Double-click one of your entity symbols (or its Browser entry) to open its property sheet so that you can provide a precise definition for it. The Comment field on the General tab is intended for a simple, short description in unformatted text, while the Description field on the Notes tab allows for fully formatted text, and is intended to contain the complete, detailed definition from the business:
    Data Dictionary Entity Description
  6. [optional] Select the Relationship tool in the pallet and create relationships between the entities in your data dictionary. Click and hold in one entity, then drag the cursor to a second entity and release the mouse button. Draw other relationships as necessary and then right-click anywhere in the diagram to drop the tool. Double-click a relationship line to open its property sheet and specify properties such as role name and cardinality.
    Data Dictionary Relationships
    For detailed information about defining relationships, see Relationships (CDM/LDM).
  7. The purpose of a data dictionary is to map the concepts that it defines to the concepts, logical entities, and physical tables that make up the implementation of these ideas in the enterprise. PowerDesigner provides two complementary methods for connecting the data dictionary with your other models:
    • Generation - If you have no existing PDM, you can generate a new model from your data dictionary. Click Tools > Generate Physical Data Model to open the Generate dialog, select the Generate new... option, and specify a name for the model to generate. Click the Selection tab and select the concepts you want to generate to the new model, and then click OK.
      Data Dictionary Generation Selection
      You can review the links created between the data dictionary and your other models in the Generation Links Viewer (select Tools > Generation Links > Derived Models).

      You can regenerate whenever necessary to propagate updates or additions in the data dictionary to your other models. The Merge Models dialog (see Core Features Guide > The PowerDesigner Interface > Comparing and Merging Models) will appear, which lets you review and approve (or reject) the changes that will be propagated from the data dictionary to the model.
      Data Dictionary Merge
      For detailed information about generating models, see Generating Other Models from a Data Model.

    • Mapping Editor - If you have an existing PDM or other model it may be more appropriate to map your data dictionary concepts to your PDM objects using the Mapping Editor, which provides a finer degree of control and a simple drag and drop interface.

      Open the model containing the objects you want to link with your data dictionary and select Tools > Mapping Editor. In the Data Source Creation Wizard, enter Data Dictionary in the Data Source field, select Conceptual Model in the Model type list, and click Next. Select your data dictionary CDM and click Next. Select the Create default mapping option to instruct PowerDesigner to auto-create mappings where possible based on shared names, and click Finish to open your model and the data dictionary in the Mapping Editor:
      Data Dictionary Mappings
      You can create additional mappings as necessary by dragging and dropping entities and attributes from the data dictionary onto objects in the target model. Note that mappings created in this way will not automatically propagate changes.

      For detailed information about using the Mapping Editor, see Core Features Guide > Linking and Synchronizing Models > Object Mappings.

  8. Once the data dictionary is established and linked to the other models used in the enterprise to define the information architecture, you will need to manage changes to it. New concepts will be added and existing elements updated due to refinements in understanding the business or changes to business operations. Some elements may also be removed (though this will probably be rare). Maintaining your data dictionary in a PowerDesigner CDM enables you to leverage sophisticated impact analysis tools to help you understand the time, cost and risk associated with proposed changes.

    To launch an impact analysis, select one or more objects in a diagram or the Browser and select Tools > Impact and Lineage Analysis:
    Data Dictionary Impact Analysis
    You can edit the rule sets used to control the analysis and manually adjust the tree view by right-clicking items. Once the analysis view contains the level of detail you want, click the Generate Diagram button to create an impact analysis diagram. This diagram, which can be saved and compared to other impact analysis snapshots, shows the connections that link your dictionary concepts through intermediate objects and models to the physical objects that implement them, providing a graphical "where used" report:
    Data Dictionary Impact Diagram
    The diagram helps you plan the implementation of a change, as everything defined in the diagram will require further assessment to ensure the change does not invalidate any specific work we have done at the implementation level.

    For detailed information about working with impact analysis, see Core Features Guide > Linking and Synchronizing Models > Impact and Lineage Analysis.

  9. Share your data dictionary with your modeling team and ensure that the latest version is always available to them, by checking it into your PowerDesigner repository library as a reference model (see Core Features Guide > Administering PowerDesigner > Deploying an Enterprise Glossary and Library).
  10. Share your data dictionary with other members of your organization through the PowerDesigner Portal (see Core Features Guide > The PowerDesigner Interface > The PowerDesigner Portal) or by publishing it to HTML or RTF (see Core Features Guide > The PowerDesigner Interface > Reports).