SlideShare a Scribd company logo
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

More Related Content

What's hot

SQL Queries
SQL QueriesSQL Queries
SQL Queries
Nilt1234
 
Introduction to-sql
Introduction to-sqlIntroduction to-sql
Introduction to-sql
BG Java EE Course
 
Basic oracle-database-administration
Basic oracle-database-administrationBasic oracle-database-administration
Basic oracle-database-administration
sreehari orienit
 
MS-SQL SERVER ARCHITECTURE
MS-SQL SERVER ARCHITECTUREMS-SQL SERVER ARCHITECTURE
MS-SQL SERVER ARCHITECTURE
Douglas Bernardini
 
Data dictionary
Data dictionaryData dictionary
Data dictionary
Ravi Shekhar
 
Introduction to Data Engineering
Introduction to Data EngineeringIntroduction to Data Engineering
Introduction to Data Engineering
Hadi Fadlallah
 
Data Engineering Basics
Data Engineering BasicsData Engineering Basics
Data Engineering Basics
Catherine Kimani
 
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
Vibrant Technologies & Computers
 
Data models
Data modelsData models
Data models
Usman Tariq
 
database
databasedatabase
Entity Relationship Model
Entity Relationship ModelEntity Relationship Model
Entity Relationship ModelSlideshare
 
Data modeling star schema
Data modeling star schemaData modeling star schema
Data modeling star schema
Sayed Ahmed
 
SQL
SQLSQL
Data Dictionary
Data DictionaryData Dictionary
Data Dictionary
Vishal Anand
 
Constraints In Sql
Constraints In SqlConstraints In Sql
Constraints In SqlAnurag
 
OpenRefine
OpenRefineOpenRefine
SSIS Tutorial For Beginners | SQL Server Integration Services (SSIS) | MSBI T...
SSIS Tutorial For Beginners | SQL Server Integration Services (SSIS) | MSBI T...SSIS Tutorial For Beginners | SQL Server Integration Services (SSIS) | MSBI T...
SSIS Tutorial For Beginners | SQL Server Integration Services (SSIS) | MSBI T...
Edureka!
 
DBMS languages/ Types of SQL Commands
DBMS languages/ Types of SQL CommandsDBMS languages/ Types of SQL Commands
DBMS languages/ Types of SQL Commands
BHARATH KUMAR
 
SQL - RDBMS Concepts
SQL - RDBMS ConceptsSQL - RDBMS Concepts
SQL - RDBMS Concepts
WebStackAcademy
 
Summary introduction to data engineering
Summary introduction to data engineeringSummary introduction to data engineering
Summary introduction to data engineering
Novita Sari
 

What's hot (20)

SQL Queries
SQL QueriesSQL Queries
SQL Queries
 
Introduction to-sql
Introduction to-sqlIntroduction to-sql
Introduction to-sql
 
Basic oracle-database-administration
Basic oracle-database-administrationBasic oracle-database-administration
Basic oracle-database-administration
 
MS-SQL SERVER ARCHITECTURE
MS-SQL SERVER ARCHITECTUREMS-SQL SERVER ARCHITECTURE
MS-SQL SERVER ARCHITECTURE
 
Data dictionary
Data dictionaryData dictionary
Data dictionary
 
Introduction to Data Engineering
Introduction to Data EngineeringIntroduction to Data Engineering
Introduction to Data Engineering
 
Data Engineering Basics
Data Engineering BasicsData Engineering Basics
Data Engineering Basics
 
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
 
Data models
Data modelsData models
Data models
 
database
databasedatabase
database
 
Entity Relationship Model
Entity Relationship ModelEntity Relationship Model
Entity Relationship Model
 
Data modeling star schema
Data modeling star schemaData modeling star schema
Data modeling star schema
 
SQL
SQLSQL
SQL
 
Data Dictionary
Data DictionaryData Dictionary
Data Dictionary
 
Constraints In Sql
Constraints In SqlConstraints In Sql
Constraints In Sql
 
OpenRefine
OpenRefineOpenRefine
OpenRefine
 
SSIS Tutorial For Beginners | SQL Server Integration Services (SSIS) | MSBI T...
SSIS Tutorial For Beginners | SQL Server Integration Services (SSIS) | MSBI T...SSIS Tutorial For Beginners | SQL Server Integration Services (SSIS) | MSBI T...
SSIS Tutorial For Beginners | SQL Server Integration Services (SSIS) | MSBI T...
 
DBMS languages/ Types of SQL Commands
DBMS languages/ Types of SQL CommandsDBMS languages/ Types of SQL Commands
DBMS languages/ Types of SQL Commands
 
SQL - RDBMS Concepts
SQL - RDBMS ConceptsSQL - RDBMS Concepts
SQL - RDBMS Concepts
 
Summary introduction to data engineering
Summary introduction to data engineeringSummary introduction to data engineering
Summary introduction to data engineering
 

Viewers also liked

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 ARKs
John 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 problem
Cary Millsap
 
Oracle 12c New Features_RMAN_slides
Oracle 12c New Features_RMAN_slidesOracle 12c New Features_RMAN_slides
Oracle 12c New Features_RMAN_slidesSaiful
 
DBA oracle
DBA oracleDBA oracle
DBA oracle
Douglas Bernardini
 
А.Левенчук -- киберэкспертиза: мифы и реальность
А.Левенчук -- киберэкспертиза: мифы и реальностьА.Левенчук -- киберэкспертиза: мифы и реальность
А.Левенчук -- киберэкспертиза: мифы и реальность
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 Know
Alex 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-iii
antso
 
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
Michael 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 Streams
C4Media
 
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
Digitools.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 Trailblazers
Kofax
 
Backup & recovery with rman
Backup & recovery with rmanBackup & recovery with rman
Backup & recovery with rman
itsabidhussain
 

Viewers also liked (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
 

Similar to 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.pptx
Nambiraju
 
Creating Database 2010
Creating Database 2010Creating Database 2010
Creating Database 2010
tgushi12
 
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.ppt
BsMath3rdsem
 
What is a Database?
What is a Database?What is a Database?
What is a Database?
dpittmangravity
 
DataModeling.pptx
DataModeling.pptxDataModeling.pptx
DataModeling.pptx
GauravGarg215333
 
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
Valmik Potbhare
 
MIS5101 WK10 Outcome Measures
MIS5101 WK10 Outcome MeasuresMIS5101 WK10 Outcome Measures
MIS5101 WK10 Outcome Measures
Steven 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 report
sonalighai
 
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 Intelligence
Ting 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 tool
Bharath Nunepalli
 
How to Fire People with SharePoint
How to Fire People with SharePointHow to Fire People with SharePoint
How to Fire People with SharePoint
Sandra Mahan
 
BI Apps Architecture
BI Apps ArchitectureBI Apps Architecture
BI Apps Architecture
Dylan Wan
 
Skills Portfolio
Skills PortfolioSkills Portfolio
Skills Portfolio
rolee23
 
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
Elizabeth Szabo
 

Similar to 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
 

Recently uploaded

Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 

Recently uploaded (20)

Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 

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