SlideShare a Scribd company logo
1 of 34
Download to read offline
George McGeachie, Dusseldorf 2018
What makes PowerDesigner
different?
My favourite features
George McGeachie
• Co-author of “Data Modeling Made Simple with
PowerDesigner”, PowerDesigner trainer, and data
modelling tool junkie.
If you’re expect a training class, sorry
This session was originally booked for a
full day, and I was going to teach you
how to create a chain of models
(Conceptual-Logical-Physical) in SAP
PowerDesigner, demonstrate how to
use the editing tools effectively, how to
prettify and organise diagrams, and how
to generate and manage models.
I was also going to show you some of
my customisations, such as the model
transformation that makes sure your
PDM tables all have the correct audit
columns.
After the schedule was revised, my time
allowance is 90 minutes, so I’m going to
demonstrate the PowerDesigner
features that differentiate the tool from
the other players in the market. In other
words, my favourite features, live.
(including model transformations)
Challenge me with a feature of your
favourite data modelling tool that you
just can't live without, and I will show
you how to handle it in PowerDesigner.
Are you
• evaluating data modelling tools?
• using SAP PowerDesigner, but never had any training?
• an experienced data architect or modeller, new to SAP PowerDesigner?
• working for a tool vendor, and came here to check the opposition?
Are you going to challenge me?
Does your favourite data modelling tool have a feature that you just can't live without, and you want to know
how PowerDesigner handles it?
Are you ready with
that challenge?
• Does your favourite data modelling tool have a
feature that you just can't live without, and you
want to know how PowerDesigner handles it?
Let’s start
What if you draw that relationship in
the wrong direction, or between the
wrong entities?You don't need to
delete it, just edit it Relationship_1
Loyalty Account Role Type
Loyalty Account Role Type Code
Name
Description
<pi>
Loyalty Account Role
Loyalty Account Role Type Code <pi,fi>
Relationship_1
Loyalty Account Role Type
Loyalty Account Role Type Code
Name
Description
<pi>
Loyalty Account Role
What I should
have drawn
I actually drew
this
Drag the
symbol handles
Fix it using relationship
properties
What if you draw that relationship in the wrong direction, or
between the wrong entities?You don't need to delete it, just edit it
Change from “One –
Many” to “Many – One”
Beware – original
optionality is maintained
Beware – “Entity 1” and
“Entity 2” don’t fit the
usual pattern
Tidy up that diagram - have
more than one symbol on the
diagram for that busy entity
Generalization_1
CustomerAccountContact
CustomerAccountRelationship
Customer
CustomerAccountTaxExemption
CustomerAccount
PaymentPlan
(<SID CDM>)
InvolvementRole
(<SID CDM>)
FinancialCharge
(<SID CDM>)
DunningScenario
(<SID CDM>)
DunningCase
(<SID CDM>)
ContactMedium
(<SID CDM>)
CustomerPayment
(<SID CDM>)
PartyRole
(<SID CDM>)
CustomerQuote
(<SID CDM>)
CustCreditProfileReference
CustomerCreditProfile
Generalization_1
CustomerAccountContact
CustomerAccountRelationship
Customer
CustomerAccountTaxExemption
CustomerAccount : 1
PaymentPlan
(<SID CDM>)
InvolvementRole
(<SID CDM>)
FinancialCharge
(<SID CDM>)
DunningScenario
(<SID CDM>)
DunningCase
(<SID CDM>)
ContactMedium
(<SID CDM>)
CustomerPayment
(<SID CDM>)
PartyRole
(<SID CDM>)
CustomerQuote
(<SID CDM>)
CustCreditProfileReference
CustomerCreditProfile
CustomerAccount : 2
From this
To this
When you connect two objects together, the link is visible from both
ends (even if they're from two different models, or different types of
model)
LDM Entity
PDM Table
When you connect two objects together, the link is visible from both
ends (even if they're from two different models, or different types of
model)
Requirement
LDM Entity
Attribute
When you connect two objects together, the link is visible from both
ends (even if they're from two different models, or different types of
model)
Table Key
Column
Multiple editing
windows -
individual
objects and lists
of objects, from
multiple models
Copy and paste from a list of Objects straight into Excel, complete
with headers
Import anything from Excel without writing any code
Mapping
information for
each sheet
Link anything to anything if you have a need to - usingTraceability
Links
<<Possible Relationship>>
Loyalty Account
Loyalty Account Identifier
Account Holder Full Name
<pi> Characters (16)
Characters (60)
<M>
<M>
Party
Party Identifier
Name
Address, Phone Number, etc.
Characters (16)
Characters (60)
<Undefined>
<M>
<M>
Visible from both
ends
Visible from both
ends
Link anything to anything if you have a need to - usingTraceability
Links
Can define useful
link types in a
model extension
<<Possible Relationship>>
Link anything to anything if you have a need to - usingTraceability
Links
Useful for Views
and Stored
procedures
<<DBCreateAfter>>
PARTY_IDENTIFIER = PARTY_
IDENTIFIER
LOYALTY_ACCOUNT_ROLE_TYPE_CODE =
LOYALTY_ACCOUNT_ROLE_TYPE_CODE
LOYALTY_ACCOUNT_ROLE_TYPE
LOYALTY_ACCOUNT_ROLE_TYPE_CODE
NAME
DESCRIPTION
numeric(2)
char(20)
char(60)
<pk> not null
not null
not null
LOYALTY_SCHEME_MEMBER
MEMBERSHIP_NUMBER
LOYALTY_ACCOUNT_ROLE_TYPE_CODE
PARTY_IDENTIFIER
NICKNAME
char(16)
numeric(2)
char(16)
char(20)
<pk>
<fk2>
<fk1>
not null
null
null
not null
MEMBER_ROLE
MEMBERSHIP_NUMBER
LOYALTY_ACCOUNT_ROLE_TYPE_CODE
NAME
DESCRIPTION
NICKNAME
LOYALTY_SCHEME_MEMBER
LOYALTY_ACCOUNT_ROLE_TYPE
PARTY
PARTY_IDENTIFIER
NAME
ADDRESS__PHONE_NUMBER___ETC_
char(16)
char(60)
<Undefined>
<pk> not null
not null
null
PARTY_MEMBER
MEMBERSHIP_NUMBER
LOYALTY_ACCOUNT_ROLE_TYPE_CODE
NICKNAME
LOYALTY_SCHEME_MEMBER
Dependency matrices - show (and edit) links between objects - a
great way to link attributes to domains
Attributes
Domains
Edit using
spacebar
Create a model within a model - useful for Subject Area models
<<Subject Area>>
Customer
<<Subject Area>>
Cost Centre
<<Subject Area>>
Product
<<Subject Area>>
Supplier
<<Subject Area>>
Account
Create a
model within
a model – 4
models in
one file
Logical Data Model
Model: 4 models in one
Package:
Diagram: 4 models in one
Author: George McGeachie Date: 19/09/2018
Version:
"Type" entities might not be part of your
modelling standards - you could just have
the "Type" attributes, w ith a managed list
of allow ed values.
Thing Status Type
Thing Status Type
Description
<pi>
Thing
Thing ID
Thing Status Type
<pi>
<fi>
1. Simple Status
Some "States" are likely to
have their own attributes and/or
relationships. In some cases
an attribute may be optional in
one state, but mandatory in
another.
Thing State
Thing State
Thing ID
Thing State Effective Date Time
Thing Status Type
<pi,fi1>
<pi>
<fi2>
Thing Status Type
Thing Status Type
Description
<pi>
Thing
Thing ID <pi>
Active ThingNew Thing Obsolete Thing
Suspended
Thing
2. State Entity
You could link the Event
Types to the Status Types
they can set - thus storing
some of your business rules
as data.
set
be set by
Thing Event
Thing State
Thing ID
Thing State Effective Date Time
Thing Status Type
<pi,fi1>
<pi>
<fi2>
Thing
Thing ID <pi>
Thing Status Type
Thing Status Type
Description
<pi>
Thing Event
Thing ID
Thing Event Effective Date Time
Thing Event Type
<pi,fi1>
<pi>
<fi2>
Thing Event Type
Thing Event Type
Description
<pi>
Thing
Introductio
n
Thing
Acceptance
Thing
Suspension
Thing
Cancellation
3. State-Changing Events
You could link the Event
Types to the appropriate
Reason Types - thus
storing some of your
business rules as data.
set
be set by
Thing Event Reason Type
Thing Event Reason Type
Description
<pi>
Thing State
Thing ID
Thing State Effective Date Time
Thing Status Type
<pi,fi1>
<pi>
<fi2>
Thing
Thing ID <pi>
Thing Status Type
Thing Status Type
Description
<pi>
Thing Event
Thing ID
Thing Event Effective Date Time
Thing Event Type
Thing Event Reason Type
<pi,fi1>
<pi>
<fi2>
<fi3>
Thing Event Type
Thing Event Type
Description
<pi>
4. State-Changing Events with
Reasons
Add new properties, and new types of object, and links between them
- how about Data Quality metadata for database columns?
Add new properties, and new types of object, and links
between them - how about adding Data Stewards, and linking
them to the entities they're responsible for?
New object type –
Working Note
New object type –
Steward - has a list
of entities they’re
responsible for
How about generating that LDM as JSON structures for your fancy
governance tool to ingest?
This simple code
produces the JSON
This simple code
produces the JSON
Tools | Extended Generation →
How about exporting that LDM to CSV?
This simple code
produces the JSON
This simple code
produces the CSV
You usually don’t need to upgrade PowerDesigner to improve the
DBMS support
You usually don’t need to upgrade
PowerDesigner to improve the DBMS
support, you usually just need a new DBMS
definition file. For example, when Karen
Lopez (@datachick) questioned the
support for Sequences in SQL Server 2012,
SAP were able to fix the issue really quickly,
and Karen was able to use the upgraded
support immediately.
Caveat – sometimes (such as adding
features for SAP HANA) the underlying
PDM ‘engine’ is changed, so not all new
PDM features can be applied to old
versions of PowerDesigner
Tailor how PowerDesigner generates DDL, and even invent your own
DBMS and funky new DDL syntax
In the Database Definition file,
you have control over how the
DDL is constructed. Here’s the
code to create a Table in SAP SQL
Anywhere 16
When you generate one model from another (e.g. generating a LDM
from a LDM) you can change what happens using model transformations
Amend the
current
model
BEFORE you
generate the
new one
Amend the
newly-
generated or
updated model
BEFORE you
see it
e.g. remove
“logical-only” or
unapproved
objects
e.g. add audit
columns or surrogate
keys, change column
sequence
When you generate one model from another (e.g. generating a LDM
from a LDM) you can change what happens using model transformations
Relationship_2
Loyalty Account Role Type
Loyalty Account Role Type Code
Name
Description
NO
Yet again NO
<pi>
Loyalty Account Role
Parent Entity
Child Entity
In this LDM, one entity and two
attributes are “logical only”
I generated a new LDM from that
model, without those objects
Loyalty Account Role Type
Loyalty Account Role Type Code
Name
Description
<pi>
Loyalty Account Role
Parent Entity
Model
extension
Choose
while
generating
model
Run theTransformation from theTools menu
This transformation adds audit columns to all PDM tables
Add a Method to a menu instead (or as well)
This took 7 seconds to
add 7 columns to all 205
tables in “SQL Anywhere
Demo DB” PDM
Who needsVisio? Use a 'Free Model' to invent your own model
Some more I could have mentioned
• Dedicated PDM Facts & Dimensions
• Data Movement Models
• Requirements Models
• XML Models
• Projects
• Frameworks (Zachmann,TOGAF etc.)
• Enterprise Architecture Models
• Impact Analysis Models
• Atomic Data Items in the Conceptual
Data Model
• Save selected symbols as image files
• Can access objects from search results
• List Reports
• Business Rules in every model
• Barker Notation
• Shortcuts andTarget Models
• Object Replication
• Custom object generation
• User profiles
• User Interface customisation
• Metamodel Objects Help
• Model Backup Files
• SAP Integration
• Customisable XML Import
• Find in Diagram / Browser
• Telephone: +1 978 451 0165 / +44 208 123 8756
• UK mobile: +44 (0) 794 293 0648
• Skype: gmcgeachie
• Twitter: metadatajunkie
• George.McGeachie @ MetadataMatters.com
• http://metadatajunkie.wordpress.com/
Thanks for watching

More Related Content

What's hot

Agile process (Scrum Framework)
Agile process (Scrum Framework)Agile process (Scrum Framework)
Agile process (Scrum Framework)Jakir Hosen Khan
 
Software Requirements Specification Final
Software Requirements Specification FinalSoftware Requirements Specification Final
Software Requirements Specification Finaljangjong
 
Writing Effective User Stories
Writing Effective User StoriesWriting Effective User Stories
Writing Effective User StoriesJaneve George
 
Introduction to Performance Testing & Loadrunner
Introduction to Performance Testing & LoadrunnerIntroduction to Performance Testing & Loadrunner
Introduction to Performance Testing & LoadrunnerAisha Mazhar
 
Scrum Master Training at UM DI | 22nd and 23rd of Feb 2017
Scrum Master Training at UM DI | 22nd and 23rd of Feb 2017Scrum Master Training at UM DI | 22nd and 23rd of Feb 2017
Scrum Master Training at UM DI | 22nd and 23rd of Feb 2017Eduardo Ribeiro
 

What's hot (8)

Agile process (Scrum Framework)
Agile process (Scrum Framework)Agile process (Scrum Framework)
Agile process (Scrum Framework)
 
Scrum - Sprint Planning
Scrum - Sprint Planning Scrum - Sprint Planning
Scrum - Sprint Planning
 
Software Requirements Specification Final
Software Requirements Specification FinalSoftware Requirements Specification Final
Software Requirements Specification Final
 
Writing Effective User Stories
Writing Effective User StoriesWriting Effective User Stories
Writing Effective User Stories
 
Introduction to Performance Testing & Loadrunner
Introduction to Performance Testing & LoadrunnerIntroduction to Performance Testing & Loadrunner
Introduction to Performance Testing & Loadrunner
 
The Scrum Model
The Scrum ModelThe Scrum Model
The Scrum Model
 
Abhishek Resume QA
Abhishek Resume QAAbhishek Resume QA
Abhishek Resume QA
 
Scrum Master Training at UM DI | 22nd and 23rd of Feb 2017
Scrum Master Training at UM DI | 22nd and 23rd of Feb 2017Scrum Master Training at UM DI | 22nd and 23rd of Feb 2017
Scrum Master Training at UM DI | 22nd and 23rd of Feb 2017
 

Similar to George McGeachie's Favourite PowerDesigner features

Salesforce - Overview & Getting Started
Salesforce - Overview & Getting StartedSalesforce - Overview & Getting Started
Salesforce - Overview & Getting StartedKatia Bonella
 
Real World End to End machine Learning Pipeline
Real World End to End machine Learning PipelineReal World End to End machine Learning Pipeline
Real World End to End machine Learning PipelineSrivatsan Srinivasan
 
Open ERP Version 7 Functional & Technical Overview
Open ERP Version 7 Functional & Technical OverviewOpen ERP Version 7 Functional & Technical Overview
Open ERP Version 7 Functional & Technical OverviewPragmatic Techsoft
 
Socialize your ERP, and collaborate with him!
Socialize your ERP, and collaborate with him!Socialize your ERP, and collaborate with him!
Socialize your ERP, and collaborate with him!LetsConnect
 
Requirements analysis 2011
Requirements analysis 2011Requirements analysis 2011
Requirements analysis 2011bernddu
 
Itlc hanoi ba day 3 - thai son - data modelling
Itlc hanoi   ba day 3 - thai son - data modellingItlc hanoi   ba day 3 - thai son - data modelling
Itlc hanoi ba day 3 - thai son - data modellingVu Hung Nguyen
 
Microsoft Dynamics CRM - Customization and Configuration Training Online Cour...
Microsoft Dynamics CRM - Customization and Configuration Training Online Cour...Microsoft Dynamics CRM - Customization and Configuration Training Online Cour...
Microsoft Dynamics CRM - Customization and Configuration Training Online Cour...Little Logic
 
Tableau Resume Sample. Key Features of Our Tableau
Tableau Resume Sample. Key Features of Our TableauTableau Resume Sample. Key Features of Our Tableau
Tableau Resume Sample. Key Features of Our TableauAmy Bahnline
 
Analysis modeling in software engineering
Analysis modeling in software engineeringAnalysis modeling in software engineering
Analysis modeling in software engineeringMuhammadTalha436
 
Power BI Data Modeling.pdf
Power BI Data Modeling.pdfPower BI Data Modeling.pdf
Power BI Data Modeling.pdfVishnuGone
 
1-SDLC - Development Models – Waterfall, Rapid Application Development, Agile...
1-SDLC - Development Models – Waterfall, Rapid Application Development, Agile...1-SDLC - Development Models – Waterfall, Rapid Application Development, Agile...
1-SDLC - Development Models – Waterfall, Rapid Application Development, Agile...JOHNLEAK1
 
Mind Mapping for Project Management
Mind Mapping for Project ManagementMind Mapping for Project Management
Mind Mapping for Project ManagementDavid Esko
 
Project Management Using Mind Maps
Project Management Using Mind MapsProject Management Using Mind Maps
Project Management Using Mind MapsDavid Esko
 
Zend Framework And Doctrine
Zend Framework And DoctrineZend Framework And Doctrine
Zend Framework And Doctrineisaaczfoster
 
Sql server 2012 tutorials reporting services
Sql server 2012 tutorials   reporting servicesSql server 2012 tutorials   reporting services
Sql server 2012 tutorials reporting servicesSteve Xu
 

Similar to George McGeachie's Favourite PowerDesigner features (20)

Data Modelling..pptx
Data Modelling..pptxData Modelling..pptx
Data Modelling..pptx
 
Designingapplswithnet
DesigningapplswithnetDesigningapplswithnet
Designingapplswithnet
 
Salesforce - Overview & Getting Started
Salesforce - Overview & Getting StartedSalesforce - Overview & Getting Started
Salesforce - Overview & Getting Started
 
Real World End to End machine Learning Pipeline
Real World End to End machine Learning PipelineReal World End to End machine Learning Pipeline
Real World End to End machine Learning Pipeline
 
Open ERP Version 7 Functional & Technical Overview
Open ERP Version 7 Functional & Technical OverviewOpen ERP Version 7 Functional & Technical Overview
Open ERP Version 7 Functional & Technical Overview
 
Socialize your ERP, and collaborate with him!
Socialize your ERP, and collaborate with him!Socialize your ERP, and collaborate with him!
Socialize your ERP, and collaborate with him!
 
Requirements analysis 2011
Requirements analysis 2011Requirements analysis 2011
Requirements analysis 2011
 
Itlc hanoi ba day 3 - thai son - data modelling
Itlc hanoi   ba day 3 - thai son - data modellingItlc hanoi   ba day 3 - thai son - data modelling
Itlc hanoi ba day 3 - thai son - data modelling
 
Microsoft Dynamics CRM - Customization and Configuration Training Online Cour...
Microsoft Dynamics CRM - Customization and Configuration Training Online Cour...Microsoft Dynamics CRM - Customization and Configuration Training Online Cour...
Microsoft Dynamics CRM - Customization and Configuration Training Online Cour...
 
Thoughtful Software Design
Thoughtful Software DesignThoughtful Software Design
Thoughtful Software Design
 
Tableau Resume Sample. Key Features of Our Tableau
Tableau Resume Sample. Key Features of Our TableauTableau Resume Sample. Key Features of Our Tableau
Tableau Resume Sample. Key Features of Our Tableau
 
Analysis modeling in software engineering
Analysis modeling in software engineeringAnalysis modeling in software engineering
Analysis modeling in software engineering
 
Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
 
Power BI Data Modeling.pdf
Power BI Data Modeling.pdfPower BI Data Modeling.pdf
Power BI Data Modeling.pdf
 
Business Analyst
Business AnalystBusiness Analyst
Business Analyst
 
1-SDLC - Development Models – Waterfall, Rapid Application Development, Agile...
1-SDLC - Development Models – Waterfall, Rapid Application Development, Agile...1-SDLC - Development Models – Waterfall, Rapid Application Development, Agile...
1-SDLC - Development Models – Waterfall, Rapid Application Development, Agile...
 
Mind Mapping for Project Management
Mind Mapping for Project ManagementMind Mapping for Project Management
Mind Mapping for Project Management
 
Project Management Using Mind Maps
Project Management Using Mind MapsProject Management Using Mind Maps
Project Management Using Mind Maps
 
Zend Framework And Doctrine
Zend Framework And DoctrineZend Framework And Doctrine
Zend Framework And Doctrine
 
Sql server 2012 tutorials reporting services
Sql server 2012 tutorials   reporting servicesSql server 2012 tutorials   reporting services
Sql server 2012 tutorials reporting services
 

More from George McGeachie

SAP PowerDesigner Masterclass for the UK SAP Database & Technology User Group...
SAP PowerDesigner Masterclass for the UK SAP Database & Technology User Group...SAP PowerDesigner Masterclass for the UK SAP Database & Technology User Group...
SAP PowerDesigner Masterclass for the UK SAP Database & Technology User Group...George McGeachie
 
Data Modelling Zone 2019 - data modelling and JSON
Data Modelling Zone 2019 - data modelling and JSONData Modelling Zone 2019 - data modelling and JSON
Data Modelling Zone 2019 - data modelling and JSONGeorge McGeachie
 
Lightning talk at PG Conf UK 2018
Lightning talk at PG Conf UK 2018Lightning talk at PG Conf UK 2018
Lightning talk at PG Conf UK 2018George McGeachie
 
Lightning talk at UK PG Day, 2014 - Get Modelling!
Lightning talk at UK PG Day,  2014 - Get Modelling!Lightning talk at UK PG Day,  2014 - Get Modelling!
Lightning talk at UK PG Day, 2014 - Get Modelling!George McGeachie
 
What can power designer do for me
What can power designer do for meWhat can power designer do for me
What can power designer do for meGeorge McGeachie
 
Generating XML schemas from a Logical Data Model (EDW 2011)
Generating XML schemas from a Logical Data Model (EDW 2011)Generating XML schemas from a Logical Data Model (EDW 2011)
Generating XML schemas from a Logical Data Model (EDW 2011)George McGeachie
 

More from George McGeachie (6)

SAP PowerDesigner Masterclass for the UK SAP Database & Technology User Group...
SAP PowerDesigner Masterclass for the UK SAP Database & Technology User Group...SAP PowerDesigner Masterclass for the UK SAP Database & Technology User Group...
SAP PowerDesigner Masterclass for the UK SAP Database & Technology User Group...
 
Data Modelling Zone 2019 - data modelling and JSON
Data Modelling Zone 2019 - data modelling and JSONData Modelling Zone 2019 - data modelling and JSON
Data Modelling Zone 2019 - data modelling and JSON
 
Lightning talk at PG Conf UK 2018
Lightning talk at PG Conf UK 2018Lightning talk at PG Conf UK 2018
Lightning talk at PG Conf UK 2018
 
Lightning talk at UK PG Day, 2014 - Get Modelling!
Lightning talk at UK PG Day,  2014 - Get Modelling!Lightning talk at UK PG Day,  2014 - Get Modelling!
Lightning talk at UK PG Day, 2014 - Get Modelling!
 
What can power designer do for me
What can power designer do for meWhat can power designer do for me
What can power designer do for me
 
Generating XML schemas from a Logical Data Model (EDW 2011)
Generating XML schemas from a Logical Data Model (EDW 2011)Generating XML schemas from a Logical Data Model (EDW 2011)
Generating XML schemas from a Logical Data Model (EDW 2011)
 

Recently uploaded

Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 

Recently uploaded (20)

Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 

George McGeachie's Favourite PowerDesigner features

  • 1. George McGeachie, Dusseldorf 2018 What makes PowerDesigner different? My favourite features
  • 2. George McGeachie • Co-author of “Data Modeling Made Simple with PowerDesigner”, PowerDesigner trainer, and data modelling tool junkie.
  • 3. If you’re expect a training class, sorry This session was originally booked for a full day, and I was going to teach you how to create a chain of models (Conceptual-Logical-Physical) in SAP PowerDesigner, demonstrate how to use the editing tools effectively, how to prettify and organise diagrams, and how to generate and manage models. I was also going to show you some of my customisations, such as the model transformation that makes sure your PDM tables all have the correct audit columns. After the schedule was revised, my time allowance is 90 minutes, so I’m going to demonstrate the PowerDesigner features that differentiate the tool from the other players in the market. In other words, my favourite features, live. (including model transformations) Challenge me with a feature of your favourite data modelling tool that you just can't live without, and I will show you how to handle it in PowerDesigner.
  • 4. Are you • evaluating data modelling tools? • using SAP PowerDesigner, but never had any training? • an experienced data architect or modeller, new to SAP PowerDesigner? • working for a tool vendor, and came here to check the opposition? Are you going to challenge me? Does your favourite data modelling tool have a feature that you just can't live without, and you want to know how PowerDesigner handles it?
  • 5. Are you ready with that challenge? • Does your favourite data modelling tool have a feature that you just can't live without, and you want to know how PowerDesigner handles it?
  • 7. What if you draw that relationship in the wrong direction, or between the wrong entities?You don't need to delete it, just edit it Relationship_1 Loyalty Account Role Type Loyalty Account Role Type Code Name Description <pi> Loyalty Account Role Loyalty Account Role Type Code <pi,fi> Relationship_1 Loyalty Account Role Type Loyalty Account Role Type Code Name Description <pi> Loyalty Account Role What I should have drawn I actually drew this Drag the symbol handles Fix it using relationship properties
  • 8. What if you draw that relationship in the wrong direction, or between the wrong entities?You don't need to delete it, just edit it Change from “One – Many” to “Many – One” Beware – original optionality is maintained Beware – “Entity 1” and “Entity 2” don’t fit the usual pattern
  • 9. Tidy up that diagram - have more than one symbol on the diagram for that busy entity Generalization_1 CustomerAccountContact CustomerAccountRelationship Customer CustomerAccountTaxExemption CustomerAccount PaymentPlan (<SID CDM>) InvolvementRole (<SID CDM>) FinancialCharge (<SID CDM>) DunningScenario (<SID CDM>) DunningCase (<SID CDM>) ContactMedium (<SID CDM>) CustomerPayment (<SID CDM>) PartyRole (<SID CDM>) CustomerQuote (<SID CDM>) CustCreditProfileReference CustomerCreditProfile Generalization_1 CustomerAccountContact CustomerAccountRelationship Customer CustomerAccountTaxExemption CustomerAccount : 1 PaymentPlan (<SID CDM>) InvolvementRole (<SID CDM>) FinancialCharge (<SID CDM>) DunningScenario (<SID CDM>) DunningCase (<SID CDM>) ContactMedium (<SID CDM>) CustomerPayment (<SID CDM>) PartyRole (<SID CDM>) CustomerQuote (<SID CDM>) CustCreditProfileReference CustomerCreditProfile CustomerAccount : 2 From this To this
  • 10. When you connect two objects together, the link is visible from both ends (even if they're from two different models, or different types of model) LDM Entity PDM Table
  • 11. When you connect two objects together, the link is visible from both ends (even if they're from two different models, or different types of model) Requirement LDM Entity Attribute
  • 12. When you connect two objects together, the link is visible from both ends (even if they're from two different models, or different types of model) Table Key Column
  • 13. Multiple editing windows - individual objects and lists of objects, from multiple models
  • 14. Copy and paste from a list of Objects straight into Excel, complete with headers
  • 15. Import anything from Excel without writing any code Mapping information for each sheet
  • 16. Link anything to anything if you have a need to - usingTraceability Links <<Possible Relationship>> Loyalty Account Loyalty Account Identifier Account Holder Full Name <pi> Characters (16) Characters (60) <M> <M> Party Party Identifier Name Address, Phone Number, etc. Characters (16) Characters (60) <Undefined> <M> <M> Visible from both ends Visible from both ends
  • 17. Link anything to anything if you have a need to - usingTraceability Links Can define useful link types in a model extension <<Possible Relationship>>
  • 18. Link anything to anything if you have a need to - usingTraceability Links Useful for Views and Stored procedures <<DBCreateAfter>> PARTY_IDENTIFIER = PARTY_ IDENTIFIER LOYALTY_ACCOUNT_ROLE_TYPE_CODE = LOYALTY_ACCOUNT_ROLE_TYPE_CODE LOYALTY_ACCOUNT_ROLE_TYPE LOYALTY_ACCOUNT_ROLE_TYPE_CODE NAME DESCRIPTION numeric(2) char(20) char(60) <pk> not null not null not null LOYALTY_SCHEME_MEMBER MEMBERSHIP_NUMBER LOYALTY_ACCOUNT_ROLE_TYPE_CODE PARTY_IDENTIFIER NICKNAME char(16) numeric(2) char(16) char(20) <pk> <fk2> <fk1> not null null null not null MEMBER_ROLE MEMBERSHIP_NUMBER LOYALTY_ACCOUNT_ROLE_TYPE_CODE NAME DESCRIPTION NICKNAME LOYALTY_SCHEME_MEMBER LOYALTY_ACCOUNT_ROLE_TYPE PARTY PARTY_IDENTIFIER NAME ADDRESS__PHONE_NUMBER___ETC_ char(16) char(60) <Undefined> <pk> not null not null null PARTY_MEMBER MEMBERSHIP_NUMBER LOYALTY_ACCOUNT_ROLE_TYPE_CODE NICKNAME LOYALTY_SCHEME_MEMBER
  • 19. Dependency matrices - show (and edit) links between objects - a great way to link attributes to domains Attributes Domains Edit using spacebar
  • 20. Create a model within a model - useful for Subject Area models <<Subject Area>> Customer <<Subject Area>> Cost Centre <<Subject Area>> Product <<Subject Area>> Supplier <<Subject Area>> Account
  • 21. Create a model within a model – 4 models in one file Logical Data Model Model: 4 models in one Package: Diagram: 4 models in one Author: George McGeachie Date: 19/09/2018 Version: "Type" entities might not be part of your modelling standards - you could just have the "Type" attributes, w ith a managed list of allow ed values. Thing Status Type Thing Status Type Description <pi> Thing Thing ID Thing Status Type <pi> <fi> 1. Simple Status Some "States" are likely to have their own attributes and/or relationships. In some cases an attribute may be optional in one state, but mandatory in another. Thing State Thing State Thing ID Thing State Effective Date Time Thing Status Type <pi,fi1> <pi> <fi2> Thing Status Type Thing Status Type Description <pi> Thing Thing ID <pi> Active ThingNew Thing Obsolete Thing Suspended Thing 2. State Entity You could link the Event Types to the Status Types they can set - thus storing some of your business rules as data. set be set by Thing Event Thing State Thing ID Thing State Effective Date Time Thing Status Type <pi,fi1> <pi> <fi2> Thing Thing ID <pi> Thing Status Type Thing Status Type Description <pi> Thing Event Thing ID Thing Event Effective Date Time Thing Event Type <pi,fi1> <pi> <fi2> Thing Event Type Thing Event Type Description <pi> Thing Introductio n Thing Acceptance Thing Suspension Thing Cancellation 3. State-Changing Events You could link the Event Types to the appropriate Reason Types - thus storing some of your business rules as data. set be set by Thing Event Reason Type Thing Event Reason Type Description <pi> Thing State Thing ID Thing State Effective Date Time Thing Status Type <pi,fi1> <pi> <fi2> Thing Thing ID <pi> Thing Status Type Thing Status Type Description <pi> Thing Event Thing ID Thing Event Effective Date Time Thing Event Type Thing Event Reason Type <pi,fi1> <pi> <fi2> <fi3> Thing Event Type Thing Event Type Description <pi> 4. State-Changing Events with Reasons
  • 22. Add new properties, and new types of object, and links between them - how about Data Quality metadata for database columns?
  • 23. Add new properties, and new types of object, and links between them - how about adding Data Stewards, and linking them to the entities they're responsible for? New object type – Working Note New object type – Steward - has a list of entities they’re responsible for
  • 24. How about generating that LDM as JSON structures for your fancy governance tool to ingest? This simple code produces the JSON This simple code produces the JSON Tools | Extended Generation →
  • 25. How about exporting that LDM to CSV? This simple code produces the JSON This simple code produces the CSV
  • 26. You usually don’t need to upgrade PowerDesigner to improve the DBMS support You usually don’t need to upgrade PowerDesigner to improve the DBMS support, you usually just need a new DBMS definition file. For example, when Karen Lopez (@datachick) questioned the support for Sequences in SQL Server 2012, SAP were able to fix the issue really quickly, and Karen was able to use the upgraded support immediately. Caveat – sometimes (such as adding features for SAP HANA) the underlying PDM ‘engine’ is changed, so not all new PDM features can be applied to old versions of PowerDesigner
  • 27. Tailor how PowerDesigner generates DDL, and even invent your own DBMS and funky new DDL syntax In the Database Definition file, you have control over how the DDL is constructed. Here’s the code to create a Table in SAP SQL Anywhere 16
  • 28. When you generate one model from another (e.g. generating a LDM from a LDM) you can change what happens using model transformations Amend the current model BEFORE you generate the new one Amend the newly- generated or updated model BEFORE you see it e.g. remove “logical-only” or unapproved objects e.g. add audit columns or surrogate keys, change column sequence
  • 29. When you generate one model from another (e.g. generating a LDM from a LDM) you can change what happens using model transformations Relationship_2 Loyalty Account Role Type Loyalty Account Role Type Code Name Description NO Yet again NO <pi> Loyalty Account Role Parent Entity Child Entity In this LDM, one entity and two attributes are “logical only” I generated a new LDM from that model, without those objects Loyalty Account Role Type Loyalty Account Role Type Code Name Description <pi> Loyalty Account Role Parent Entity Model extension Choose while generating model
  • 30. Run theTransformation from theTools menu This transformation adds audit columns to all PDM tables
  • 31. Add a Method to a menu instead (or as well) This took 7 seconds to add 7 columns to all 205 tables in “SQL Anywhere Demo DB” PDM
  • 32. Who needsVisio? Use a 'Free Model' to invent your own model
  • 33. Some more I could have mentioned • Dedicated PDM Facts & Dimensions • Data Movement Models • Requirements Models • XML Models • Projects • Frameworks (Zachmann,TOGAF etc.) • Enterprise Architecture Models • Impact Analysis Models • Atomic Data Items in the Conceptual Data Model • Save selected symbols as image files • Can access objects from search results • List Reports • Business Rules in every model • Barker Notation • Shortcuts andTarget Models • Object Replication • Custom object generation • User profiles • User Interface customisation • Metamodel Objects Help • Model Backup Files • SAP Integration • Customisable XML Import • Find in Diagram / Browser
  • 34. • Telephone: +1 978 451 0165 / +44 208 123 8756 • UK mobile: +44 (0) 794 293 0648 • Skype: gmcgeachie • Twitter: metadatajunkie • George.McGeachie @ MetadataMatters.com • http://metadatajunkie.wordpress.com/ Thanks for watching