Documentation

No results
    gitHub

    PowerDesigner

    SAP PowerDesigner has been around for several decades and used to be a quite popular data modeling.  Many companies have recognized the large breadth of targets supported by Hackolade Studio and its modernization of the data modeling processes and techniques.  

     

    Hackolade Studio facilitates the migration of PowerDesigner models by letting you read directly PowerDesigner files instead of the more cumbersome previous method which required to first export into an XSD format before importing into Hackolade Studio.

     

    PowerDesigner logical data models stored in .ldm files

    Depending on the language used with PowerDesigner, the file extension could also be .ldb, .mld, mlb, etc.  The extension is not really important as long as the content is a PowerDesigner-generated XML file including

    - tags starting with "o:" refer to an "object"

    - tags starting with "a:" refer to an attribute/properties of the object "o:"

    - tags starting with "c:" refer to a list of "objects" linked to the object "o:"

     

    It is natural to reverse-engineer or import a PowerDesigner logical model into a Hackolade Studio polyglot model, Hackolade Studio's equivalent of traditional logical models, only more flexible and powerful. 

     

    Inside PowerDesigner files, the different objects are mapped to equivalent objects in a Hackolade Studio models, mainly: 

    - entities; 

    - attributes and their data types (with length, precision, and scale where applicable), business and technical names, comments and descriptions; 

    - constraints: required or not null, unique keys, (composite) primary keys, foreign key relationships and their cardinality;

    - views.

     

    Some transformations occur, and extraneous information is ignored.  We also import: 

    - ArchitectureAreas, and map them to containers, 

    - Inheritance, and map them to our supertypes and subtypes; 

    - LogicalDiagrams, and map them to our Diagram Views;  

    - and most importantly we also import ExtendedAttributes, and map them to our custom properties.

     

    To import a PowerDesigner logical model from the GUI application, you must first create a Polyglot data model.  Ideally the polyglot model should be empty.  But it does not have to be if, for example, you are merging 2 or more PowerDesigner files into a single Hackolade Studio model.

     

    Then go to Tools > Reverse-Engineer > PowerDesigner, and select the PowserDesigner file you wish to import:

    Reverse-engineer or Import PowerDesigner model

     

    PowerDesigner physical data models stored in .pdm files (TBD)

    Depending on the language used with PowerDesigner, the file extension could also be .pdb, .mpd, mpb, etc.  The extension is not really important as long as the content is a PowerDesigner-generated XML file including

    - tags starting with "o:" refer to an "object"

    - tags starting with "a:" refer to an attribute/properties of the object "o:"

    - tags starting with "c:" refer to a list of "objects" linked to the object "o:"

     

    PowerDesigner physical models typically should be imported in into a Hackolade Studio of the corresponding target.  However, Hackolade Studio is also able to convert to another target while converting data types, on a best effort basis, provided that the targets are fairly compatible.

     

    Inside PowerDesigner files, the different objects are mapped to equivalent objects in a Hackolade Studio modesls, mainly: 

    - containers (corresponding to the concept of the target: databases, schemas, namespaces, buckets, keyspace, etc...);

    - entities (tables, collections, etc...); 

    - attributes (columns of fields) and their data types (with length, precision, and scale where applicable), business and technical names, comments and descriptions; 

    - constraints: required or not null, unique keys, (composite) primary keys, foreign key relationships and their cardinality;

    - views.

     

    Some transformations occur, and extraneous information is ignored.  We also import: 

    - ArchitectureAreas, and map them to containers, 

    - Inheritance, and map them to our supertypes and subtypes; 

    - LogicalDiagrams, and map them to our Diagram Views;  

    - and most importantly we also import ExtendedAttributes, and map them to our custom properties.

     

    To import a PowerDesigner logical model from the GUI application, you must first create a data model for the target of your choice.  Ideally the target model should be empty.  But it does not have to be if, for example, you are merging 2 or more PowerDesigner files into a single Hackolade Studio model.

     

    Then go to Tools > Reverse-Engineer > PowerDesigner, and select the PowserDesigner file you wish to import:

    Reverse-engineer or Import PowerDesigner model

     

     

     

     

    Bulk import (TBD)

    Using the Command-Line Interface, it is easy to orchestrate a batch import of selected PowerDesigner files into Hackolade Studio models, using the command revEngDiagram with its required and options arguments.