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

Bài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.com
Bài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.comBài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.com
Bài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.commai_non
 
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 4
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 4Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 4
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 4pisu412
 
Python ders-notlari
Python ders-notlariPython ders-notlari
Python ders-notlarisersld98
 
Database connectivity and web technologies
Database connectivity and web technologiesDatabase connectivity and web technologies
Database connectivity and web technologiesDhani Ahmad
 
Python Programlama Dili Eğitimi
Python Programlama Dili EğitimiPython Programlama Dili Eğitimi
Python Programlama Dili EğitimiEnes Ateş
 
Kiến trúc máy tính và hợp ngữ bài 07
Kiến trúc máy tính và hợp ngữ bài 07Kiến trúc máy tính và hợp ngữ bài 07
Kiến trúc máy tính và hợp ngữ bài 07Nhóc Nhóc
 
Phân tích và thiết kế HTTT
Phân tích và thiết kế HTTTPhân tích và thiết kế HTTT
Phân tích và thiết kế HTTTLy hai
 
Python functions
Python functionsPython functions
Python functionsAliyamanasa
 
What are Data structures in Python? | List, Dictionary, Tuple Explained | Edu...
What are Data structures in Python? | List, Dictionary, Tuple Explained | Edu...What are Data structures in Python? | List, Dictionary, Tuple Explained | Edu...
What are Data structures in Python? | List, Dictionary, Tuple Explained | Edu...Edureka!
 
Dfd over flowcharts
Dfd over flowcharts Dfd over flowcharts
Dfd over flowcharts Ashwathy Nair
 
Devwork.vn Giáo trình C# cơ bản
Devwork.vn Giáo trình C# cơ bảnDevwork.vn Giáo trình C# cơ bản
Devwork.vn Giáo trình C# cơ bảnDevwork
 
1. Fundamental Concept - Data Structures using C++ by Varsha Patil
1. Fundamental Concept - Data Structures using C++ by Varsha Patil1. Fundamental Concept - Data Structures using C++ by Varsha Patil
1. Fundamental Concept - Data Structures using C++ by Varsha Patilwidespreadpromotion
 
Ejercicios resueltos-Erwin Data Modeler
Ejercicios resueltos-Erwin Data ModelerEjercicios resueltos-Erwin Data Modeler
Ejercicios resueltos-Erwin Data ModelerAlberto Navarro Reyes
 
Bai tap lon xlnntn
Bai tap lon xlnntnBai tap lon xlnntn
Bai tap lon xlnntnNguyễn Anh
 
Bài 1 - Làm quen với C# - Lập trình winform
Bài 1 - Làm quen với C# - Lập trình winformBài 1 - Làm quen với C# - Lập trình winform
Bài 1 - Làm quen với C# - Lập trình winformMasterCode.vn
 

What's hot (20)

Bài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.com
Bài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.comBài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.com
Bài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.com
 
Com201 slide 5
Com201   slide 5Com201   slide 5
Com201 slide 5
 
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 4
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 4Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 4
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 4
 
Data warehouse
Data warehouseData warehouse
Data warehouse
 
Python ders-notlari
Python ders-notlariPython ders-notlari
Python ders-notlari
 
Database connectivity and web technologies
Database connectivity and web technologiesDatabase connectivity and web technologies
Database connectivity and web technologies
 
Python Programlama Dili Eğitimi
Python Programlama Dili EğitimiPython Programlama Dili Eğitimi
Python Programlama Dili Eğitimi
 
Map reduce hdfs
Map reduce hdfsMap reduce hdfs
Map reduce hdfs
 
Kiến trúc máy tính và hợp ngữ bài 07
Kiến trúc máy tính và hợp ngữ bài 07Kiến trúc máy tính và hợp ngữ bài 07
Kiến trúc máy tính và hợp ngữ bài 07
 
Phân tích và thiết kế HTTT
Phân tích và thiết kế HTTTPhân tích và thiết kế HTTT
Phân tích và thiết kế HTTT
 
Python functions
Python functionsPython functions
Python functions
 
What are Data structures in Python? | List, Dictionary, Tuple Explained | Edu...
What are Data structures in Python? | List, Dictionary, Tuple Explained | Edu...What are Data structures in Python? | List, Dictionary, Tuple Explained | Edu...
What are Data structures in Python? | List, Dictionary, Tuple Explained | Edu...
 
Dfd over flowcharts
Dfd over flowcharts Dfd over flowcharts
Dfd over flowcharts
 
Devwork.vn Giáo trình C# cơ bản
Devwork.vn Giáo trình C# cơ bảnDevwork.vn Giáo trình C# cơ bản
Devwork.vn Giáo trình C# cơ bản
 
1. Fundamental Concept - Data Structures using C++ by Varsha Patil
1. Fundamental Concept - Data Structures using C++ by Varsha Patil1. Fundamental Concept - Data Structures using C++ by Varsha Patil
1. Fundamental Concept - Data Structures using C++ by Varsha Patil
 
Ejercicios resueltos-Erwin Data Modeler
Ejercicios resueltos-Erwin Data ModelerEjercicios resueltos-Erwin Data Modeler
Ejercicios resueltos-Erwin Data Modeler
 
Bai tap lon xlnntn
Bai tap lon xlnntnBai tap lon xlnntn
Bai tap lon xlnntn
 
Hadoop
HadoopHadoop
Hadoop
 
Linguagem c
Linguagem cLinguagem c
Linguagem c
 
Bài 1 - Làm quen với C# - Lập trình winform
Bài 1 - Làm quen với C# - Lập trình winformBài 1 - Làm quen với C# - Lập trình winform
Bài 1 - Làm quen với C# - Lập trình winform
 

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
 

Recently uploaded

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 

Recently uploaded (20)

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 

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