SlideShare a Scribd company logo
1 of 66
Clarify & DovetailSchema 101 a webinar presented by garysherman May 17, 2011
Me dovetailsoftware.com/blog/gsherman
Topics Schema Concepts Viewing your Schema Editing Your Schema Tools Schema Customization Tips Q&A
Schema concepts
Data Model A data model explicitly determines the structure of data or structured data. http://en.wikipedia.org/wiki/Data_model
In Clarify, we use the term Data Model or Schema to refer to the definition of our database structure.
Database Structures Tables (Objects) Fields (Columns) Relations Indexes Views 	View Fields 	Joins
Metadata “data about data” OR “data about the containers of data” http://en.wikipedia.org/wiki/Metadata#Database_management
Database Metadata Each relational database system has its own mechanisms for storing metadata.  Examples of relational-database metadata include: Tables of all tables in a database, their names, sizes and number of rows in each table. Tables of columns in each database, what tables they are used in, and the type of data stored in each column. http://en.wikipedia.org/wiki/Metadata#Database_management
ADP (ADaPter) Layer Metadata defining the Clarify schema Set of tables in the Clarify database which contain “data about the containers of data” These table names all start with adp_
ADP Data Used by Clarify applications Clarify Client UI Editor CB Toolkit cbbatch … Clarify / Amdocs APIs C APIs ClearBasic CBOs (Clarify Business Objects)
ADP Data Used by Dovetail SDK Dovetail Applications 	Agent 	Mobile 	Rulemanager 	Seeker 	…
Database structures and ADP data must remain in sync! This is why we need schema editing tools.We’ll get into tools in just a bit.
Database Structures
Tables A Table 	is an entity encompassing a single concept Has many fields (columns) 	which are the attributes of the entity Can have one or more relations 	which link entities together
Table Indexes A Table Can have one or more indexes 	which improve database performance 	or defines uniqueness Note: Not all indexes are stored in the ADP tables.
Table - IDs A Table 	Has a unique id number
Table - Rows Each row in a table 	Has a unique key (objid). Unique within table. 	May also have a GUID.
Views A View 	is an “virtual table” composed of the result set of a query Has many view fields (view columns) 	which contain data from the table used in the query Can have one or more joins 	which combines rows from two tables
Theory is nice, but… In theory, the complexity and actual implementation of the schema is abstracted away from you.  But, in reality – you’re gonna want to understand how it all works.
Viewing your schema
Viewing your schema Database vendor tools (not so great) Clarify Data Dictionary Guide Clarify Data Models Doc (ERDs) Clarify schema file (.sch or .xml) Report that generates a Data Dictionary Guide Dovetail schema file (xml) Dovetail BOLT
ERDs Entity-Relationship Diagrams can be useful.
Some ERDs are OK…
…some will hurt your eyes
Dovetail BOLT A better way. Web application for real-time viewing of your schema. Never out of date Includes your customizations
Let’s take a quick look at BOLT
“I gotta get me some of that BOLT goodness” Download for free: http://bit.ly/getBOLT
EDITING your schema
Why do I need a schema tool? Recall from earlier: 	Database structures and ADP data must remain in sync! So we need a tool that will do the right thing, and keep both in sync.
When adding a new column to  table: Physical ChangeAdd column to table Metadata ChangeAdd data to ADP
Schema Editing Tools Clarify DD Editor (Data Dictionary Editor) Clarify ddcomp (Data Dictionary Compiler) Amdocs Schema Manager Dovetail SchemaEditor
Clarify DD Editor (DDE) User Interface – which some people like Big differences depending on Clarify version
Clarify DD Editor (DDE) Older versions 	add a new column or view column using UI 	else, edit schema file, apply using DDE Later versions 	really just a UI wrapper for ddcomp
Clarify DD Editor (DDE) Not very good at telling you specifics if something is wrong Invalid syntax in schema file Validation step failed during database validation Error occurred when applying changes
Clarify ddcomp ddcomp is a command line application Have to use a schema file Better at reporting syntax errors Better at reporting database errors (sometimes)
ddcomp vs. DD Editor My recommendation:  	use ddcomp rather than DD Editor
Amdocs Schema Manager Introduced in Amdocs 6 (Clarify 13) Command line, Java application Replaces ddcomp Requires CBO (Clarify Business Objects) Schema files are XML
Dovetail SchemaEditor Command line, .NET application Works with any Clarify version Schema files are XML Intellisense & Validation for your schema files User_Defined is the default
Dovetail SchemaEditor Faster “I have used both the Dovetail SchemaEditor and Amdocs SchemaManager to add one new field to the schema. Using our test database, Dovetail SchemaEditor took 5 minutes to complete, and Amdocs SchemaManager took 50 minutes.”  	- KS, Micros Systems
Dovetail SchemaEditor Faster
Dovetail SchemaEditor Faster Actual customer stats (Micros Systems)
Dovetail SchemaEditor Faster Actual customer stats
Dovetail SchemaEditor Why is it Faster? It doesn’t do unnecessary work.
Add a new column to table_case OMG!
Dovetail SchemaEditor Schema Files Data Dictionary – complete schema SchemaScript – just the changes you want to make
SchemaScript <schemaScriptxmlns="http://www.dovetailsoftware.com/2006/10/SchemaScript.xsd">   <addColumnname="x_test" table="case" dataType="Integer" /> </schemaScript> This is a completeschemascript file
Customizing Your Schema SchemaScript in Action
Let customize with Dovetail SchemaEditor and SchemaScript
Tips
A few big ones Give yourself a restore point! Preview changes before apply! Dev, then test, then production!
Table/View IDs The valid range for new table and view ids is 430-571 and 2000-4999.  This prevents any conflicts with existing or future Clarify defined id numbers. How do I know which ones are in use?BOLT will tell you: http://localhost/bolt/schema_id_info.asp
Custom Fields Use of x_ prefix My $0.02: Use x_prefix for custom fields on baseline tables I don’t use x_ when adding custom view columns I don’t use x_ for custom table names, but I do tend to use a customer/company prefix
Generating a Clarify Schema File Can’t generate a schema file using ddcomp Can use DD Editor(but you’ve probably already figured out I don’t like DD Editor) Use dataex dataex –gen_sc MySchema.sch
Mark your custom schema as User Defined Clarify ddcomp (.SCH): USER_DEFINED Amdocs SchemaManager (XML): baseline = "false" Dovetail SchmaEditor (XML): isUserDefined = "true" This is the default
Schema Files Use source code control for your schema files!
SchemaEditor Reports Check in your scripts & reports Great for auditing & compliance SchemaDifferenceReport.txt: Dovetail SchemaEditor Difference Report ---------------------------------------------------------------- Date: 2011-03-29 17:40:51 Action: Apply User: fcsary Database Name: dovetail Input File: TestChanges.SchemaScript.xml ---------------------------------------------------------------- Changed schema 	Changed table "case" 		Added column "x_test" with type "Integer"
Indexes Performance Indexes should be part of dbtune.sql – not the schema
Custom Tables All objects are required to have an OBJID field, with GEN_FIELD_ID=3.
Additional Tips – Clarify schema files Customer Fields must appear after all Clarify Fields for that object. Do NOT swap around ordering of existing fields and relations in an object. Define custom tables and views at the end of the schema file.
Additional Tips – Clarify schema files Customer Relations must appear after all Clarify Relations for that object. All relations must have corresponding inverse relation on the target object. All inverse relations on a target object must be defined with the appropriate inverse cardinality.
</tips>
presentation demonstration postlude q & a drink beer
Postlude More Info on Dovetail SchemaEditor http://dovetal.es/dtSchema  More Info (and free download) for Dovetail BOLT http://dovetal.es/dtBolt Feel free to contact me: gary@dovetailsoftware.com 	dovetailsoftware.com/blog/gsherman 	512-610-5466 	@gsherman These slides  	will be available on my blog at dovetailsoftware.com
Interested in Schema 201? I’m considering doing a Schema 201 webinar ,[object Object]
Database Flags

More Related Content

What's hot

SQL202.2 Accelerated Introduction to SQL Using SQL Server Module 2
SQL202.2 Accelerated Introduction to SQL Using SQL Server Module 2SQL202.2 Accelerated Introduction to SQL Using SQL Server Module 2
SQL202.2 Accelerated Introduction to SQL Using SQL Server Module 2Dan D'Urso
 
Sql interview questions
Sql interview questionsSql interview questions
Sql interview questionsnagesh Rao
 
Intro to t sql – 3rd session
Intro to t sql – 3rd sessionIntro to t sql – 3rd session
Intro to t sql – 3rd sessionMedhat Dawoud
 
PATTERNS07 - Data Representation in C#
PATTERNS07 - Data Representation in C#PATTERNS07 - Data Representation in C#
PATTERNS07 - Data Representation in C#Michael Heron
 
Simple ado program by visual studio
Simple ado program by visual studioSimple ado program by visual studio
Simple ado program by visual studioAravindharamanan S
 
Steps towards of sql server developer
Steps towards of sql server developerSteps towards of sql server developer
Steps towards of sql server developerAhsan Kabir
 
PostgreSQL Tutorial For Beginners | Edureka
PostgreSQL Tutorial For Beginners | EdurekaPostgreSQL Tutorial For Beginners | Edureka
PostgreSQL Tutorial For Beginners | EdurekaEdureka!
 
Fine-tuning the DITA customization
Fine-tuning the DITA customizationFine-tuning the DITA customization
Fine-tuning the DITA customizationXMetaL
 
SQL200.3 Module 3
SQL200.3 Module 3SQL200.3 Module 3
SQL200.3 Module 3Dan D'Urso
 
White Paper On ConCurrency For PCMS Application Architecture
White Paper On ConCurrency For PCMS Application ArchitectureWhite Paper On ConCurrency For PCMS Application Architecture
White Paper On ConCurrency For PCMS Application ArchitectureShahzad
 
OR Mapping- nhibernate Presentation
OR Mapping- nhibernate PresentationOR Mapping- nhibernate Presentation
OR Mapping- nhibernate PresentationShahzad
 
New T-SQL Features in SQL Server 2012
New T-SQL Features in SQL Server 2012 New T-SQL Features in SQL Server 2012
New T-SQL Features in SQL Server 2012 Richie Rump
 

What's hot (19)

Sql intro & ddl 1
Sql intro & ddl 1Sql intro & ddl 1
Sql intro & ddl 1
 
SQL202.2 Accelerated Introduction to SQL Using SQL Server Module 2
SQL202.2 Accelerated Introduction to SQL Using SQL Server Module 2SQL202.2 Accelerated Introduction to SQL Using SQL Server Module 2
SQL202.2 Accelerated Introduction to SQL Using SQL Server Module 2
 
Sql server T-sql basics ppt-3
Sql server T-sql basics  ppt-3Sql server T-sql basics  ppt-3
Sql server T-sql basics ppt-3
 
Sql interview questions
Sql interview questionsSql interview questions
Sql interview questions
 
Ado.Net
Ado.NetAdo.Net
Ado.Net
 
T-SQL Overview
T-SQL OverviewT-SQL Overview
T-SQL Overview
 
ch4
ch4ch4
ch4
 
Intro to t sql – 3rd session
Intro to t sql – 3rd sessionIntro to t sql – 3rd session
Intro to t sql – 3rd session
 
PATTERNS07 - Data Representation in C#
PATTERNS07 - Data Representation in C#PATTERNS07 - Data Representation in C#
PATTERNS07 - Data Representation in C#
 
Simple ado program by visual studio
Simple ado program by visual studioSimple ado program by visual studio
Simple ado program by visual studio
 
Assignment#07
Assignment#07Assignment#07
Assignment#07
 
Steps towards of sql server developer
Steps towards of sql server developerSteps towards of sql server developer
Steps towards of sql server developer
 
PostgreSQL Tutorial For Beginners | Edureka
PostgreSQL Tutorial For Beginners | EdurekaPostgreSQL Tutorial For Beginners | Edureka
PostgreSQL Tutorial For Beginners | Edureka
 
Fine-tuning the DITA customization
Fine-tuning the DITA customizationFine-tuning the DITA customization
Fine-tuning the DITA customization
 
SQL200.3 Module 3
SQL200.3 Module 3SQL200.3 Module 3
SQL200.3 Module 3
 
White Paper On ConCurrency For PCMS Application Architecture
White Paper On ConCurrency For PCMS Application ArchitectureWhite Paper On ConCurrency For PCMS Application Architecture
White Paper On ConCurrency For PCMS Application Architecture
 
Sql tutorial
Sql tutorialSql tutorial
Sql tutorial
 
OR Mapping- nhibernate Presentation
OR Mapping- nhibernate PresentationOR Mapping- nhibernate Presentation
OR Mapping- nhibernate Presentation
 
New T-SQL Features in SQL Server 2012
New T-SQL Features in SQL Server 2012 New T-SQL Features in SQL Server 2012
New T-SQL Features in SQL Server 2012
 

Similar to Schema webinar

BI Publisher Data model design document
BI Publisher Data model design documentBI Publisher Data model design document
BI Publisher Data model design documentadivasoft
 
BI Publisher 11g : Data Model Design document
BI Publisher 11g : Data Model Design documentBI Publisher 11g : Data Model Design document
BI Publisher 11g : Data Model Design documentadivasoft
 
Data modeling star schema
Data modeling star schemaData modeling star schema
Data modeling star schemaSayed Ahmed
 
Be a database professional
Be a database professionalBe a database professional
Be a database professionalSayed Ahmed
 
Be a database professional
Be a database professionalBe a database professional
Be a database professionalSayed Ahmed
 
Data Virtualization Primer -
Data Virtualization Primer -Data Virtualization Primer -
Data Virtualization Primer -Kenneth Peeples
 
What is struts_en
What is struts_enWhat is struts_en
What is struts_entechbed
 
Guidelines data cite_denmark_ver3
Guidelines data cite_denmark_ver3Guidelines data cite_denmark_ver3
Guidelines data cite_denmark_ver3DTU Library
 
Guidelines data cite_denmark_ver2
Guidelines data cite_denmark_ver2Guidelines data cite_denmark_ver2
Guidelines data cite_denmark_ver2DTU Library
 
Air Line Management System | DBMS project
Air Line Management System | DBMS projectAir Line Management System | DBMS project
Air Line Management System | DBMS projectAniketHandore
 
Introduction to ado
Introduction to adoIntroduction to ado
Introduction to adoHarman Bajwa
 
Schema-based multi-tenant architecture using Quarkus &amp; Hibernate-ORM.pdf
Schema-based multi-tenant architecture using Quarkus &amp; Hibernate-ORM.pdfSchema-based multi-tenant architecture using Quarkus &amp; Hibernate-ORM.pdf
Schema-based multi-tenant architecture using Quarkus &amp; Hibernate-ORM.pdfseo18
 
Introduction to sql server
Introduction to sql serverIntroduction to sql server
Introduction to sql serverVinay Thota
 
Ado.net &amp; data persistence frameworks
Ado.net &amp; data persistence frameworksAdo.net &amp; data persistence frameworks
Ado.net &amp; data persistence frameworksLuis Goldster
 
AWS July Webinar Series: Amazon redshift migration and load data 20150722
AWS July Webinar Series: Amazon redshift migration and load data 20150722AWS July Webinar Series: Amazon redshift migration and load data 20150722
AWS July Webinar Series: Amazon redshift migration and load data 20150722Amazon Web Services
 

Similar to Schema webinar (20)

BI Publisher Data model design document
BI Publisher Data model design documentBI Publisher Data model design document
BI Publisher Data model design document
 
BI Publisher 11g : Data Model Design document
BI Publisher 11g : Data Model Design documentBI Publisher 11g : Data Model Design document
BI Publisher 11g : Data Model Design document
 
Data modeling star schema
Data modeling star schemaData modeling star schema
Data modeling star schema
 
Be a database professional
Be a database professionalBe a database professional
Be a database professional
 
Be a database professional
Be a database professionalBe a database professional
Be a database professional
 
Ado
AdoAdo
Ado
 
Data Virtualization Primer -
Data Virtualization Primer -Data Virtualization Primer -
Data Virtualization Primer -
 
dvprimer-concepts
dvprimer-conceptsdvprimer-concepts
dvprimer-concepts
 
What is struts_en
What is struts_enWhat is struts_en
What is struts_en
 
Guidelines data cite_denmark_ver3
Guidelines data cite_denmark_ver3Guidelines data cite_denmark_ver3
Guidelines data cite_denmark_ver3
 
Guidelines data cite_denmark_ver2
Guidelines data cite_denmark_ver2Guidelines data cite_denmark_ver2
Guidelines data cite_denmark_ver2
 
Air Line Management System | DBMS project
Air Line Management System | DBMS projectAir Line Management System | DBMS project
Air Line Management System | DBMS project
 
Introduction to ado
Introduction to adoIntroduction to ado
Introduction to ado
 
Entity framework1
Entity framework1Entity framework1
Entity framework1
 
Schema-based multi-tenant architecture using Quarkus &amp; Hibernate-ORM.pdf
Schema-based multi-tenant architecture using Quarkus &amp; Hibernate-ORM.pdfSchema-based multi-tenant architecture using Quarkus &amp; Hibernate-ORM.pdf
Schema-based multi-tenant architecture using Quarkus &amp; Hibernate-ORM.pdf
 
Introduction to sql server
Introduction to sql serverIntroduction to sql server
Introduction to sql server
 
PPT temp.pptx
PPT temp.pptxPPT temp.pptx
PPT temp.pptx
 
Ado.net &amp; data persistence frameworks
Ado.net &amp; data persistence frameworksAdo.net &amp; data persistence frameworks
Ado.net &amp; data persistence frameworks
 
AWS July Webinar Series: Amazon redshift migration and load data 20150722
AWS July Webinar Series: Amazon redshift migration and load data 20150722AWS July Webinar Series: Amazon redshift migration and load data 20150722
AWS July Webinar Series: Amazon redshift migration and load data 20150722
 
Web technologies part-2
Web technologies part-2Web technologies part-2
Web technologies part-2
 

More from Gary Sherman

Search for Clarify/Dovetail
Search for Clarify/DovetailSearch for Clarify/Dovetail
Search for Clarify/DovetailGary Sherman
 
Advanced business rules (part2)
Advanced business rules (part2)Advanced business rules (part2)
Advanced business rules (part2)Gary Sherman
 
Advanced business rules (part1)
Advanced business rules (part1)Advanced business rules (part1)
Advanced business rules (part1)Gary Sherman
 
Rulemanager And Business Rules
Rulemanager And Business RulesRulemanager And Business Rules
Rulemanager And Business RulesGary Sherman
 
Delivering Cost Effective Clarify Access Beyond The Support Center
Delivering Cost Effective Clarify Access Beyond The Support CenterDelivering Cost Effective Clarify Access Beyond The Support Center
Delivering Cost Effective Clarify Access Beyond The Support CenterGary Sherman
 
Dovetail Webinar Data Management & Optimization
Dovetail Webinar Data Management & OptimizationDovetail Webinar Data Management & Optimization
Dovetail Webinar Data Management & OptimizationGary Sherman
 
Upgrade Your Database Without Upgrading Clarify
Upgrade Your Database Without Upgrading ClarifyUpgrade Your Database Without Upgrading Clarify
Upgrade Your Database Without Upgrading ClarifyGary Sherman
 

More from Gary Sherman (10)

Search for Clarify/Dovetail
Search for Clarify/DovetailSearch for Clarify/Dovetail
Search for Clarify/Dovetail
 
Product overview
Product overview Product overview
Product overview
 
Advanced business rules (part2)
Advanced business rules (part2)Advanced business rules (part2)
Advanced business rules (part2)
 
Advanced business rules (part1)
Advanced business rules (part1)Advanced business rules (part1)
Advanced business rules (part1)
 
Rulemanager And Business Rules
Rulemanager And Business RulesRulemanager And Business Rules
Rulemanager And Business Rules
 
Rulemanager
RulemanagerRulemanager
Rulemanager
 
Solutions 101
Solutions 101Solutions 101
Solutions 101
 
Delivering Cost Effective Clarify Access Beyond The Support Center
Delivering Cost Effective Clarify Access Beyond The Support CenterDelivering Cost Effective Clarify Access Beyond The Support Center
Delivering Cost Effective Clarify Access Beyond The Support Center
 
Dovetail Webinar Data Management & Optimization
Dovetail Webinar Data Management & OptimizationDovetail Webinar Data Management & Optimization
Dovetail Webinar Data Management & Optimization
 
Upgrade Your Database Without Upgrading Clarify
Upgrade Your Database Without Upgrading ClarifyUpgrade Your Database Without Upgrading Clarify
Upgrade Your Database Without Upgrading Clarify
 

Recently uploaded

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
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
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
 
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
 
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
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
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
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 

Recently uploaded (20)

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
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
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...
 
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...
 
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
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
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...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 

Schema webinar

  • 1. Clarify & DovetailSchema 101 a webinar presented by garysherman May 17, 2011
  • 3. Topics Schema Concepts Viewing your Schema Editing Your Schema Tools Schema Customization Tips Q&A
  • 5. Data Model A data model explicitly determines the structure of data or structured data. http://en.wikipedia.org/wiki/Data_model
  • 6. In Clarify, we use the term Data Model or Schema to refer to the definition of our database structure.
  • 7. Database Structures Tables (Objects) Fields (Columns) Relations Indexes Views View Fields Joins
  • 8. Metadata “data about data” OR “data about the containers of data” http://en.wikipedia.org/wiki/Metadata#Database_management
  • 9. Database Metadata Each relational database system has its own mechanisms for storing metadata. Examples of relational-database metadata include: Tables of all tables in a database, their names, sizes and number of rows in each table. Tables of columns in each database, what tables they are used in, and the type of data stored in each column. http://en.wikipedia.org/wiki/Metadata#Database_management
  • 10. ADP (ADaPter) Layer Metadata defining the Clarify schema Set of tables in the Clarify database which contain “data about the containers of data” These table names all start with adp_
  • 11. ADP Data Used by Clarify applications Clarify Client UI Editor CB Toolkit cbbatch … Clarify / Amdocs APIs C APIs ClearBasic CBOs (Clarify Business Objects)
  • 12. ADP Data Used by Dovetail SDK Dovetail Applications Agent Mobile Rulemanager Seeker …
  • 13. Database structures and ADP data must remain in sync! This is why we need schema editing tools.We’ll get into tools in just a bit.
  • 15. Tables A Table is an entity encompassing a single concept Has many fields (columns) which are the attributes of the entity Can have one or more relations which link entities together
  • 16. Table Indexes A Table Can have one or more indexes which improve database performance or defines uniqueness Note: Not all indexes are stored in the ADP tables.
  • 17. Table - IDs A Table Has a unique id number
  • 18. Table - Rows Each row in a table Has a unique key (objid). Unique within table. May also have a GUID.
  • 19. Views A View is an “virtual table” composed of the result set of a query Has many view fields (view columns) which contain data from the table used in the query Can have one or more joins which combines rows from two tables
  • 20. Theory is nice, but… In theory, the complexity and actual implementation of the schema is abstracted away from you. But, in reality – you’re gonna want to understand how it all works.
  • 22. Viewing your schema Database vendor tools (not so great) Clarify Data Dictionary Guide Clarify Data Models Doc (ERDs) Clarify schema file (.sch or .xml) Report that generates a Data Dictionary Guide Dovetail schema file (xml) Dovetail BOLT
  • 24. Some ERDs are OK…
  • 25. …some will hurt your eyes
  • 26. Dovetail BOLT A better way. Web application for real-time viewing of your schema. Never out of date Includes your customizations
  • 27. Let’s take a quick look at BOLT
  • 28. “I gotta get me some of that BOLT goodness” Download for free: http://bit.ly/getBOLT
  • 30. Why do I need a schema tool? Recall from earlier: Database structures and ADP data must remain in sync! So we need a tool that will do the right thing, and keep both in sync.
  • 31. When adding a new column to table: Physical ChangeAdd column to table Metadata ChangeAdd data to ADP
  • 32. Schema Editing Tools Clarify DD Editor (Data Dictionary Editor) Clarify ddcomp (Data Dictionary Compiler) Amdocs Schema Manager Dovetail SchemaEditor
  • 33. Clarify DD Editor (DDE) User Interface – which some people like Big differences depending on Clarify version
  • 34. Clarify DD Editor (DDE) Older versions add a new column or view column using UI else, edit schema file, apply using DDE Later versions really just a UI wrapper for ddcomp
  • 35. Clarify DD Editor (DDE) Not very good at telling you specifics if something is wrong Invalid syntax in schema file Validation step failed during database validation Error occurred when applying changes
  • 36. Clarify ddcomp ddcomp is a command line application Have to use a schema file Better at reporting syntax errors Better at reporting database errors (sometimes)
  • 37. ddcomp vs. DD Editor My recommendation: use ddcomp rather than DD Editor
  • 38. Amdocs Schema Manager Introduced in Amdocs 6 (Clarify 13) Command line, Java application Replaces ddcomp Requires CBO (Clarify Business Objects) Schema files are XML
  • 39. Dovetail SchemaEditor Command line, .NET application Works with any Clarify version Schema files are XML Intellisense & Validation for your schema files User_Defined is the default
  • 40. Dovetail SchemaEditor Faster “I have used both the Dovetail SchemaEditor and Amdocs SchemaManager to add one new field to the schema. Using our test database, Dovetail SchemaEditor took 5 minutes to complete, and Amdocs SchemaManager took 50 minutes.” - KS, Micros Systems
  • 42. Dovetail SchemaEditor Faster Actual customer stats (Micros Systems)
  • 43. Dovetail SchemaEditor Faster Actual customer stats
  • 44. Dovetail SchemaEditor Why is it Faster? It doesn’t do unnecessary work.
  • 45. Add a new column to table_case OMG!
  • 46. Dovetail SchemaEditor Schema Files Data Dictionary – complete schema SchemaScript – just the changes you want to make
  • 47. SchemaScript <schemaScriptxmlns="http://www.dovetailsoftware.com/2006/10/SchemaScript.xsd"> <addColumnname="x_test" table="case" dataType="Integer" /> </schemaScript> This is a completeschemascript file
  • 48. Customizing Your Schema SchemaScript in Action
  • 49. Let customize with Dovetail SchemaEditor and SchemaScript
  • 50. Tips
  • 51. A few big ones Give yourself a restore point! Preview changes before apply! Dev, then test, then production!
  • 52. Table/View IDs The valid range for new table and view ids is 430-571 and 2000-4999. This prevents any conflicts with existing or future Clarify defined id numbers. How do I know which ones are in use?BOLT will tell you: http://localhost/bolt/schema_id_info.asp
  • 53. Custom Fields Use of x_ prefix My $0.02: Use x_prefix for custom fields on baseline tables I don’t use x_ when adding custom view columns I don’t use x_ for custom table names, but I do tend to use a customer/company prefix
  • 54. Generating a Clarify Schema File Can’t generate a schema file using ddcomp Can use DD Editor(but you’ve probably already figured out I don’t like DD Editor) Use dataex dataex –gen_sc MySchema.sch
  • 55. Mark your custom schema as User Defined Clarify ddcomp (.SCH): USER_DEFINED Amdocs SchemaManager (XML): baseline = "false" Dovetail SchmaEditor (XML): isUserDefined = "true" This is the default
  • 56. Schema Files Use source code control for your schema files!
  • 57. SchemaEditor Reports Check in your scripts & reports Great for auditing & compliance SchemaDifferenceReport.txt: Dovetail SchemaEditor Difference Report ---------------------------------------------------------------- Date: 2011-03-29 17:40:51 Action: Apply User: fcsary Database Name: dovetail Input File: TestChanges.SchemaScript.xml ---------------------------------------------------------------- Changed schema Changed table "case" Added column "x_test" with type "Integer"
  • 58. Indexes Performance Indexes should be part of dbtune.sql – not the schema
  • 59. Custom Tables All objects are required to have an OBJID field, with GEN_FIELD_ID=3.
  • 60. Additional Tips – Clarify schema files Customer Fields must appear after all Clarify Fields for that object. Do NOT swap around ordering of existing fields and relations in an object. Define custom tables and views at the end of the schema file.
  • 61. Additional Tips – Clarify schema files Customer Relations must appear after all Clarify Relations for that object. All relations must have corresponding inverse relation on the target object. All inverse relations on a target object must be defined with the appropriate inverse cardinality.
  • 64. Postlude More Info on Dovetail SchemaEditor http://dovetal.es/dtSchema More Info (and free download) for Dovetail BOLT http://dovetal.es/dtBolt Feel free to contact me: gary@dovetailsoftware.com dovetailsoftware.com/blog/gsherman 512-610-5466 @gsherman These slides will be available on my blog at dovetailsoftware.com
  • 65.
  • 72. ADP in more detail
  • 74. Questions, Comments, Queries? Use the Q&A widget within WebEx

Editor's Notes

  1. I am the VP of productsWorking in Clarify for 15 years2 years as a customer, 4 years at Clarify as a Principal Consultant, 9 years here at DovetailI love sharing my knowledge of all things ClarifyMy blog at dovetailsoftware.comI actively participate in the Clarify forum on IT Toolbox
  2. For the Clarify schema, we’re really talking about the 2nd: “data about the containers of data”
  3. Clarify used to refer to tables as Objects. Fine in 1990. Not so good when we got into OO development.
  4. Case_creation_time = non-unique, performance indexcase_index = id_number (case object).name_index = first_name:last_name:phone (contact object).Typically only unique indexes which affect application behavior are stored in ADP. Not perf indexes.
  5. It is used internally by the Clarify meta data.It is also used by some database objects to describe which object is being referenced (prop_name).Clarify uses object numbers in the range 0 - 429, and 5000 - 9999.The range of legal numbers for customer-defined objects is 430 - 511, and 2000 - 4999.POMS orders table access in transactions using the object number in order to prevent deadlocks. Always access the condition object first.
  6. GUID – are present in newer Amdocs versions, such as 7.5GUID = Globally unique identifierGUIDS arent actually globally unique in Amdocs. Blurg.
  7. Views can provide advantages over tables:Views can represent a subset of the data contained in a tableViews can join and simplify multiple tables into a single virtual tableViews can act as aggregated tables, where the database engine aggregates data (sum, average etc.) and presents the calculated results as part of the dataViews can hide the complexity of data; for example a view could appear as Sales2000 or Sales2001, transparently partitioning the actual underlying tableViews take very little space to store; the database contains only the definition of a view, not a copy of all the data it presentsDepending on the SQL engine used, views can provide extra securityViews can limit the degree of exposure of a table or tables to the outer worldhttp://en.wikipedia.org/wiki/Database_view
  8. Why? Reporting, interfaces, debugging
  9. Db admin tool – shows you the physical, but not the ADP infoData Dictionary Guide is out of dateSchema file is difficult to navigate Report – may or may not be currentDovetail XML file – good for computers – not for humansBOLT is the clear winner here. And it’s free!
  10. ADP ERD
  11. Account manager ERD
  12. There’s other minor stuff:Drop/create/grant csp_get_{table} stored procedureMay need to initialize the column
  13. Still have to use a schema file for many changes (add a join, add a table, add a relation)
  14. Command line = good for automationI’ve seen some versions where db errors bubble up as “(null) (null)”
  15. differences in actual processing and results between DDE and ddcomp
  16. Command line = good for automationMore efficient than ddcomp
  17. Command line = good for automationschemaEditor files are all written as valid XML. This means that industry standard tools and editors can be used for editing these files. Dovetail provides XSD (XML Schema Definition) files, which allows schema files to be validated for proper syntax before any database connection is even made. In addition, XSD files can be used with XML editors to provide intellisense, making editing schema files easy for developers. All of this results in improved developer productivity.
  18. Let me give you a couple specific examples
  19. Only necessary changes to the database are applied, and changes are made using native syntax that is optimal for the database platform in use. As an example of this, when adding a column using other tools, a temp table is often created, all of the data is moved to this temp table, the original table is dropped, then re-created with the new column, the data is copied back into the new table, and then the temp table is dropped. All of this is highly inefficient and can require substantial storage for all of the moving around of the data. SchemaEditor simply performs an “alter table” command, which adds a new column in-place, without moving data. This results in quicker changes, less downtime, and fewer concerns about running out of space in your database.Index PreservationA common issue with other schema-editing tools is their unanticipated side effects. For example, it’s common that database indexes are mysteriously dropped when making schema changes. In most cases, this isn’t known or discovered until users report poor performance from the application, and forces developers to investigate. All of this results in wasted time and productivity. Dovetail SchemaEditor preserves existing indexes, eliminating this wasteful scenario.
  20. I’ll show an example using schemascript
  21. SchemaScript is a capability only found in Dovetail SchemaEditor. SchemaScript is a simple, imperative way of specifying the changes to be made to the database schema. A complete Clarify schema file, because of its size and complexity, can quickly become unwieldy and cumbersome to work with. SchemaScript simplifies the process of schema changes by allowing a user to specify only the changes to be made, as opposed to the complete schema.The simple, intuitive style of SchemaScript improves developer productivity and reduces the time to craft schema edits.
  22. Break to demo here
  23. Restore point: DB backup, point-in-time recovery, flashback recovery, etc. Your DBA should be able to offer guidance as to the easiest/quickest way to get you back to that point.
  24. This becomes important for Clarify upgrades.Fields, Relations, TablesIt also is useful to “extract” custom schema. Reverse SchemaScript.
  25. Generic Field IDs are something we’ll cover in Schema 201Discuss: just last week, ran into a customer’s schema that had a custom table w/out an objid column. Not good.
  26. Lets checkpoint where we are
  27. Thanks!