SlideShare ist ein Scribd-Unternehmen logo
1 von 35
How to document a database
Piotr Kononow
Dataedo
https://dataedo.com
Agenda
I. Why document
II. What is database documentation
III. How to document
I. WHY
DOCUMENT
Need to data access & analysis is growing
Google search
https://dataedo.com
Databases are vague
Sample table and column names from real databases:
• MTL_SYSTEM_ITEMS_B – Raw materials?
• tP – Projects. Who would guess…
• BEN_PRTT_RMT_RQST_CTFN_PRVDD - ?
• RSRCSECX - ?
• ATTRIBUTE5 – Who knows…
https://dataedo.com
Databases are complex
Sample table in Oracle e-Business Suite (ERP)
https://dataedo.com
Databases are large
Number of tables and views in sample applications:
• Sample custom enterprise application: 3,000
• TETA (HRM): 9,000
• Oracle e-Business Suite (ERP): 55,000
• SAP (ERP): 130,000!
https://dataedo.com
…but as if addresses had following format:
PA_ADW_R_ACT_CMT_B_V.TXN_ADW_NOTIFY_FLAG
Finding a column is like trying to find an apartment in Manhattan
You need a map
https://dataedo.com
When is it useful?
• Software Development
• Data Warehousing, BI
• Data Analysis, Data Science, Big Bata
• Packaged application implementation – ERP, CRM, HRM,
billing etc.
• Application Integration (EAI, EII, MDM)
• Software/system maintenance
• Data Migration
• Data Quality
• Master Data Management
https://dataedo.com
II. WHAT IS
DATABASE DOCUMENTATION
1. Data Dictionary
Table: employee
Table holds past, current and future company employees.
Column Data type Description
BusinessEntityID int Primary key for Employee records. Foreign key
to BusinessEntity.BusinessEntityID.
NationalIDNumber nvarchar(15) Unique national identification number such as
a social security number.
LoginID nvarchar(256) Network login.
OrganizationNode hierarchyid Where the employee is located in corporate
hierarchy.
OrganizationLevel smallint The depth of the employee in the corporate
hierarchy.
JobTitle nvarchar(50) Work title such as Buyer or Sales
Representative.
https://dataedo.com
Relations
https://dataedo.com
Table Role Foreign key column Description
Departments Works in DepartmentID Department where emplyee
People Manager ManagerID Employee superior
JobsDict Job title TitleID Employee job title
Statuses
Employee row can be in following statuses based on dates:
• Future – start_date > today or start_date null
• Current – start_date <= today and (end_date > today or null)
• Past – end_date < today
https://dataedo.com
List of Values
Column Description
MaritalStatus M = Married, S = Single, NULL = Unknown
ActiveFlag 1 = Active, 0 = Inactive
https://dataedo.com
Data Access Interface
To modify and fetch data use this:
• employee_get – returns specified employee row
• employees_get – returns selected employees
• employee_insert – use this to insert new employee
• employee_update – use this to update employee row
• employee_delete – use this to delete employee
https://dataedo.com
Usage
View: employees_active_v
Used by: Employees search form,
Active employees report
https://dataedo.com
Data Source
Table: employee
Data source: Employees form, sync_employees
Column Source
MaritalStatus Employees form
NationalIDNumber Employees form
Number emp_no trigger
Score Data warehouse, calc_employees_scores
https://dataedo.com
Other Metadata
Table: po_headers_all (Purchase orders)
Subject Area: Purchasing
Owner: Piotr Kononow
Column
po_header_id
po_header_number [OBSOLETE]
po_header_code
qty Quantity
value qty * unit_price
https://dataedo.com
Meaningful Descriptions
Instead of this:
Column Description
number Invoice number
date Invoice date
https://dataedo.com
Meaningful Descriptions
Do this:
Column Description
number Invoice autogenerated number, starting from 1 each
year. Number is generated when invoice gets
approved.
date Invoice issue date. Null for working copy invoices. Set
to today’s date on invoice approval.
https://dataedo.com
2. ERDs – The Good
https://dataedo.com
ERDs – The Bad
https://dataedo.com
ERD is not this:
https://dataedo.com
But this:
https://dataedo.com
3. Document Code
https://dataedo.com
Metadata, Change History
https://dataedo.com
III. HOW TO
DOCUMENT
Rule of thumb:
Document as you design and develop
https://dataedo.com
What tools to use?
• MS Excel, MS Word, Notepad
• Database console
• Dedicated tool
https://dataedo.com
Database console – Description
Not most convenient
https://dataedo.com
Dedicated tools
• Dataedo
• Redgate SQL Doc
• ApexSQL Doc
https://dataedo.com
Dedicated tools
https://dataedo.com
Dedicated tools
https://dataedo.com
Thank you
Piotr Kononow
Learn more at:
https://dataedo.com/blog

Weitere ähnliche Inhalte

Was ist angesagt?

Etl - Extract Transform Load
Etl - Extract Transform LoadEtl - Extract Transform Load
Etl - Extract Transform LoadABDUL KHALIQ
 
Entity relationship diagram
Entity relationship diagramEntity relationship diagram
Entity relationship diagramHaseeb
 
Graph Database Query Languages
Graph Database Query LanguagesGraph Database Query Languages
Graph Database Query LanguagesJay Coskey
 
Data Modeling for Big Data
Data Modeling for Big DataData Modeling for Big Data
Data Modeling for Big DataDATAVERSITY
 
Complex queries in sql
Complex queries in sqlComplex queries in sql
Complex queries in sqlCharan Reddy
 
Optimizing MapReduce Job performance
Optimizing MapReduce Job performanceOptimizing MapReduce Job performance
Optimizing MapReduce Job performanceDataWorks Summit
 
Top 65 SQL Interview Questions and Answers | Edureka
Top 65 SQL Interview Questions and Answers | EdurekaTop 65 SQL Interview Questions and Answers | Edureka
Top 65 SQL Interview Questions and Answers | EdurekaEdureka!
 
Database Systems - Introduction to SQL (Chapter 3/1)
Database Systems - Introduction to SQL (Chapter 3/1)Database Systems - Introduction to SQL (Chapter 3/1)
Database Systems - Introduction to SQL (Chapter 3/1)Vidyasagar Mundroy
 
Five Things I Wish I Knew the First Day I Used Tableau
Five Things I Wish I Knew the First Day I Used TableauFive Things I Wish I Knew the First Day I Used Tableau
Five Things I Wish I Knew the First Day I Used TableauRyan Sleeper
 
PostgreSQL Tutorial For Beginners | Edureka
PostgreSQL Tutorial For Beginners | EdurekaPostgreSQL Tutorial For Beginners | Edureka
PostgreSQL Tutorial For Beginners | EdurekaEdureka!
 
1.4 data warehouse
1.4 data warehouse1.4 data warehouse
1.4 data warehouseKrish_ver2
 
Introduction to Data Engineering
Introduction to Data EngineeringIntroduction to Data Engineering
Introduction to Data EngineeringDurga Gadiraju
 

Was ist angesagt? (20)

Oracle SQL Basics
Oracle SQL BasicsOracle SQL Basics
Oracle SQL Basics
 
Sql
SqlSql
Sql
 
Etl - Extract Transform Load
Etl - Extract Transform LoadEtl - Extract Transform Load
Etl - Extract Transform Load
 
SQL
SQLSQL
SQL
 
Entity relationship diagram
Entity relationship diagramEntity relationship diagram
Entity relationship diagram
 
Spark SQL
Spark SQLSpark SQL
Spark SQL
 
Graph Database Query Languages
Graph Database Query LanguagesGraph Database Query Languages
Graph Database Query Languages
 
Data Modeling for Big Data
Data Modeling for Big DataData Modeling for Big Data
Data Modeling for Big Data
 
Complex queries in sql
Complex queries in sqlComplex queries in sql
Complex queries in sql
 
Graph databases
Graph databasesGraph databases
Graph databases
 
SQL
SQL SQL
SQL
 
Optimizing MapReduce Job performance
Optimizing MapReduce Job performanceOptimizing MapReduce Job performance
Optimizing MapReduce Job performance
 
Top 65 SQL Interview Questions and Answers | Edureka
Top 65 SQL Interview Questions and Answers | EdurekaTop 65 SQL Interview Questions and Answers | Edureka
Top 65 SQL Interview Questions and Answers | Edureka
 
Database Systems - Introduction to SQL (Chapter 3/1)
Database Systems - Introduction to SQL (Chapter 3/1)Database Systems - Introduction to SQL (Chapter 3/1)
Database Systems - Introduction to SQL (Chapter 3/1)
 
Five Things I Wish I Knew the First Day I Used Tableau
Five Things I Wish I Knew the First Day I Used TableauFive Things I Wish I Knew the First Day I Used Tableau
Five Things I Wish I Knew the First Day I Used Tableau
 
Data Modeling with Power BI
Data Modeling with Power BIData Modeling with Power BI
Data Modeling with Power BI
 
SQL Views
SQL ViewsSQL Views
SQL Views
 
PostgreSQL Tutorial For Beginners | Edureka
PostgreSQL Tutorial For Beginners | EdurekaPostgreSQL Tutorial For Beginners | Edureka
PostgreSQL Tutorial For Beginners | Edureka
 
1.4 data warehouse
1.4 data warehouse1.4 data warehouse
1.4 data warehouse
 
Introduction to Data Engineering
Introduction to Data EngineeringIntroduction to Data Engineering
Introduction to Data Engineering
 

Andere mochten auch

Clean Code (Presentacion interna en Virtual Software)
Clean Code (Presentacion interna en Virtual Software)Clean Code (Presentacion interna en Virtual Software)
Clean Code (Presentacion interna en Virtual Software)jmiguel rodriguez
 
Names, Things, and Open Identifier Infrastructure: N2T and ARKs
Names, Things, and Open Identifier Infrastructure: N2T and ARKsNames, Things, and Open Identifier Infrastructure: N2T and ARKs
Names, Things, and Open Identifier Infrastructure: N2T and ARKsJohn Kunze
 
How to find and fix your Oracle-based application performance problem
How to find and fix your Oracle-based application performance problemHow to find and fix your Oracle-based application performance problem
How to find and fix your Oracle-based application performance problemCary Millsap
 
Oracle 12c New Features_RMAN_slides
Oracle 12c New Features_RMAN_slidesOracle 12c New Features_RMAN_slides
Oracle 12c New Features_RMAN_slidesSaiful
 
А.Левенчук -- киберэкспертиза: мифы и реальность
А.Левенчук -- киберэкспертиза: мифы и реальностьА.Левенчук -- киберэкспертиза: мифы и реальность
А.Левенчук -- киберэкспертиза: мифы и реальностьAnatoly Levenchuk
 
Scaling etl with hadoop shapira 3
Scaling etl with hadoop   shapira 3Scaling etl with hadoop   shapira 3
Scaling etl with hadoop shapira 3Gwen (Chen) Shapira
 
DBA Commands and Concepts That Every Developer Should Know
DBA Commands and Concepts That Every Developer Should KnowDBA Commands and Concepts That Every Developer Should Know
DBA Commands and Concepts That Every Developer Should KnowAlex Zaballa
 
Scaling ETL with Hadoop - Avoiding Failure
Scaling ETL with Hadoop - Avoiding FailureScaling ETL with Hadoop - Avoiding Failure
Scaling ETL with Hadoop - Avoiding FailureGwen (Chen) Shapira
 
Clase 7-Conceptos hebraicos-davar-parte-iii
Clase 7-Conceptos hebraicos-davar-parte-iiiClase 7-Conceptos hebraicos-davar-parte-iii
Clase 7-Conceptos hebraicos-davar-parte-iiiantso
 
A Walk Through the Kimball ETL Subsystems with Oracle Data Integration
A Walk Through the Kimball ETL Subsystems with Oracle Data IntegrationA Walk Through the Kimball ETL Subsystems with Oracle Data Integration
A Walk Through the Kimball ETL Subsystems with Oracle Data IntegrationMichael Rainey
 
Designing High Performance ETL for Data Warehouse
Designing High Performance ETL for Data WarehouseDesigning High Performance ETL for Data Warehouse
Designing High Performance ETL for Data WarehouseMarcel Franke
 
ETL Is Dead, Long-live Streams
ETL Is Dead, Long-live StreamsETL Is Dead, Long-live Streams
ETL Is Dead, Long-live StreamsC4Media
 
Infographie Slack : 5 raisons de remplacer votre messagerie interne
Infographie Slack : 5 raisons de remplacer votre messagerie interneInfographie Slack : 5 raisons de remplacer votre messagerie interne
Infographie Slack : 5 raisons de remplacer votre messagerie interneDigitools.io
 
Paraloka darsanamulu
Paraloka darsanamuluParaloka darsanamulu
Paraloka darsanamuluipcchurch
 
It consultant in usa-subrat patnaik.
It consultant in usa-subrat patnaik.It consultant in usa-subrat patnaik.
It consultant in usa-subrat patnaik.subrat patnaik
 
Customer Engagement for Trailblazers
Customer Engagement for TrailblazersCustomer Engagement for Trailblazers
Customer Engagement for TrailblazersKofax
 
Backup & recovery with rman
Backup & recovery with rmanBackup & recovery with rman
Backup & recovery with rmanitsabidhussain
 

Andere mochten auch (19)

Clean Code (Presentacion interna en Virtual Software)
Clean Code (Presentacion interna en Virtual Software)Clean Code (Presentacion interna en Virtual Software)
Clean Code (Presentacion interna en Virtual Software)
 
SQL- Data Base
SQL- Data BaseSQL- Data Base
SQL- Data Base
 
Names, Things, and Open Identifier Infrastructure: N2T and ARKs
Names, Things, and Open Identifier Infrastructure: N2T and ARKsNames, Things, and Open Identifier Infrastructure: N2T and ARKs
Names, Things, and Open Identifier Infrastructure: N2T and ARKs
 
How to find and fix your Oracle-based application performance problem
How to find and fix your Oracle-based application performance problemHow to find and fix your Oracle-based application performance problem
How to find and fix your Oracle-based application performance problem
 
Oracle 12c New Features_RMAN_slides
Oracle 12c New Features_RMAN_slidesOracle 12c New Features_RMAN_slides
Oracle 12c New Features_RMAN_slides
 
DBA oracle
DBA oracleDBA oracle
DBA oracle
 
А.Левенчук -- киберэкспертиза: мифы и реальность
А.Левенчук -- киберэкспертиза: мифы и реальностьА.Левенчук -- киберэкспертиза: мифы и реальность
А.Левенчук -- киберэкспертиза: мифы и реальность
 
Scaling etl with hadoop shapira 3
Scaling etl with hadoop   shapira 3Scaling etl with hadoop   shapira 3
Scaling etl with hadoop shapira 3
 
DBA Commands and Concepts That Every Developer Should Know
DBA Commands and Concepts That Every Developer Should KnowDBA Commands and Concepts That Every Developer Should Know
DBA Commands and Concepts That Every Developer Should Know
 
Scaling ETL with Hadoop - Avoiding Failure
Scaling ETL with Hadoop - Avoiding FailureScaling ETL with Hadoop - Avoiding Failure
Scaling ETL with Hadoop - Avoiding Failure
 
Clase 7-Conceptos hebraicos-davar-parte-iii
Clase 7-Conceptos hebraicos-davar-parte-iiiClase 7-Conceptos hebraicos-davar-parte-iii
Clase 7-Conceptos hebraicos-davar-parte-iii
 
A Walk Through the Kimball ETL Subsystems with Oracle Data Integration
A Walk Through the Kimball ETL Subsystems with Oracle Data IntegrationA Walk Through the Kimball ETL Subsystems with Oracle Data Integration
A Walk Through the Kimball ETL Subsystems with Oracle Data Integration
 
Designing High Performance ETL for Data Warehouse
Designing High Performance ETL for Data WarehouseDesigning High Performance ETL for Data Warehouse
Designing High Performance ETL for Data Warehouse
 
ETL Is Dead, Long-live Streams
ETL Is Dead, Long-live StreamsETL Is Dead, Long-live Streams
ETL Is Dead, Long-live Streams
 
Infographie Slack : 5 raisons de remplacer votre messagerie interne
Infographie Slack : 5 raisons de remplacer votre messagerie interneInfographie Slack : 5 raisons de remplacer votre messagerie interne
Infographie Slack : 5 raisons de remplacer votre messagerie interne
 
Paraloka darsanamulu
Paraloka darsanamuluParaloka darsanamulu
Paraloka darsanamulu
 
It consultant in usa-subrat patnaik.
It consultant in usa-subrat patnaik.It consultant in usa-subrat patnaik.
It consultant in usa-subrat patnaik.
 
Customer Engagement for Trailblazers
Customer Engagement for TrailblazersCustomer Engagement for Trailblazers
Customer Engagement for Trailblazers
 
Backup & recovery with rman
Backup & recovery with rmanBackup & recovery with rman
Backup & recovery with rman
 

Ähnlich wie How to document a database

MSBI and Data WareHouse techniques by Quontra
MSBI and Data WareHouse techniques by Quontra MSBI and Data WareHouse techniques by Quontra
MSBI and Data WareHouse techniques by Quontra QUONTRASOLUTIONS
 
project_phrase I.pptx
project_phrase I.pptxproject_phrase I.pptx
project_phrase I.pptxNambiraju
 
Creating Database 2010
Creating Database 2010Creating Database 2010
Creating Database 2010tgushi12
 
Advance Sql Server Store procedure Presentation
Advance Sql Server Store procedure PresentationAdvance Sql Server Store procedure Presentation
Advance Sql Server Store procedure PresentationAmin Uddin
 
3._DWH_Architecture__Components.ppt
3._DWH_Architecture__Components.ppt3._DWH_Architecture__Components.ppt
3._DWH_Architecture__Components.pptBsMath3rdsem
 
Basics of Microsoft Business Intelligence and Data Integration Techniques
Basics of Microsoft Business Intelligence and Data Integration TechniquesBasics of Microsoft Business Intelligence and Data Integration Techniques
Basics of Microsoft Business Intelligence and Data Integration TechniquesValmik Potbhare
 
MIS5101 WK10 Outcome Measures
MIS5101 WK10 Outcome MeasuresMIS5101 WK10 Outcome Measures
MIS5101 WK10 Outcome MeasuresSteven Johnson
 
Data warehousing and business intelligence project report
Data warehousing and business intelligence project reportData warehousing and business intelligence project report
Data warehousing and business intelligence project reportsonalighai
 
Data Modeling, Meta Data and Data Lineage Demo - Highlights from 2016 Data Mo...
Data Modeling, Meta Data and Data Lineage Demo - Highlights from 2016 Data Mo...Data Modeling, Meta Data and Data Lineage Demo - Highlights from 2016 Data Mo...
Data Modeling, Meta Data and Data Lineage Demo - Highlights from 2016 Data Mo...Angela Boyd
 
Business Intelligence
Business IntelligenceBusiness Intelligence
Business IntelligenceTing Yin
 
Revamp the tablespace reorg process with ibm db2 automation tool
Revamp the tablespace reorg process with ibm db2 automation toolRevamp the tablespace reorg process with ibm db2 automation tool
Revamp the tablespace reorg process with ibm db2 automation toolBharath Nunepalli
 
How to Fire People with SharePoint
How to Fire People with SharePointHow to Fire People with SharePoint
How to Fire People with SharePointSandra Mahan
 
BI Apps Architecture
BI Apps ArchitectureBI Apps Architecture
BI Apps ArchitectureDylan Wan
 
Skills Portfolio
Skills PortfolioSkills Portfolio
Skills Portfoliorolee23
 
From Legacy Web Application To SharePoint - a case study
From Legacy Web Application To SharePoint - a case studyFrom Legacy Web Application To SharePoint - a case study
From Legacy Web Application To SharePoint - a case studyElizabeth Szabo
 

Ähnlich wie How to document a database (20)

ITReady DW Day2
ITReady DW Day2ITReady DW Day2
ITReady DW Day2
 
MSBI and Data WareHouse techniques by Quontra
MSBI and Data WareHouse techniques by Quontra MSBI and Data WareHouse techniques by Quontra
MSBI and Data WareHouse techniques by Quontra
 
project_phrase I.pptx
project_phrase I.pptxproject_phrase I.pptx
project_phrase I.pptx
 
Creating Database 2010
Creating Database 2010Creating Database 2010
Creating Database 2010
 
Advance Sql Server Store procedure Presentation
Advance Sql Server Store procedure PresentationAdvance Sql Server Store procedure Presentation
Advance Sql Server Store procedure Presentation
 
3._DWH_Architecture__Components.ppt
3._DWH_Architecture__Components.ppt3._DWH_Architecture__Components.ppt
3._DWH_Architecture__Components.ppt
 
What is a Database?
What is a Database?What is a Database?
What is a Database?
 
DataModeling.pptx
DataModeling.pptxDataModeling.pptx
DataModeling.pptx
 
Basics of Microsoft Business Intelligence and Data Integration Techniques
Basics of Microsoft Business Intelligence and Data Integration TechniquesBasics of Microsoft Business Intelligence and Data Integration Techniques
Basics of Microsoft Business Intelligence and Data Integration Techniques
 
MIS5101 WK10 Outcome Measures
MIS5101 WK10 Outcome MeasuresMIS5101 WK10 Outcome Measures
MIS5101 WK10 Outcome Measures
 
ETL
ETL ETL
ETL
 
Data warehousing and business intelligence project report
Data warehousing and business intelligence project reportData warehousing and business intelligence project report
Data warehousing and business intelligence project report
 
Data Modeling, Meta Data and Data Lineage Demo - Highlights from 2016 Data Mo...
Data Modeling, Meta Data and Data Lineage Demo - Highlights from 2016 Data Mo...Data Modeling, Meta Data and Data Lineage Demo - Highlights from 2016 Data Mo...
Data Modeling, Meta Data and Data Lineage Demo - Highlights from 2016 Data Mo...
 
Business Intelligence
Business IntelligenceBusiness Intelligence
Business Intelligence
 
Revamp the tablespace reorg process with ibm db2 automation tool
Revamp the tablespace reorg process with ibm db2 automation toolRevamp the tablespace reorg process with ibm db2 automation tool
Revamp the tablespace reorg process with ibm db2 automation tool
 
How to Fire People with SharePoint
How to Fire People with SharePointHow to Fire People with SharePoint
How to Fire People with SharePoint
 
BI Apps Architecture
BI Apps ArchitectureBI Apps Architecture
BI Apps Architecture
 
Database
DatabaseDatabase
Database
 
Skills Portfolio
Skills PortfolioSkills Portfolio
Skills Portfolio
 
From Legacy Web Application To SharePoint - a case study
From Legacy Web Application To SharePoint - a case studyFrom Legacy Web Application To SharePoint - a case study
From Legacy Web Application To SharePoint - a case study
 

Kürzlich hochgeladen

GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 

Kürzlich hochgeladen (20)

GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 

How to document a database

  • 1. How to document a database Piotr Kononow Dataedo https://dataedo.com
  • 2. Agenda I. Why document II. What is database documentation III. How to document
  • 4. Need to data access & analysis is growing Google search https://dataedo.com
  • 5. Databases are vague Sample table and column names from real databases: • MTL_SYSTEM_ITEMS_B – Raw materials? • tP – Projects. Who would guess… • BEN_PRTT_RMT_RQST_CTFN_PRVDD - ? • RSRCSECX - ? • ATTRIBUTE5 – Who knows… https://dataedo.com
  • 6. Databases are complex Sample table in Oracle e-Business Suite (ERP) https://dataedo.com
  • 7. Databases are large Number of tables and views in sample applications: • Sample custom enterprise application: 3,000 • TETA (HRM): 9,000 • Oracle e-Business Suite (ERP): 55,000 • SAP (ERP): 130,000! https://dataedo.com
  • 8. …but as if addresses had following format: PA_ADW_R_ACT_CMT_B_V.TXN_ADW_NOTIFY_FLAG Finding a column is like trying to find an apartment in Manhattan
  • 9. You need a map https://dataedo.com
  • 10. When is it useful? • Software Development • Data Warehousing, BI • Data Analysis, Data Science, Big Bata • Packaged application implementation – ERP, CRM, HRM, billing etc. • Application Integration (EAI, EII, MDM) • Software/system maintenance • Data Migration • Data Quality • Master Data Management https://dataedo.com
  • 11. II. WHAT IS DATABASE DOCUMENTATION
  • 12. 1. Data Dictionary Table: employee Table holds past, current and future company employees. Column Data type Description BusinessEntityID int Primary key for Employee records. Foreign key to BusinessEntity.BusinessEntityID. NationalIDNumber nvarchar(15) Unique national identification number such as a social security number. LoginID nvarchar(256) Network login. OrganizationNode hierarchyid Where the employee is located in corporate hierarchy. OrganizationLevel smallint The depth of the employee in the corporate hierarchy. JobTitle nvarchar(50) Work title such as Buyer or Sales Representative. https://dataedo.com
  • 13. Relations https://dataedo.com Table Role Foreign key column Description Departments Works in DepartmentID Department where emplyee People Manager ManagerID Employee superior JobsDict Job title TitleID Employee job title
  • 14. Statuses Employee row can be in following statuses based on dates: • Future – start_date > today or start_date null • Current – start_date <= today and (end_date > today or null) • Past – end_date < today https://dataedo.com
  • 15. List of Values Column Description MaritalStatus M = Married, S = Single, NULL = Unknown ActiveFlag 1 = Active, 0 = Inactive https://dataedo.com
  • 16. Data Access Interface To modify and fetch data use this: • employee_get – returns specified employee row • employees_get – returns selected employees • employee_insert – use this to insert new employee • employee_update – use this to update employee row • employee_delete – use this to delete employee https://dataedo.com
  • 17. Usage View: employees_active_v Used by: Employees search form, Active employees report https://dataedo.com
  • 18. Data Source Table: employee Data source: Employees form, sync_employees Column Source MaritalStatus Employees form NationalIDNumber Employees form Number emp_no trigger Score Data warehouse, calc_employees_scores https://dataedo.com
  • 19. Other Metadata Table: po_headers_all (Purchase orders) Subject Area: Purchasing Owner: Piotr Kononow Column po_header_id po_header_number [OBSOLETE] po_header_code qty Quantity value qty * unit_price https://dataedo.com
  • 20. Meaningful Descriptions Instead of this: Column Description number Invoice number date Invoice date https://dataedo.com
  • 21. Meaningful Descriptions Do this: Column Description number Invoice autogenerated number, starting from 1 each year. Number is generated when invoice gets approved. date Invoice issue date. Null for working copy invoices. Set to today’s date on invoice approval. https://dataedo.com
  • 22. 2. ERDs – The Good https://dataedo.com
  • 23. ERDs – The Bad https://dataedo.com
  • 24. ERD is not this: https://dataedo.com
  • 29. Rule of thumb: Document as you design and develop https://dataedo.com
  • 30. What tools to use? • MS Excel, MS Word, Notepad • Database console • Dedicated tool https://dataedo.com
  • 31. Database console – Description Not most convenient https://dataedo.com
  • 32. Dedicated tools • Dataedo • Redgate SQL Doc • ApexSQL Doc https://dataedo.com
  • 35. Thank you Piotr Kononow Learn more at: https://dataedo.com/blog