review of a dozen canonical data models - database...

28
Review of a Dozen Industry-Specific Canonical Data Models | 1 Review of a Dozen Canonical Data Models Barry Williams [email protected]

Upload: others

Post on 19-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Review of a Dozen Canonical Data Models - Database Answersdatabaseanswers.org/.../A_Dozen_Canonical_Data_Models.pdf · 2016-01-31 · Review of a Dozen Industry-Specific Canonical

Review of a Dozen Industry-Specific Canonical Data Models | 1

Review of a Dozen Canonical Data Models

Barry Williams [email protected]

Page 2: Review of a Dozen Canonical Data Models - Database Answersdatabaseanswers.org/.../A_Dozen_Canonical_Data_Models.pdf · 2016-01-31 · Review of a Dozen Industry-Specific Canonical

Review of a Dozen Industry-Specific Canonical Data Models | 2

1. Purpose of this Document ....................................3

2. Canonical Data Models .........................................4

3. Data Model Templates .........................................5

4. Application of the Template ..................................6

5. Examples of Canonical Data Models .......................6

5.1 Banking .................................................................................................................................... 7

5.2 Canonical Data Model ......................................................................................................... 9

5.3 Defence Logistics Requisitions ...................................................................................... 10

5.4 Education ............................................................................................................................... 12

5.5 Everyday Events ................................................................................................................. 15

5.6 Insurance ............................................................................................................................... 17

5.7 Law Enforcement ................................................................................................................ 19

5.8 Local Government .............................................................................................................. 21

5.9 Logistics ................................................................................................................................. 23

5.10 Retail ..................................................................................................................................... 25

5.11 Salesforce ........................................................................................................................... 25

5.12 Travel .................................................................................................................................... 26

6. Implementation Plan ............................................................................................................. 27

Page 3: Review of a Dozen Canonical Data Models - Database Answersdatabaseanswers.org/.../A_Dozen_Canonical_Data_Models.pdf · 2016-01-31 · Review of a Dozen Industry-Specific Canonical

Review of a Dozen Industry-Specific Canonical Data Models | 3

1. Purpose of this Document

The purpose of this document is to define an approach to Enterprise Data Models (EDMs) based on Canonical Data Models with associated Subject Area Models.

The analysis includes :-

Canonical Data model

Events Template

We use this Template for all the Industry Models that we explore in this Blog.

Analysis of 10 Industry CANONICAL DATA MODELs

Plan for first Phase of Implementation

o Banking

o Everyday Events

o Logistics

Events

(eg Customer

Services)

Customers

Locations

Products or

Services

Staff

Suppliers

Addresses

Documents Payments

Page 4: Review of a Dozen Canonical Data Models - Database Answersdatabaseanswers.org/.../A_Dozen_Canonical_Data_Models.pdf · 2016-01-31 · Review of a Dozen Industry-Specific Canonical

Review of a Dozen Industry-Specific Canonical Data Models | 4

2. Canonical Data Models

Our Canonical Data Models show the design with a Dominant Entity and associated Subject Area Models. Each of the Subject Areas can have its own Data Model.

Dominant Entity

Subject

Area 1

Subject

Area 2

Subject

Area 3

Subject

Area 4

Subject

Area 5

Subject

Area 6

Subject

Area 7 Subject

Area 8

Page 5: Review of a Dozen Canonical Data Models - Database Answersdatabaseanswers.org/.../A_Dozen_Canonical_Data_Models.pdf · 2016-01-31 · Review of a Dozen Industry-Specific Canonical

Review of a Dozen Industry-Specific Canonical Data Models | 5

3. Data Model Templates

3.1 Customer-Services Template

This shows how the Vanilla Template applies to the very common situation of Customer Services. We use this Template for all the Industry Models that we explore in this Blog.

Customer

Services

Customers

Locations

Services

Staff

Suppliers

Events

Documents Payments

Page 6: Review of a Dozen Canonical Data Models - Database Answersdatabaseanswers.org/.../A_Dozen_Canonical_Data_Models.pdf · 2016-01-31 · Review of a Dozen Industry-Specific Canonical

Review of a Dozen Industry-Specific Canonical Data Models | 6

4. Application of the Template

The remainder of this document shows how our Customer-Services Template can be applied to

create a number of Industry Models.

I would like to show the steps involved so I will provide three steps for each Industry Model to clarify

the thinking involved at each Step and show how we arrive at our final design.

5. Examples of Canonical Data Models

These examples are from my experience and are published on my Database Answers Web Site.

Here we show how our recommended HTML Approach applies to a broad range of industry sectors.

Nr Industry Sector Effort Level EDM Type 3rd. Party Others

1 Banking Substantial Bottom-

Up

Teradata

(FSLDM)

Canonical Data Model

2 Customer-Services

3 Defence Modest Barry’s

4 Education Barry’s

5 Insurance Accord

6 Law Enforcement Modest Barry’s

7 Local Government 3 people for 6

months

Bottom-

Up

Barry’s

8 Logistics

9 Retail 2 people for 6

months

Bottom-

Up

ARTS Barry’s

10 Shipping Substantial Bottom-

Up

Teradata

(FSLDM)

11 Salesforce Substantial Salesforce

12 Travel

Page 7: Review of a Dozen Canonical Data Models - Database Answersdatabaseanswers.org/.../A_Dozen_Canonical_Data_Models.pdf · 2016-01-31 · Review of a Dozen Industry-Specific Canonical

Review of a Dozen Industry-Specific Canonical Data Models | 7

5.1 Banking

Our Banking CANONICAL DATA MODEL is on this page :-

http://www.databaseanswers.org/data_models/banking_generic_data_model/index.htm

and looks like this :-

Page 8: Review of a Dozen Canonical Data Models - Database Answersdatabaseanswers.org/.../A_Dozen_Canonical_Data_Models.pdf · 2016-01-31 · Review of a Dozen Industry-Specific Canonical

Review of a Dozen Industry-Specific Canonical Data Models | 8

Step 1. My first review of the Model

My first thought was that Accounts are fundamental to Banking and therefore have to appear in our

final CANONICAL DATA MODEL.

So we have to extend the Template.

In a similar manner, Branches are very important in Retail Banking and they too will have to be

included.

We replace Payments by Financial Transactions. We remove Contracts because it is not a common requirement. We remove Transactions because we decide all Transactions can be considered Customer Service. We move Staff so that we can replace it with Branches. We decide that in Retail Banking every Service is Account-specific rather than Customer-specific.

Customer

Services

Customers

Locations

Services

Staff

Accounts

Documents Financial

Transactions

Bank

Branches

Page 9: Review of a Dozen Canonical Data Models - Database Answersdatabaseanswers.org/.../A_Dozen_Canonical_Data_Models.pdf · 2016-01-31 · Review of a Dozen Industry-Specific Canonical

Review of a Dozen Industry-Specific Canonical Data Models | 9

5.2 Canonical Data Model

Step 1. My first review of the Model

I decide to postpone the first review.

Our Canonical Data Model is on this page :-

http://www.databaseanswers.org/data_models/canonical_data_models/print_version.htm

and looks like this :-

and the Logical Data Model looks like this :-

Page 10: Review of a Dozen Canonical Data Models - Database Answersdatabaseanswers.org/.../A_Dozen_Canonical_Data_Models.pdf · 2016-01-31 · Review of a Dozen Industry-Specific Canonical

Review of a Dozen Industry-Specific Canonical Data Models | 10

5.3 Defence Logistics Requisitions

The CANONICAL DATA MODEL is on this page :-

http://www.databaseanswers.org/data_models/defense_logistics/index.htm

and looks like this :-

Step 1. My first review of the Model

I decide to remove the Unit of Measurement because it is not important enough to justify its

inclusion at the top level.

Similar thinking leads me to remove the Requisition Status because we all know that a Requisition

has a Status and we do not need to show it explicitly at this level. We probably included it original

because in discussion with users, it was emphasised that Status was very important operationally

but later from a Data Modelling point of view, we decide we should not include it.

Requisitions

Officers

Products

Requisitions Products

Central Stores

Unit of Measurements

Departments

Ships

Central Stores Products Requisitions Status

Page 11: Review of a Dozen Canonical Data Models - Database Answersdatabaseanswers.org/.../A_Dozen_Canonical_Data_Models.pdf · 2016-01-31 · Review of a Dozen Industry-Specific Canonical

Review of a Dozen Industry-Specific Canonical Data Models | 11

I decide to add a Shipments Entity because Requisitions are always followed by shipments of the

Products in the Requisitions to the Officer who originated the Requisition.

I decide that Ships, Officers and Departments are all part of the Customers Subject Area

I notice that Staff do not appear because they are not visible to the Customers.

I decide that Locations are important and should be included because a Ship can be at sea and its

location can be constantly changing.

I decide that Payments should not be included because no cash changes hands in Requisitions.

Inter-departmental budgetary transfers will usually be requested and approved in a Requisition.

Customers Subject Area

Requisitions

(ie Documents)

Officers

Products

Requisitions Products

Central Stores

(ie Suppliers)

Departments

Ships

Central Stores Products

Shipments (ie Customer Services)

Locations

(eg Tracking

Ship’s Movements)

Page 12: Review of a Dozen Canonical Data Models - Database Answersdatabaseanswers.org/.../A_Dozen_Canonical_Data_Models.pdf · 2016-01-31 · Review of a Dozen Industry-Specific Canonical

Review of a Dozen Industry-Specific Canonical Data Models | 12

5.4 Education

The Canonical Data Model is on this page :-

http://www.databaseanswers.org/data_models/enterprise_data_model_for_education/index.htm

and looks like this :-

Teachers

Teachers and Classes

Classes

Subjects

Students

Student Class Registrations

Page 13: Review of a Dozen Canonical Data Models - Database Answersdatabaseanswers.org/.../A_Dozen_Canonical_Data_Models.pdf · 2016-01-31 · Review of a Dozen Industry-Specific Canonical

Review of a Dozen Industry-Specific Canonical Data Models | 13

Step 1. My first review of the Model

When I look at this Model, my first thought is that Student Registrations are the only Services shown.

I decide that Teachers are Staff and Services include Assignments and Attendance.

Then I decide that Students play the role of Customers who use Services provided by Schools who

play the role of Suppliers.

I like this approach because it is elegant, compact and very general so I feel confident that it will help

me.

So I decide to start with the Customer-Services Template that is shown below.

This shows how the Vanilla Template applies to the very common situation of Customer Services. We use this Template for all the Industry Models that we explore in this Blog.

Customer

Services

Customers

Locations

Services

Staff

Suppliers

Events

Documents Payments

Page 14: Review of a Dozen Canonical Data Models - Database Answersdatabaseanswers.org/.../A_Dozen_Canonical_Data_Models.pdf · 2016-01-31 · Review of a Dozen Industry-Specific Canonical

Review of a Dozen Industry-Specific Canonical Data Models | 14

So now the first draft of my Model looks like this :-

This shows how the Vanilla Template applies to the very common situation of Customer Services. We use this Template for all the Industry Models that we explore in this Blog. I decided to leave the Payments Entity in because Payments do not occur very often but when they do, they are very important and cannot be represented by any other Entity. In other words, I have to include Payments for the rare occasions when it is required.

Services Subject Area

Student Activities (ie Customer Services)

Students

(ie Customers)

Locations

Classes

Teachers

(ie Staff)

Suppliers

(ie Schools)

Assignments,

Registrations

(ie Events)

Homework

(ie Documents)

Payments

Subjects

Page 15: Review of a Dozen Canonical Data Models - Database Answersdatabaseanswers.org/.../A_Dozen_Canonical_Data_Models.pdf · 2016-01-31 · Review of a Dozen Industry-Specific Canonical

Review of a Dozen Industry-Specific Canonical Data Models | 15

5.5 Everyday Events

The Canonical Data Model is on this page :-

http://www.databaseanswers.org/data_models/insurance_policies_and_claims/policies_claims_and_beneficiaries.htm

and looks like this :-

Note that Arrows point from Children to Parents.

Customers Addresses

Policies

Claims Beneficiaries

Payments to Beneficiaries

Page 16: Review of a Dozen Canonical Data Models - Database Answersdatabaseanswers.org/.../A_Dozen_Canonical_Data_Models.pdf · 2016-01-31 · Review of a Dozen Industry-Specific Canonical

Review of a Dozen Industry-Specific Canonical Data Models | 16

5.5.1 Customer-Services Template

This shows how the Vanilla Template applies to the very common situation of Customer Services. We use this Template for all the Industry Models that we explore in this Blog.

5.5.2 Applying the Template for Everyday Events

Customer

Services

Customers

Locations

Services

Staff

Suppliers

Events

Documents Payments

Claims (ie Customer

Services)

Customers Addresses

(ie Locations)

Policies

(eg Services)

Suppliers Beneficiaries

Documents

(eg printed Claims,

Policies, etc)

Payments

(to Beneficiaries)

Page 17: Review of a Dozen Canonical Data Models - Database Answersdatabaseanswers.org/.../A_Dozen_Canonical_Data_Models.pdf · 2016-01-31 · Review of a Dozen Industry-Specific Canonical

Review of a Dozen Industry-Specific Canonical Data Models | 17

5.6 Insurance

The Canonical Data Model is on this page :-

http://www.databaseanswers.org/data_models/insurance_policies_and_claims/policies_claims_and_beneficiaries.htm

and looks like this :-

Note that Arrows point from Children to Parents.

Customers Addresses

Policies

Claims Beneficiaries

Payments to Beneficiaries

Page 18: Review of a Dozen Canonical Data Models - Database Answersdatabaseanswers.org/.../A_Dozen_Canonical_Data_Models.pdf · 2016-01-31 · Review of a Dozen Industry-Specific Canonical

Review of a Dozen Industry-Specific Canonical Data Models | 18

5.6.1 Customer-Services Template

This shows how the Vanilla Template applies to the very common situation of Customer Services. We use this Template for all the Industry Models that we explore in this Blog.

5.6.2 Applying the Template for Insurance

Customer

Services

Customers

Locations

Services

Staff

Suppliers

Events

Documents Payments

Claims (ie Customer

Services)

Customers Addresses

(ie Locations)

Policies

(eg Services)

Suppliers Beneficiaries

Documents

(eg printed Claims,

Policies, etc)

Payments

(to Beneficiaries)

Page 19: Review of a Dozen Canonical Data Models - Database Answersdatabaseanswers.org/.../A_Dozen_Canonical_Data_Models.pdf · 2016-01-31 · Review of a Dozen Industry-Specific Canonical

Review of a Dozen Industry-Specific Canonical Data Models | 19

5.7 Law Enforcement

The Canonical Data Model is on this page :-

http://www.databaseanswers.org/data_models/local_govt_top_level/index.htm

and looks like this :-

Customers

Staff

Council

Tax

Customer Master Index

(Matching Customers)

Housing

Benefits

Parking Social

Services

Other

Systems

Page 20: Review of a Dozen Canonical Data Models - Database Answersdatabaseanswers.org/.../A_Dozen_Canonical_Data_Models.pdf · 2016-01-31 · Review of a Dozen Industry-Specific Canonical

Review of a Dozen Industry-Specific Canonical Data Models | 20

Step 1. My first review of the Model

At this point, I decided to change from a Customer-Services Template to an Events Template.

When I look at this Model, my first thought is that it emphasises Master Data and Customer Data.

The role of Customers in requesting Services is not shown.

I decide that the role of Customers is played by Residents who request Services.

5.6.1 New Events Template

This shows my new Events Template looks. The reasons for my changes are :- We use this Template for all the Industry Models that we explore in this Blog.

Events

(eg Customer

Services)

Customers

Locations

Products or

Services

Staff

Suppliers

Addresses

Documents Payments

Page 21: Review of a Dozen Canonical Data Models - Database Answersdatabaseanswers.org/.../A_Dozen_Canonical_Data_Models.pdf · 2016-01-31 · Review of a Dozen Industry-Specific Canonical

Review of a Dozen Industry-Specific Canonical Data Models | 21

5.8 Local Government

The Canonical Data Model is on this page :-

http://www.databaseanswers.org/data_models/local_govt_top_level/index.htm

and looks like this :-

Customers

Staff

Council

Tax

Customer Master Index

(Matching Customers)

Housing

Benefits

Parking Social

Services

Other

Systems

Page 22: Review of a Dozen Canonical Data Models - Database Answersdatabaseanswers.org/.../A_Dozen_Canonical_Data_Models.pdf · 2016-01-31 · Review of a Dozen Industry-Specific Canonical

Review of a Dozen Industry-Specific Canonical Data Models | 22

Step 1. My first review of the Model

When I look at this Model, my first thought is that it emphasises Master Data and Customer Data.

The role of Customers in requesting Services is not shown.

I decide that the role of Customers is played by Residents who request Services.

In other words my Customer Services Template is highly appropriate.

So here is my progress :-

Customers Staff

Council Tax Customer

Service

Requests

Housing Benefits

Parking

Social Services

Other Services

Services

Electoral Register

Documents Payments

Addresses

Suppliers

(ie Local Authority)

Page 23: Review of a Dozen Canonical Data Models - Database Answersdatabaseanswers.org/.../A_Dozen_Canonical_Data_Models.pdf · 2016-01-31 · Review of a Dozen Industry-Specific Canonical

Review of a Dozen Industry-Specific Canonical Data Models | 23

5.9 Logistics

The Canonical Data Model is on this page :-

http://www.databaseanswers.org/data_models/enterprise_data_model_for_logistics/index.htm

and looks like this :-

Note that the arrows usually go from Child to Parent.

Addresses

Shipment

Documents

Shipments

Locations

Orders

Customers

Products

Products in

Shipments

Shipment Legs

Documents

Shipment Legs

Document

Types

Page 24: Review of a Dozen Canonical Data Models - Database Answersdatabaseanswers.org/.../A_Dozen_Canonical_Data_Models.pdf · 2016-01-31 · Review of a Dozen Industry-Specific Canonical

Review of a Dozen Industry-Specific Canonical Data Models | 24

Step 1. My first review of the Model

When I look at this Model, my first thought is that Planned Shipments are Services that are not

shown and the Shipments that are shown are Customer Services.

I decided that Document Types are Reference Data and are not important enough to justify a place

at the High Level Data Model.

Addresses

Payments

Shipments

(e Customer

Services)

Locations

Orders

Customers

Products

Products in

Shipments

Shipment Legs

Documents

Shipment Legs

Staff

Suppliers

Scheduled

Shipments

(ie Services)

Page 25: Review of a Dozen Canonical Data Models - Database Answersdatabaseanswers.org/.../A_Dozen_Canonical_Data_Models.pdf · 2016-01-31 · Review of a Dozen Industry-Specific Canonical

Review of a Dozen Industry-Specific Canonical Data Models | 25

5.10 Retail

The Canonical Data Model is on this page :-

http://www.databaseanswers.org/data_models/enterprise_data_model_for_retail/index.htm

and looks like this :-

Step 1. My first review of the Model

When I look at this Model, my first thought is that it is a good match to the Canonical Data Model

Template so I will accept it as it is for the time being.

5.11 Salesforce

The Canonical Data Model is on this page :-

http://www.databaseanswers.org/data_models/salesforce_dotcom/index.htm

and looks like this :-

Opportunity

User

Contact

Account

Contact Activity

Page 26: Review of a Dozen Canonical Data Models - Database Answersdatabaseanswers.org/.../A_Dozen_Canonical_Data_Models.pdf · 2016-01-31 · Review of a Dozen Industry-Specific Canonical

Review of a Dozen Industry-Specific Canonical Data Models | 26

5.12 Travel

The Canonical Data Model is on this page :-

http://www.databaseanswers.org/data_models/travel_and_transport_top_level/index.htm

and looks like this :-

Step 1. My first review of the Model

When I look at this Model, my first thought is that there is a close match with the Events Template.

Passengers (ie Customers)

Shipping Companies, Airlines, (ie Suppliers)

Payments

Sales Receipts

Documents

Bookings,

Reservations, (ie Service Requests)

Services Staff

Delivery Notes

Cargo

Shipments

Tickets

Locations

Airline

Flights

Page 27: Review of a Dozen Canonical Data Models - Database Answersdatabaseanswers.org/.../A_Dozen_Canonical_Data_Models.pdf · 2016-01-31 · Review of a Dozen Industry-Specific Canonical

Review of a Dozen Industry-Specific Canonical Data Models | 27

6. Implementation Plan

6.1 Step 1 – Identify the Features

This is our Plan for the first Phase of Implementation, based on

Banking

Everyday

Logistics

Here we analyse the Template features.

Template Feature Banking Everyday Events Logistics

Addresses Customer’s Addresses Customer’s Addresses Customer’s Addresses

Customers Customers Customers Customers

Documents Bank Statements Sales Receipts, Tickets Shipping Documents,

Receipts

Events Make Payments,

Withdrawals

Buy Meal, Buy Ticket,

Take a Trip

Shipments

Locations Statements Shop, Train Station Locations

Payments Fees, Interest Payments Retail Purchases Payments

Products Retail Products,

Restaurant Meals

Cargo Item

Services Services – Accounts,

Loans, Overdrafts.

Retail Services,

Restaurant Service

Shipment Services

Staff Tellers Shop Assistants, Waiters

Suppliers Banks Retail Chains, Transport

Companies

Shippers

Page 28: Review of a Dozen Canonical Data Models - Database Answersdatabaseanswers.org/.../A_Dozen_Canonical_Data_Models.pdf · 2016-01-31 · Review of a Dozen Industry-Specific Canonical

Review of a Dozen Industry-Specific Canonical Data Models | 28

6.2 Step 2 – Define the Spreadsheets

The Spreadsheets shown for each Industry will be used for Data Entry and Data Enquiries.

6.2.1 Banking

Here we show the features for each Industry.

Data Entry

Data Enquiry

6.2.2 Everyday Events

Here we show the features for each Industry.

6.2.3 Logistics

Here we show the features for each Industry.

6.3 Load Data then display stored Data

Our checks are Data Entry and Data Enquiries.