SlideShare a Scribd company logo
1 of 10
Download to read offline
SchemaCrawler Sualeh Fatehi
What is SchemaCrawler? Schema discovery tool “grep” through your schema Create schema diagrams Lint your schema  Infer table relationships Interact with your database using JavaScript Write templates to generate output http://www.schemacrawler.com 2
About Project started about 8 years ago Continuously maintained Written in pure Java and pure JDBC Open source and free Business-friendly LGPL license Database and operating system independent Command-line tool Maven and ant support Provides a Java API for database metadata http://www.schemacrawler.com 3
Installation Download and unzip A large number of examples provided Several database-specific versions available Open source JDBC drivers bundled where available Oracle and DB2 drivers need to be provided GraphViz needed for graphing http://www.schemacrawler.com 4
Problems with JDBC Metadata JDBC Metadata ResultSet 1, “YES”, or “TRUE” Types ,[object Object]
PROCEDURE_TYPE: integer
COLUMN_TYPE: does not exist SQL_DATA_TYPE: unusedDATA_TYPE: yes!SchemaCrawler POJO boolean value getType() returns an enum http://www.schemacrawler.com 5 http://www.devx.com/Java/Article/32443/1954
Code Example finalDatabase database =  SchemaCrawlerUtility.getDatabase(connection, options); for(final Schema schema: database.getSchemas()) { System.out.println(schema); for(final Table table: schema.getTables()) { System.out.println("o--> " + table); for(final Column column: table.getColumns())     { System.out.println("     o--> " + column +         " (" + column.getType() + ")");     }   } } http://www.schemacrawler.com 6
Command-line Basics scfor help Connection parameters - user name and password, and one of ,[object Object]
Host and portInformation level ,[object Object]

More Related Content

What's hot

Ei cakephp
Ei cakephpEi cakephp
Ei cakephpeiei lay
 
Pentest Application With GraphQL | Null Bangalore Meetup
Pentest Application With GraphQL | Null Bangalore Meetup Pentest Application With GraphQL | Null Bangalore Meetup
Pentest Application With GraphQL | Null Bangalore Meetup Divyanshu
 
NLP Text Recommendation System Journey to Automated Training
NLP Text Recommendation System Journey to Automated TrainingNLP Text Recommendation System Journey to Automated Training
NLP Text Recommendation System Journey to Automated TrainingDatabricks
 
Original Working Draft of Bancha Project
Original Working Draft of Bancha ProjectOriginal Working Draft of Bancha Project
Original Working Draft of Bancha ProjectRolandSchuetz
 
Ruby on Rails Plugins - Rich Collins
Ruby on Rails Plugins - Rich CollinsRuby on Rails Plugins - Rich Collins
Ruby on Rails Plugins - Rich CollinsRich Collins
 
SQL INJECTIONS EVERY TESTER NEEDS TO KNOW
SQL INJECTIONS EVERY TESTER NEEDS TO KNOWSQL INJECTIONS EVERY TESTER NEEDS TO KNOW
SQL INJECTIONS EVERY TESTER NEEDS TO KNOWVladimir Arutin
 
Untying the Knots of Web Dev with Internet Explorer
Untying the Knots of Web Dev with Internet Explorer Untying the Knots of Web Dev with Internet Explorer
Untying the Knots of Web Dev with Internet Explorer Sarah Dutkiewicz
 
Generic repository pattern with ASP.NET MVC and Entity Framework
Generic repository pattern with ASP.NET MVC and Entity FrameworkGeneric repository pattern with ASP.NET MVC and Entity Framework
Generic repository pattern with ASP.NET MVC and Entity FrameworkMd. Mahedee Hasan
 
From Prototyping to Deployment at Scale with R and sparklyr with Kevin Kuo
From Prototyping to Deployment at Scale with R and sparklyr with Kevin KuoFrom Prototyping to Deployment at Scale with R and sparklyr with Kevin Kuo
From Prototyping to Deployment at Scale with R and sparklyr with Kevin KuoDatabricks
 
Asp.net c# MVC-5 Training-Day-1 of Day-9
Asp.net c# MVC-5 Training-Day-1 of Day-9Asp.net c# MVC-5 Training-Day-1 of Day-9
Asp.net c# MVC-5 Training-Day-1 of Day-9AHM Pervej Kabir
 
An Intense Overview of the React Ecosystem
An Intense Overview of the React EcosystemAn Intense Overview of the React Ecosystem
An Intense Overview of the React EcosystemRami Sayar
 
Pentesting GraphQL Applications
Pentesting GraphQL ApplicationsPentesting GraphQL Applications
Pentesting GraphQL ApplicationsNeelu Tripathy
 
Howtouseforeachcomponent
HowtouseforeachcomponentHowtouseforeachcomponent
Howtouseforeachcomponentakshay yeluru
 
Code igniter overview
Code igniter overviewCode igniter overview
Code igniter overviewumesh patil
 
Simplifying Model Management with MLflow
Simplifying Model Management with MLflowSimplifying Model Management with MLflow
Simplifying Model Management with MLflowDatabricks
 
Abstract #236765 advanced essbase java api tips and tricks
Abstract #236765 advanced essbase java api tips and tricksAbstract #236765 advanced essbase java api tips and tricks
Abstract #236765 advanced essbase java api tips and trickstimtow
 
Hibernate, how the magic is really done
Hibernate, how the magic is really doneHibernate, how the magic is really done
Hibernate, how the magic is really doneMikalai Alimenkou
 
Asp.net c# MVC-5 Training-Day-2 of Day-9
Asp.net c# MVC-5 Training-Day-2 of Day-9Asp.net c# MVC-5 Training-Day-2 of Day-9
Asp.net c# MVC-5 Training-Day-2 of Day-9AHM Pervej Kabir
 

What's hot (20)

Ei cakephp
Ei cakephpEi cakephp
Ei cakephp
 
Pentest Application With GraphQL | Null Bangalore Meetup
Pentest Application With GraphQL | Null Bangalore Meetup Pentest Application With GraphQL | Null Bangalore Meetup
Pentest Application With GraphQL | Null Bangalore Meetup
 
NLP Text Recommendation System Journey to Automated Training
NLP Text Recommendation System Journey to Automated TrainingNLP Text Recommendation System Journey to Automated Training
NLP Text Recommendation System Journey to Automated Training
 
Original Working Draft of Bancha Project
Original Working Draft of Bancha ProjectOriginal Working Draft of Bancha Project
Original Working Draft of Bancha Project
 
Ruby on Rails Plugins - Rich Collins
Ruby on Rails Plugins - Rich CollinsRuby on Rails Plugins - Rich Collins
Ruby on Rails Plugins - Rich Collins
 
SQL INJECTIONS EVERY TESTER NEEDS TO KNOW
SQL INJECTIONS EVERY TESTER NEEDS TO KNOWSQL INJECTIONS EVERY TESTER NEEDS TO KNOW
SQL INJECTIONS EVERY TESTER NEEDS TO KNOW
 
ASP.NET - Ivan Marković
ASP.NET - Ivan MarkovićASP.NET - Ivan Marković
ASP.NET - Ivan Marković
 
Untying the Knots of Web Dev with Internet Explorer
Untying the Knots of Web Dev with Internet Explorer Untying the Knots of Web Dev with Internet Explorer
Untying the Knots of Web Dev with Internet Explorer
 
SQL injection
SQL injectionSQL injection
SQL injection
 
Generic repository pattern with ASP.NET MVC and Entity Framework
Generic repository pattern with ASP.NET MVC and Entity FrameworkGeneric repository pattern with ASP.NET MVC and Entity Framework
Generic repository pattern with ASP.NET MVC and Entity Framework
 
From Prototyping to Deployment at Scale with R and sparklyr with Kevin Kuo
From Prototyping to Deployment at Scale with R and sparklyr with Kevin KuoFrom Prototyping to Deployment at Scale with R and sparklyr with Kevin Kuo
From Prototyping to Deployment at Scale with R and sparklyr with Kevin Kuo
 
Asp.net c# MVC-5 Training-Day-1 of Day-9
Asp.net c# MVC-5 Training-Day-1 of Day-9Asp.net c# MVC-5 Training-Day-1 of Day-9
Asp.net c# MVC-5 Training-Day-1 of Day-9
 
An Intense Overview of the React Ecosystem
An Intense Overview of the React EcosystemAn Intense Overview of the React Ecosystem
An Intense Overview of the React Ecosystem
 
Pentesting GraphQL Applications
Pentesting GraphQL ApplicationsPentesting GraphQL Applications
Pentesting GraphQL Applications
 
Howtouseforeachcomponent
HowtouseforeachcomponentHowtouseforeachcomponent
Howtouseforeachcomponent
 
Code igniter overview
Code igniter overviewCode igniter overview
Code igniter overview
 
Simplifying Model Management with MLflow
Simplifying Model Management with MLflowSimplifying Model Management with MLflow
Simplifying Model Management with MLflow
 
Abstract #236765 advanced essbase java api tips and tricks
Abstract #236765 advanced essbase java api tips and tricksAbstract #236765 advanced essbase java api tips and tricks
Abstract #236765 advanced essbase java api tips and tricks
 
Hibernate, how the magic is really done
Hibernate, how the magic is really doneHibernate, how the magic is really done
Hibernate, how the magic is really done
 
Asp.net c# MVC-5 Training-Day-2 of Day-9
Asp.net c# MVC-5 Training-Day-2 of Day-9Asp.net c# MVC-5 Training-Day-2 of Day-9
Asp.net c# MVC-5 Training-Day-2 of Day-9
 

Viewers also liked

Mind the Gap - Architecture versus Code @ W-JAX 2016
Mind the Gap - Architecture versus Code @ W-JAX 2016Mind the Gap - Architecture versus Code @ W-JAX 2016
Mind the Gap - Architecture versus Code @ W-JAX 2016Oliver Fischer
 
Collaboration as a method: TurismoER's Digital Strategy told with collaborati...
Collaboration as a method: TurismoER's Digital Strategy told with collaborati...Collaboration as a method: TurismoER's Digital Strategy told with collaborati...
Collaboration as a method: TurismoER's Digital Strategy told with collaborati...Giovanni Arata
 
1 enamel dentin pulp
1 enamel dentin pulp1 enamel dentin pulp
1 enamel dentin pulpashish1801
 
Powerpoint Presentation On Animated Flipbook Ryan Mcginty Dd07064
Powerpoint Presentation On Animated Flipbook Ryan Mcginty Dd07064Powerpoint Presentation On Animated Flipbook Ryan Mcginty Dd07064
Powerpoint Presentation On Animated Flipbook Ryan Mcginty Dd07064jaspang
 
Mod1 Review Fall09
Mod1 Review Fall09Mod1 Review Fall09
Mod1 Review Fall09mrounds5
 
Международный опыт организации межведомственного электронного документооборота
Международный опыт организации межведомственного электронного документооборотаМеждународный опыт организации межведомственного электронного документооборота
Международный опыт организации межведомственного электронного документооборотаNatasha Khramtsovsky
 
PROEXPOSURE Baba Dos Amigos
PROEXPOSURE Baba Dos Amigos PROEXPOSURE Baba Dos Amigos
PROEXPOSURE Baba Dos Amigos PROEXPOSURE CIC
 
Rabobank Outlook2012
Rabobank Outlook2012Rabobank Outlook2012
Rabobank Outlook2012ramlal1974
 
Microsoft - CRM-системы как инструмент деловой деятельности и государственног...
Microsoft - CRM-системы как инструмент деловой деятельности и государственног...Microsoft - CRM-системы как инструмент деловой деятельности и государственног...
Microsoft - CRM-системы как инструмент деловой деятельности и государственног...Natasha Khramtsovsky
 
Открытые данные: зачем и какой ценой
Открытые данные: зачем и какой ценойОткрытые данные: зачем и какой ценой
Открытые данные: зачем и какой ценойNatasha Khramtsovsky
 

Viewers also liked (20)

Mind the Gap - Architecture versus Code @ W-JAX 2016
Mind the Gap - Architecture versus Code @ W-JAX 2016Mind the Gap - Architecture versus Code @ W-JAX 2016
Mind the Gap - Architecture versus Code @ W-JAX 2016
 
Analysis of software systems using jQAssistant and Neo4j
Analysis of software systems using jQAssistant and Neo4jAnalysis of software systems using jQAssistant and Neo4j
Analysis of software systems using jQAssistant and Neo4j
 
Collaboration as a method: TurismoER's Digital Strategy told with collaborati...
Collaboration as a method: TurismoER's Digital Strategy told with collaborati...Collaboration as a method: TurismoER's Digital Strategy told with collaborati...
Collaboration as a method: TurismoER's Digital Strategy told with collaborati...
 
Feature Toggles On Steroids
Feature Toggles On SteroidsFeature Toggles On Steroids
Feature Toggles On Steroids
 
1 enamel dentin pulp
1 enamel dentin pulp1 enamel dentin pulp
1 enamel dentin pulp
 
Realidad del eCommerce
Realidad del eCommerceRealidad del eCommerce
Realidad del eCommerce
 
Powerpoint Presentation On Animated Flipbook Ryan Mcginty Dd07064
Powerpoint Presentation On Animated Flipbook Ryan Mcginty Dd07064Powerpoint Presentation On Animated Flipbook Ryan Mcginty Dd07064
Powerpoint Presentation On Animated Flipbook Ryan Mcginty Dd07064
 
Economics 2 2
Economics 2 2Economics 2 2
Economics 2 2
 
Innovatiespiegel - Luc De Droogh
Innovatiespiegel - Luc De DrooghInnovatiespiegel - Luc De Droogh
Innovatiespiegel - Luc De Droogh
 
Mod1 Review Fall09
Mod1 Review Fall09Mod1 Review Fall09
Mod1 Review Fall09
 
Международный опыт организации межведомственного электронного документооборота
Международный опыт организации межведомственного электронного документооборотаМеждународный опыт организации межведомственного электронного документооборота
Международный опыт организации межведомственного электронного документооборота
 
PROEXPOSURE Baba Dos Amigos
PROEXPOSURE Baba Dos Amigos PROEXPOSURE Baba Dos Amigos
PROEXPOSURE Baba Dos Amigos
 
Rabobank Outlook2012
Rabobank Outlook2012Rabobank Outlook2012
Rabobank Outlook2012
 
Perspectief op een maatschappij in crisis - Raf Daenen
Perspectief op een maatschappij in crisis - Raf DaenenPerspectief op een maatschappij in crisis - Raf Daenen
Perspectief op een maatschappij in crisis - Raf Daenen
 
Mobiel21 Stilte En Mobiliteit
Mobiel21 Stilte En MobiliteitMobiel21 Stilte En Mobiliteit
Mobiel21 Stilte En Mobiliteit
 
Creative Europe - Samenwerkingsprojecten
Creative Europe - SamenwerkingsprojectenCreative Europe - Samenwerkingsprojecten
Creative Europe - Samenwerkingsprojecten
 
Microsoft - CRM-системы как инструмент деловой деятельности и государственног...
Microsoft - CRM-системы как инструмент деловой деятельности и государственног...Microsoft - CRM-системы как инструмент деловой деятельности и государственног...
Microsoft - CRM-системы как инструмент деловой деятельности и государственног...
 
Открытые данные: зачем и какой ценой
Открытые данные: зачем и какой ценойОткрытые данные: зачем и какой ценой
Открытые данные: зачем и какой ценой
 
Solidariteit en armoedebeleid
Solidariteit en armoedebeleidSolidariteit en armoedebeleid
Solidariteit en armoedebeleid
 
Hoe zich positioneren in een sterk veranderende arbeidsmarkt?
Hoe zich positioneren in een sterk veranderende arbeidsmarkt?Hoe zich positioneren in een sterk veranderende arbeidsmarkt?
Hoe zich positioneren in een sterk veranderende arbeidsmarkt?
 

Similar to SchemaCrawler

PROGRAMMING IN JAVA -unit 5 -part I
PROGRAMMING IN JAVA -unit 5 -part IPROGRAMMING IN JAVA -unit 5 -part I
PROGRAMMING IN JAVA -unit 5 -part ISivaSankari36
 
JDBC java for learning java for learn.ppt
JDBC java for learning java for learn.pptJDBC java for learning java for learn.ppt
JDBC java for learning java for learn.pptkingkolju
 
Basic Java Database Connectivity(JDBC)
Basic Java Database Connectivity(JDBC)Basic Java Database Connectivity(JDBC)
Basic Java Database Connectivity(JDBC)suraj pandey
 
JDBC with MySQL.pdf
JDBC with MySQL.pdfJDBC with MySQL.pdf
JDBC with MySQL.pdfArumugam90
 
JDBC with MySQL.pdf
JDBC with MySQL.pdfJDBC with MySQL.pdf
JDBC with MySQL.pdfArumugam90
 
Java database connectivity with MySql
Java database connectivity with MySqlJava database connectivity with MySql
Java database connectivity with MySqlDhyey Dattani
 
Java database connectivity with MySql
Java database connectivity with MySqlJava database connectivity with MySql
Java database connectivity with MySqlDhyey Dattani
 
Rollin onj Rubyv3
Rollin onj Rubyv3Rollin onj Rubyv3
Rollin onj Rubyv3Oracle
 
Jdbc connectivity
Jdbc connectivityJdbc connectivity
Jdbc connectivityarikazukito
 

Similar to SchemaCrawler (20)

Jdbc
JdbcJdbc
Jdbc
 
Unit 5.pdf
Unit 5.pdfUnit 5.pdf
Unit 5.pdf
 
PROGRAMMING IN JAVA -unit 5 -part I
PROGRAMMING IN JAVA -unit 5 -part IPROGRAMMING IN JAVA -unit 5 -part I
PROGRAMMING IN JAVA -unit 5 -part I
 
Java jdbc
Java jdbcJava jdbc
Java jdbc
 
JDBC java for learning java for learn.ppt
JDBC java for learning java for learn.pptJDBC java for learning java for learn.ppt
JDBC java for learning java for learn.ppt
 
Assignment#10
Assignment#10Assignment#10
Assignment#10
 
Basic Java Database Connectivity(JDBC)
Basic Java Database Connectivity(JDBC)Basic Java Database Connectivity(JDBC)
Basic Java Database Connectivity(JDBC)
 
java 4 Part 1 computer science.pptx
java 4 Part 1 computer science.pptxjava 4 Part 1 computer science.pptx
java 4 Part 1 computer science.pptx
 
10 J D B C
10  J D B C10  J D B C
10 J D B C
 
JDBC with MySQL.pdf
JDBC with MySQL.pdfJDBC with MySQL.pdf
JDBC with MySQL.pdf
 
JDBC with MySQL.pdf
JDBC with MySQL.pdfJDBC with MySQL.pdf
JDBC with MySQL.pdf
 
Java database connectivity with MySql
Java database connectivity with MySqlJava database connectivity with MySql
Java database connectivity with MySql
 
Java database connectivity with MySql
Java database connectivity with MySqlJava database connectivity with MySql
Java database connectivity with MySql
 
Data programing
Data programingData programing
Data programing
 
Rollin onj Rubyv3
Rollin onj Rubyv3Rollin onj Rubyv3
Rollin onj Rubyv3
 
Jdbc ppt
Jdbc pptJdbc ppt
Jdbc ppt
 
Spring GraphQL
Spring GraphQLSpring GraphQL
Spring GraphQL
 
Jdbc
JdbcJdbc
Jdbc
 
Jdbc connectivity
Jdbc connectivityJdbc connectivity
Jdbc connectivity
 
JDBC-Introduction
JDBC-IntroductionJDBC-Introduction
JDBC-Introduction
 

More from Sualeh Fatehi

More from Sualeh Fatehi (16)

Magic Wheels (1987)
Magic Wheels (1987)Magic Wheels (1987)
Magic Wheels (1987)
 
Java 8 Date and Time API
Java 8 Date and Time APIJava 8 Date and Time API
Java 8 Date and Time API
 
The Geometry of Stars
The Geometry of StarsThe Geometry of Stars
The Geometry of Stars
 
Blue Moon
Blue MoonBlue Moon
Blue Moon
 
Magic Wheels
Magic WheelsMagic Wheels
Magic Wheels
 
Conversion of Roman Numbers to Hindu-Arabic
Conversion of Roman Numbers to Hindu-ArabicConversion of Roman Numbers to Hindu-Arabic
Conversion of Roman Numbers to Hindu-Arabic
 
X.400
X.400X.400
X.400
 
GFN News
GFN NewsGFN News
GFN News
 
Swedish Rite
Swedish RiteSwedish Rite
Swedish Rite
 
Freemasonry in India
Freemasonry in IndiaFreemasonry in India
Freemasonry in India
 
Cubic Insanity
Cubic InsanityCubic Insanity
Cubic Insanity
 
Beyond the Mobius Strip
Beyond the Mobius StripBeyond the Mobius Strip
Beyond the Mobius Strip
 
Tofiks Dodecahedron
Tofiks DodecahedronTofiks Dodecahedron
Tofiks Dodecahedron
 
Pythagorean Triplets
Pythagorean TripletsPythagorean Triplets
Pythagorean Triplets
 
Dissection Of The Dodecahedron
Dissection Of The DodecahedronDissection Of The Dodecahedron
Dissection Of The Dodecahedron
 
The Eleven Holes Puzzle
The Eleven Holes PuzzleThe Eleven Holes Puzzle
The Eleven Holes Puzzle
 

Recently uploaded

Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 

Recently uploaded (20)

Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 

SchemaCrawler

  • 2. What is SchemaCrawler? Schema discovery tool “grep” through your schema Create schema diagrams Lint your schema Infer table relationships Interact with your database using JavaScript Write templates to generate output http://www.schemacrawler.com 2
  • 3. About Project started about 8 years ago Continuously maintained Written in pure Java and pure JDBC Open source and free Business-friendly LGPL license Database and operating system independent Command-line tool Maven and ant support Provides a Java API for database metadata http://www.schemacrawler.com 3
  • 4. Installation Download and unzip A large number of examples provided Several database-specific versions available Open source JDBC drivers bundled where available Oracle and DB2 drivers need to be provided GraphViz needed for graphing http://www.schemacrawler.com 4
  • 5.
  • 7. COLUMN_TYPE: does not exist SQL_DATA_TYPE: unusedDATA_TYPE: yes!SchemaCrawler POJO boolean value getType() returns an enum http://www.schemacrawler.com 5 http://www.devx.com/Java/Article/32443/1954
  • 8. Code Example finalDatabase database = SchemaCrawlerUtility.getDatabase(connection, options); for(final Schema schema: database.getSchemas()) { System.out.println(schema); for(final Table table: schema.getTables()) { System.out.println("o--> " + table); for(final Column column: table.getColumns()) { System.out.println(" o--> " + column + " (" + column.getType() + ")"); } } } http://www.schemacrawler.com 6
  • 9.
  • 10.
  • 14.
  • 17. count
  • 18. dump
  • 19. graph
  • 21. Examples Help and options overview Basic schema output, in text and HTML Count and dump grep Triggers Stored procedures Diagram Lint http://www.schemacrawler.com 9