SlideShare a Scribd company logo
1 of 13
Download to read offline
Hackolade Tutorial
Tutorial – Verify Data Model
Copyright © 2016-2023 Hackolade 1
What is model verification?
• Verify consistency and quality of data models
• Use a glossary of class and prime terms
• Use target-specific attribute rules
• Eg. precision/scale for numeric attributes
• Eg. length for string attributes
• Based on:
• Business Names and Non-target-specific for glossary-based rules
• Technical Names and Target-specific for property/attributed-based rules
Copyright © 2016-2023 Hackolade 2
Background: naming theory
• Business names are expressions to describe a single data object
• Consists of
• A Class term:
• Highest level of classification
• Last word (or phrase like “unit of measure”) of the business name
• Identifies general purpose of the data object
• Prime terms:
• Most important modifier of the class term
• Single word (or phrase like “unit of measure”)
• Directly precedes the class term
• One or more modifying terms
• Add important business information
• Precedes the prime term
• Hackolade Studio Model Verifications only cover prime and class terms,
and ignore modifiers that are not declared as class terms
Copyright © 2016-2023 Hackolade 3
Example: Currency Code
All following combinations are allowed
Component Invoice Amount Currency Code
Component Total Amount Currency Code
Unit Price Currency Code
Item Converted Price Currency Code
Item Original Price Currency Code
Item Total Converted Price Currency Code
Item Total Original Price Currency Code
We recommend experimenting with a small glossary first.
Copyright © 2016-2023 Hackolade 4
Glossary verifications
• Check the business names in the model with the terms
in the glossary file
• Glossary file extends the existing abbreviations in Naming Conventions
• Additional column: Synonyms to be prevented (separated by “|”)
• Unlike Naming Conventions
parameters, this file is
the same for all targets
• Terms are checked
for each object in
the model
Copyright © 2016-2023 Hackolade 5
Glossary verifications
• Current glossary-related rules
• Invalid Term: business name contains terms not in the glossary
• Inconsistent Terms: combination of prime+class term not in the glossary
• Synonyms: business name contains synonyms of glossary terms
• Rules that are not respected create an entry in the verification report
Copyright © 2016-2023 Hackolade 6
Attribute verifications
• These verifications are target-specific
• Check technical OR business names against user-defined properties
rules in target-specific file.
• Technical names are optional, potentially using Naming Conventions
• Using propRules file in .hackolade/OPTIONS/<target>
• Technical name
• Required
• Default
• Data Type
• Length
• Precision
• Scale
Copyright © 2016-2023 Hackolade 7
Attribute verifications
• Check that attribute matches the specification in the propRules file
• Report entries generated for
• Invalid data type, Missing required property, Invalid default property, Invalid length,
Invalid precision, Invalid scale
• Check additional rules of propRules file
• Technical name conflicts with reserved keywords, independent of glossary
• Excessive technical name length, independent of glossary
• Also pro-active warnings for duplicate table names in the same
schema, duplicate column name in the same table, dangling
relationships, mismatched data types in relationships
Copyright © 2016-2023 Hackolade 8
Using model verification
• Configure paths access • Run
Copyright © 2016-2023 Hackolade 9
Interpreting the exception report
• Failed results generate an entry in the report
Copyright © 2016-2023 Hackolade 10
Interpreting the exception report
• Report can be long - recommend to run with highest priority exception only
• Some rules depend on other rules! (eg. wrong data type >> precision/scale)
• Failing multiple rules = multiple lines in the report
• Columns modelGUID, containerGUID, entityGUID, relationshipGUID, and
attribGUID can be hidden from report for interpretation
• Groups of columns:
• Verification failure identification
• Objects GUIDs
• Objects technical and business names
• Attributes properties
• Glossary entries
• Attribute rules values
Copyright © 2016-2023 Hackolade 11
Reading material
• See Hackolade online documentation
• The Hackolade Blog
• This excellent new book:
MongoDB Data Modeling & Schema Design
• Many of the principles in the book are related to query
driven modeling based on access patterns
• Hackolade’s on social media: LinkedIn page, Twitter page
• Download Hackolade Studio for free
Copyright © 2016-2023 Hackolade 12
Questions?
Answers!
Copyright © 2016-2023 Hackolade 13

More Related Content

Similar to Tutorial Expert How-To - Verify Data Model

Tutorial Getting Started part 3 - Metadata-as-Code
Tutorial Getting Started part 3 - Metadata-as-CodeTutorial Getting Started part 3 - Metadata-as-Code
Tutorial Getting Started part 3 - Metadata-as-CodePascalDesmarets1
 
Hackolade Tutorial - part 9 - Export or forward-engineer.pdf
Hackolade Tutorial - part 9 - Export or forward-engineer.pdfHackolade Tutorial - part 9 - Export or forward-engineer.pdf
Hackolade Tutorial - part 9 - Export or forward-engineer.pdfPascalDesmarets1
 
Beginners overview of automated testing with Rspec
Beginners overview of automated testing with RspecBeginners overview of automated testing with Rspec
Beginners overview of automated testing with Rspecjeffrey1ross
 
CapitalCamp DC 2012: Taxonomy
CapitalCamp DC 2012: TaxonomyCapitalCamp DC 2012: Taxonomy
CapitalCamp DC 2012: TaxonomyNatalya Minkovsky
 
Enterprise 2.0 Use Cases for Semantic Web/Kiwi
   Enterprise 2.0 Use Cases for Semantic Web/Kiwi    Enterprise 2.0 Use Cases for Semantic Web/Kiwi
Enterprise 2.0 Use Cases for Semantic Web/Kiwi Peter H. Reiser
 
Different Types of Test Automation Frameworks .pptx
Different Types of Test Automation Frameworks .pptxDifferent Types of Test Automation Frameworks .pptx
Different Types of Test Automation Frameworks .pptxHeadspin INC
 
Finding the right authoring tool - STC Carolina Event 2018
Finding the right authoring tool - STC Carolina Event 2018Finding the right authoring tool - STC Carolina Event 2018
Finding the right authoring tool - STC Carolina Event 2018Carolina Chapter of STC
 
Hackolade Tutorial - part 6 - Add choice, conditional, pattern fields.pdf
Hackolade Tutorial - part 6 - Add choice, conditional, pattern fields.pdfHackolade Tutorial - part 6 - Add choice, conditional, pattern fields.pdf
Hackolade Tutorial - part 6 - Add choice, conditional, pattern fields.pdfPascalDesmarets1
 
[AIIM17] Data Categorization You Can Live With - Monica Crocker
[AIIM17]  Data Categorization You Can Live With - Monica Crocker [AIIM17]  Data Categorization You Can Live With - Monica Crocker
[AIIM17] Data Categorization You Can Live With - Monica Crocker AIIM International
 
Oleg Trygub TweetSyn demo
Oleg Trygub TweetSyn demoOleg Trygub TweetSyn demo
Oleg Trygub TweetSyn demoOleg Trygub
 
Pa Project And Best Practice 2
Pa Project And Best Practice 2Pa Project And Best Practice 2
Pa Project And Best Practice 2alice yang
 
Improve Agility and Collaboration with ER/Studio XE7
Improve Agility and Collaboration with ER/Studio XE7Improve Agility and Collaboration with ER/Studio XE7
Improve Agility and Collaboration with ER/Studio XE7Embarcadero Technologies
 
Enterprise integration - Naming Convention and Standards
Enterprise integration - Naming Convention and StandardsEnterprise integration - Naming Convention and Standards
Enterprise integration - Naming Convention and StandardsPraveen Pandey
 
OpenAPI 3.0, And What It Means for the Future of Swagger
OpenAPI 3.0, And What It Means for the Future of SwaggerOpenAPI 3.0, And What It Means for the Future of Swagger
OpenAPI 3.0, And What It Means for the Future of SwaggerSmartBear
 
Scala Bay Meetup - The state of Scala code style and quality
Scala Bay Meetup - The state of Scala code style and qualityScala Bay Meetup - The state of Scala code style and quality
Scala Bay Meetup - The state of Scala code style and qualityJaime Jorge
 
Test Design and Automation for REST API
Test Design and Automation for REST APITest Design and Automation for REST API
Test Design and Automation for REST APIIvan Katunou
 
Continuous Testing of eCommerce Apps
Continuous Testing of eCommerce AppsContinuous Testing of eCommerce Apps
Continuous Testing of eCommerce AppsSauce Labs
 

Similar to Tutorial Expert How-To - Verify Data Model (20)

Coding standards
Coding standardsCoding standards
Coding standards
 
Tutorial Getting Started part 3 - Metadata-as-Code
Tutorial Getting Started part 3 - Metadata-as-CodeTutorial Getting Started part 3 - Metadata-as-Code
Tutorial Getting Started part 3 - Metadata-as-Code
 
Hackolade Tutorial - part 9 - Export or forward-engineer.pdf
Hackolade Tutorial - part 9 - Export or forward-engineer.pdfHackolade Tutorial - part 9 - Export or forward-engineer.pdf
Hackolade Tutorial - part 9 - Export or forward-engineer.pdf
 
Beginners overview of automated testing with Rspec
Beginners overview of automated testing with RspecBeginners overview of automated testing with Rspec
Beginners overview of automated testing with Rspec
 
CapitalCamp DC 2012: Taxonomy
CapitalCamp DC 2012: TaxonomyCapitalCamp DC 2012: Taxonomy
CapitalCamp DC 2012: Taxonomy
 
Enterprise 2.0 Use Cases for Semantic Web/Kiwi
   Enterprise 2.0 Use Cases for Semantic Web/Kiwi    Enterprise 2.0 Use Cases for Semantic Web/Kiwi
Enterprise 2.0 Use Cases for Semantic Web/Kiwi
 
Different Types of Test Automation Frameworks .pptx
Different Types of Test Automation Frameworks .pptxDifferent Types of Test Automation Frameworks .pptx
Different Types of Test Automation Frameworks .pptx
 
Finding the right authoring tool - STC Carolina Event 2018
Finding the right authoring tool - STC Carolina Event 2018Finding the right authoring tool - STC Carolina Event 2018
Finding the right authoring tool - STC Carolina Event 2018
 
Hackolade Tutorial - part 6 - Add choice, conditional, pattern fields.pdf
Hackolade Tutorial - part 6 - Add choice, conditional, pattern fields.pdfHackolade Tutorial - part 6 - Add choice, conditional, pattern fields.pdf
Hackolade Tutorial - part 6 - Add choice, conditional, pattern fields.pdf
 
[AIIM17] Data Categorization You Can Live With - Monica Crocker
[AIIM17]  Data Categorization You Can Live With - Monica Crocker [AIIM17]  Data Categorization You Can Live With - Monica Crocker
[AIIM17] Data Categorization You Can Live With - Monica Crocker
 
Oleg Trygub TweetSyn demo
Oleg Trygub TweetSyn demoOleg Trygub TweetSyn demo
Oleg Trygub TweetSyn demo
 
Pa Project And Best Practice 2
Pa Project And Best Practice 2Pa Project And Best Practice 2
Pa Project And Best Practice 2
 
Improve Agility and Collaboration with ER/Studio XE7
Improve Agility and Collaboration with ER/Studio XE7Improve Agility and Collaboration with ER/Studio XE7
Improve Agility and Collaboration with ER/Studio XE7
 
Enterprise integration - Naming Convention and Standards
Enterprise integration - Naming Convention and StandardsEnterprise integration - Naming Convention and Standards
Enterprise integration - Naming Convention and Standards
 
OpenAPI 3.0, And What It Means for the Future of Swagger
OpenAPI 3.0, And What It Means for the Future of SwaggerOpenAPI 3.0, And What It Means for the Future of Swagger
OpenAPI 3.0, And What It Means for the Future of Swagger
 
Managed metadata in SharePoint 2010
Managed metadata in SharePoint 2010Managed metadata in SharePoint 2010
Managed metadata in SharePoint 2010
 
Scala Bay Meetup - The state of Scala code style and quality
Scala Bay Meetup - The state of Scala code style and qualityScala Bay Meetup - The state of Scala code style and quality
Scala Bay Meetup - The state of Scala code style and quality
 
AWS Tagging Strategy
AWS Tagging StrategyAWS Tagging Strategy
AWS Tagging Strategy
 
Test Design and Automation for REST API
Test Design and Automation for REST APITest Design and Automation for REST API
Test Design and Automation for REST API
 
Continuous Testing of eCommerce Apps
Continuous Testing of eCommerce AppsContinuous Testing of eCommerce Apps
Continuous Testing of eCommerce Apps
 

More from PascalDesmarets1

Tutorial Workgroup - Working with Forks
Tutorial Workgroup - Working with ForksTutorial Workgroup - Working with Forks
Tutorial Workgroup - Working with ForksPascalDesmarets1
 
Tutorial Advanced How-To - Oracle 23c Duality views
Tutorial Advanced How-To - Oracle 23c Duality viewsTutorial Advanced How-To - Oracle 23c Duality views
Tutorial Advanced How-To - Oracle 23c Duality viewsPascalDesmarets1
 
Tutorial Expert How-To - Docker-based automation
Tutorial Expert How-To - Docker-based automationTutorial Expert How-To - Docker-based automation
Tutorial Expert How-To - Docker-based automationPascalDesmarets1
 
Tutorial Getting Started part 4 - Domain-Driven Data Modeling
Tutorial Getting Started part 4 - Domain-Driven Data ModelingTutorial Getting Started part 4 - Domain-Driven Data Modeling
Tutorial Getting Started part 4 - Domain-Driven Data ModelingPascalDesmarets1
 
Tutorial Getting Started part 2 - Polyglot Data Modeling
Tutorial Getting Started part 2 - Polyglot Data ModelingTutorial Getting Started part 2 - Polyglot Data Modeling
Tutorial Getting Started part 2 - Polyglot Data ModelingPascalDesmarets1
 
Tutorial Expert How-To - Create a model for Avro schemas
Tutorial Expert How-To - Create a model for Avro schemasTutorial Expert How-To - Create a model for Avro schemas
Tutorial Expert How-To - Create a model for Avro schemasPascalDesmarets1
 
Tutorial Getting Started part 1 - Overview
Tutorial Getting Started part 1 - OverviewTutorial Getting Started part 1 - Overview
Tutorial Getting Started part 1 - OverviewPascalDesmarets1
 
Tutorial Workgroup - Model versioning and collaboration
Tutorial Workgroup - Model versioning and collaborationTutorial Workgroup - Model versioning and collaboration
Tutorial Workgroup - Model versioning and collaborationPascalDesmarets1
 
Tutorial Expert How-To - Export-Import with Excel template
Tutorial Expert How-To - Export-Import with Excel templateTutorial Expert How-To - Export-Import with Excel template
Tutorial Expert How-To - Export-Import with Excel templatePascalDesmarets1
 
Tutorial Expert How-To - Compare and Merge
Tutorial Expert How-To - Compare and MergeTutorial Expert How-To - Compare and Merge
Tutorial Expert How-To - Compare and MergePascalDesmarets1
 
Tutorial Expert How-To - Custom properties
Tutorial Expert How-To - Custom propertiesTutorial Expert How-To - Custom properties
Tutorial Expert How-To - Custom propertiesPascalDesmarets1
 
Tutorial Expert How-To - Command Line Interface (CLI)
Tutorial Expert How-To - Command Line Interface (CLI)Tutorial Expert How-To - Command Line Interface (CLI)
Tutorial Expert How-To - Command Line Interface (CLI)PascalDesmarets1
 
Hackolade Tutorial - part 13 - Leverage a Polyglot data model
Hackolade Tutorial - part 13 - Leverage a Polyglot data modelHackolade Tutorial - part 13 - Leverage a Polyglot data model
Hackolade Tutorial - part 13 - Leverage a Polyglot data modelPascalDesmarets1
 
Hackolade Tutorial - part 12 - Create a REST API model
Hackolade Tutorial - part  12 - Create a REST API modelHackolade Tutorial - part  12 - Create a REST API model
Hackolade Tutorial - part 12 - Create a REST API modelPascalDesmarets1
 
Hackolade Tutorial - part 8 - Import or reverse-engineer.pdf
Hackolade Tutorial - part 8 - Import or reverse-engineer.pdfHackolade Tutorial - part 8 - Import or reverse-engineer.pdf
Hackolade Tutorial - part 8 - Import or reverse-engineer.pdfPascalDesmarets1
 
Hackolade Tutorial - part 4 - Create your first data model
Hackolade Tutorial - part 4 - Create your first data modelHackolade Tutorial - part 4 - Create your first data model
Hackolade Tutorial - part 4 - Create your first data modelPascalDesmarets1
 
Hackolade Tutorial - part 3 - Query-driven data modeling based on access patt...
Hackolade Tutorial - part 3 - Query-driven data modeling based on access patt...Hackolade Tutorial - part 3 - Query-driven data modeling based on access patt...
Hackolade Tutorial - part 3 - Query-driven data modeling based on access patt...PascalDesmarets1
 
Hackolade Tutorial - part 2 - Overview of JSON and JSON schema
Hackolade Tutorial - part 2 - Overview of JSON and JSON schemaHackolade Tutorial - part 2 - Overview of JSON and JSON schema
Hackolade Tutorial - part 2 - Overview of JSON and JSON schemaPascalDesmarets1
 
Hackolade Tutorial - part 1 - What is a data model
Hackolade Tutorial - part 1 - What is a data modelHackolade Tutorial - part 1 - What is a data model
Hackolade Tutorial - part 1 - What is a data modelPascalDesmarets1
 

More from PascalDesmarets1 (19)

Tutorial Workgroup - Working with Forks
Tutorial Workgroup - Working with ForksTutorial Workgroup - Working with Forks
Tutorial Workgroup - Working with Forks
 
Tutorial Advanced How-To - Oracle 23c Duality views
Tutorial Advanced How-To - Oracle 23c Duality viewsTutorial Advanced How-To - Oracle 23c Duality views
Tutorial Advanced How-To - Oracle 23c Duality views
 
Tutorial Expert How-To - Docker-based automation
Tutorial Expert How-To - Docker-based automationTutorial Expert How-To - Docker-based automation
Tutorial Expert How-To - Docker-based automation
 
Tutorial Getting Started part 4 - Domain-Driven Data Modeling
Tutorial Getting Started part 4 - Domain-Driven Data ModelingTutorial Getting Started part 4 - Domain-Driven Data Modeling
Tutorial Getting Started part 4 - Domain-Driven Data Modeling
 
Tutorial Getting Started part 2 - Polyglot Data Modeling
Tutorial Getting Started part 2 - Polyglot Data ModelingTutorial Getting Started part 2 - Polyglot Data Modeling
Tutorial Getting Started part 2 - Polyglot Data Modeling
 
Tutorial Expert How-To - Create a model for Avro schemas
Tutorial Expert How-To - Create a model for Avro schemasTutorial Expert How-To - Create a model for Avro schemas
Tutorial Expert How-To - Create a model for Avro schemas
 
Tutorial Getting Started part 1 - Overview
Tutorial Getting Started part 1 - OverviewTutorial Getting Started part 1 - Overview
Tutorial Getting Started part 1 - Overview
 
Tutorial Workgroup - Model versioning and collaboration
Tutorial Workgroup - Model versioning and collaborationTutorial Workgroup - Model versioning and collaboration
Tutorial Workgroup - Model versioning and collaboration
 
Tutorial Expert How-To - Export-Import with Excel template
Tutorial Expert How-To - Export-Import with Excel templateTutorial Expert How-To - Export-Import with Excel template
Tutorial Expert How-To - Export-Import with Excel template
 
Tutorial Expert How-To - Compare and Merge
Tutorial Expert How-To - Compare and MergeTutorial Expert How-To - Compare and Merge
Tutorial Expert How-To - Compare and Merge
 
Tutorial Expert How-To - Custom properties
Tutorial Expert How-To - Custom propertiesTutorial Expert How-To - Custom properties
Tutorial Expert How-To - Custom properties
 
Tutorial Expert How-To - Command Line Interface (CLI)
Tutorial Expert How-To - Command Line Interface (CLI)Tutorial Expert How-To - Command Line Interface (CLI)
Tutorial Expert How-To - Command Line Interface (CLI)
 
Hackolade Tutorial - part 13 - Leverage a Polyglot data model
Hackolade Tutorial - part 13 - Leverage a Polyglot data modelHackolade Tutorial - part 13 - Leverage a Polyglot data model
Hackolade Tutorial - part 13 - Leverage a Polyglot data model
 
Hackolade Tutorial - part 12 - Create a REST API model
Hackolade Tutorial - part  12 - Create a REST API modelHackolade Tutorial - part  12 - Create a REST API model
Hackolade Tutorial - part 12 - Create a REST API model
 
Hackolade Tutorial - part 8 - Import or reverse-engineer.pdf
Hackolade Tutorial - part 8 - Import or reverse-engineer.pdfHackolade Tutorial - part 8 - Import or reverse-engineer.pdf
Hackolade Tutorial - part 8 - Import or reverse-engineer.pdf
 
Hackolade Tutorial - part 4 - Create your first data model
Hackolade Tutorial - part 4 - Create your first data modelHackolade Tutorial - part 4 - Create your first data model
Hackolade Tutorial - part 4 - Create your first data model
 
Hackolade Tutorial - part 3 - Query-driven data modeling based on access patt...
Hackolade Tutorial - part 3 - Query-driven data modeling based on access patt...Hackolade Tutorial - part 3 - Query-driven data modeling based on access patt...
Hackolade Tutorial - part 3 - Query-driven data modeling based on access patt...
 
Hackolade Tutorial - part 2 - Overview of JSON and JSON schema
Hackolade Tutorial - part 2 - Overview of JSON and JSON schemaHackolade Tutorial - part 2 - Overview of JSON and JSON schema
Hackolade Tutorial - part 2 - Overview of JSON and JSON schema
 
Hackolade Tutorial - part 1 - What is a data model
Hackolade Tutorial - part 1 - What is a data modelHackolade Tutorial - part 1 - What is a data model
Hackolade Tutorial - part 1 - What is a data model
 

Recently uploaded

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 

Recently uploaded (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 

Tutorial Expert How-To - Verify Data Model

  • 1. Hackolade Tutorial Tutorial – Verify Data Model Copyright © 2016-2023 Hackolade 1
  • 2. What is model verification? • Verify consistency and quality of data models • Use a glossary of class and prime terms • Use target-specific attribute rules • Eg. precision/scale for numeric attributes • Eg. length for string attributes • Based on: • Business Names and Non-target-specific for glossary-based rules • Technical Names and Target-specific for property/attributed-based rules Copyright © 2016-2023 Hackolade 2
  • 3. Background: naming theory • Business names are expressions to describe a single data object • Consists of • A Class term: • Highest level of classification • Last word (or phrase like “unit of measure”) of the business name • Identifies general purpose of the data object • Prime terms: • Most important modifier of the class term • Single word (or phrase like “unit of measure”) • Directly precedes the class term • One or more modifying terms • Add important business information • Precedes the prime term • Hackolade Studio Model Verifications only cover prime and class terms, and ignore modifiers that are not declared as class terms Copyright © 2016-2023 Hackolade 3
  • 4. Example: Currency Code All following combinations are allowed Component Invoice Amount Currency Code Component Total Amount Currency Code Unit Price Currency Code Item Converted Price Currency Code Item Original Price Currency Code Item Total Converted Price Currency Code Item Total Original Price Currency Code We recommend experimenting with a small glossary first. Copyright © 2016-2023 Hackolade 4
  • 5. Glossary verifications • Check the business names in the model with the terms in the glossary file • Glossary file extends the existing abbreviations in Naming Conventions • Additional column: Synonyms to be prevented (separated by “|”) • Unlike Naming Conventions parameters, this file is the same for all targets • Terms are checked for each object in the model Copyright © 2016-2023 Hackolade 5
  • 6. Glossary verifications • Current glossary-related rules • Invalid Term: business name contains terms not in the glossary • Inconsistent Terms: combination of prime+class term not in the glossary • Synonyms: business name contains synonyms of glossary terms • Rules that are not respected create an entry in the verification report Copyright © 2016-2023 Hackolade 6
  • 7. Attribute verifications • These verifications are target-specific • Check technical OR business names against user-defined properties rules in target-specific file. • Technical names are optional, potentially using Naming Conventions • Using propRules file in .hackolade/OPTIONS/<target> • Technical name • Required • Default • Data Type • Length • Precision • Scale Copyright © 2016-2023 Hackolade 7
  • 8. Attribute verifications • Check that attribute matches the specification in the propRules file • Report entries generated for • Invalid data type, Missing required property, Invalid default property, Invalid length, Invalid precision, Invalid scale • Check additional rules of propRules file • Technical name conflicts with reserved keywords, independent of glossary • Excessive technical name length, independent of glossary • Also pro-active warnings for duplicate table names in the same schema, duplicate column name in the same table, dangling relationships, mismatched data types in relationships Copyright © 2016-2023 Hackolade 8
  • 9. Using model verification • Configure paths access • Run Copyright © 2016-2023 Hackolade 9
  • 10. Interpreting the exception report • Failed results generate an entry in the report Copyright © 2016-2023 Hackolade 10
  • 11. Interpreting the exception report • Report can be long - recommend to run with highest priority exception only • Some rules depend on other rules! (eg. wrong data type >> precision/scale) • Failing multiple rules = multiple lines in the report • Columns modelGUID, containerGUID, entityGUID, relationshipGUID, and attribGUID can be hidden from report for interpretation • Groups of columns: • Verification failure identification • Objects GUIDs • Objects technical and business names • Attributes properties • Glossary entries • Attribute rules values Copyright © 2016-2023 Hackolade 11
  • 12. Reading material • See Hackolade online documentation • The Hackolade Blog • This excellent new book: MongoDB Data Modeling & Schema Design • Many of the principles in the book are related to query driven modeling based on access patterns • Hackolade’s on social media: LinkedIn page, Twitter page • Download Hackolade Studio for free Copyright © 2016-2023 Hackolade 12