data modeling zone 2017
TRANSCRIPT
Data Modeling by Example
© BCP Software / Marco Wobben
• Capture business language
• Support agile modeling
• Validation by users
• Integrate documentation
• Include language domains
• Model once, bootstrap everything
What if?
Fact Oriented Modeling
Methods
• Development originated in the 70’s “one family, three relatives”
Method By Tool EmphasisNIAM Nijssen DocTool relational ORM Halpin NORMA constraints FCO-IM Bakema & co. CaseTalk communication
High level modeling
Specialists at work
Facts
Expression
Visualise
Generate
Communicate Data Capture Knowledge
FCO-IM
• Communication Oriented, • Information Modeling, • Fully.
Make it work
a Fact
Name of Customer: “Customer 4081 is Sandia Labs.”
Customer
Customer NoName
Name of Customer
Add Unicity
Customer
Customer NoName
Name of Customer
Name of Customer: “Customer 4081 is Sandia Labs.”
Agile: Add a Fact
Customer Location City
City Name
Customer
Customer NoName
Name of Customer: “Customer 4081 is Sandia Labs.” Customer Location: “Customer 4081 is located in Albuquerque.”
Name of Customer
Transformation(s)
Customer Location City
City Name
Customer
Customer NoName
Name of Customer: “Customer 4081 is Sandia Labs.” Customer Location: “Customer 4081 is located in Albuquerque.”
Name of Customer
Group (before)
Name of Customer: “Customer 4081 is Sandia Labs.” Customer Location: “Customer 4081 is located in Albuquerque.”
Customer Location City
City Name
Customer
Customer NoName
Name of Customer
consolidate identical populations
Group (after)
City
City Name
Customer
Customer NoName
Name: “Customer 4081 is Sandia Labs.” City: “Customer 4081 is located in Albuquerque.”
consolidate identical populations
Lexicalise
City
City Name
Customer
Customer NoName
Name: “Customer 4081 is Sandia Labs.” City Name: “Customer 4081 is located in Albuquerque.”
every place holder has a data type
City
City Name
Customer
Customer NoName
Reduce
Name: “Customer 4081 is Sandia Labs.” City Name: “Customer 4081 is located in Albuquerque.”
remove redundancy and unused concepts
City Name
Customer
Customer NoName
Generate Artifacts
Name: “Customer 4081 is Sandia Labs.” City Name: “Customer 4081 is located in Albuquerque.”
SQL DDL
CREATE TABLE Customer ( Customer_No integer NOT NULL, Name varchar(64), City_Name varchar(256), PRIMARY KEY (Customer_No) );
City Name
Customer
Customer NoName
Table Document
SQL DDL & DML
CDM
PDM
UML
XML Schema
Ontology
Validation
Rule Validation
Rule Validation
Rule Validation
Model Validation
User Validation
Why a Data Model?
• Capturing business requirements
• Promotes reuse, consistency, quality
• Bridge between business and technology personnel
• Avoid late discovery of missed requirements
• Critical in managing integration between systems
• Pre-cursor to DBMS design / generate DDL
Source: DAMA-I Survey
Practice
Work sheet
Work sheet
Work sheet
Employee Name: “Employee 618 has name Boven WJ van.”
Work sheet
Work sheet
Working Hours:“In week 200138 employee 618 worked on project 6323.16
for 2 hours on task 15.”
Work sheet
Working Hours:“In week 200138 employee 618 worked on project 6323.16
for 2 hours on task 15.”
Project Employee:’employee 618 worked on project 6323.16’
ArtifactsDatabases Oracle SQL Server MySQL SQLite SQL92 MongoDB Interbase MsAccess Denodo …
Other PowerDesigner OWL/RDF XML Schema DWH Models Relational Diagrams UML Class Diagrams HTML + Images Spreadsheets …
Some Customers
• Banking
• Travel
• Medical
• Education
• Government
Some MetricsKLM / m~ëëÉåÖÉê=C=`~êÖç ~ NRMM=Ñ~Åí=íóéÉë
ProRail / jÉí~=a~í~=j~å~ÖÉãÉåí ~ OMMM=Ñ~Åí=íóéÉë=
HAN University / léÉê~íáçå~ä ~ SMMM=Ñ~Åí=íóéÉë
Erasmus MC / a~í~=t~êÉÜçìëÉ ~ PRMM=Ñ~Åí=íóéÉë
Contact
j~êÅç=tçÄÄÉå=
ã~êÅçï]ÄÅéJëçÑíï~êÉKåä=
ïïïKÄÅéJëçÑíï~êÉKåä===L===ïïïKÅ~ëÉí~äâKÅçã