SlideShare a Scribd company logo
Accessing and Administering your
 Enterprise Geodatabase through
         SQL and Python

        Brent Pierce @brent_pierce
     Russell Brennan @russellbrennan
             hashtag: #sqlpy
Assumptions



  •   Basic knowledge of SQL, Python and relational
      databases


  •   Basic knowledge of the Geodatabase


  •   We’ll hold all questions till end



             Please turn off cell phones
What is the Geodatabase?

 • A physical store of geographic data
     -   Scalable storage model supported on different platforms


 •   Core ArcGIS information model
     -   A comprehensive model for representing and managing
         GIS data
     -   Implemented as a series of simple tables


 •   A transactional model for managing GIS workflows


 •   Set of components for accessing data
Geodatabase is based on relational principles


 •   The geodatabase is built on an extended relational
     database
     -   Relational integrity
     -   Reliability, Flexibility, Scalability
     -   Supports continuous, large datasets
     -   Standard relational database schema
     -   Base short transaction model
     -   Supports structured query language (SQL)
Geodatabase is based on relational principles …

 •   Leverages key DBMS principles and concepts to
     store geographic data as tables in a DBMS
     -   Data is organized into tables
     -   Tables contain rows
     -   All rows in a table have the same attributes
     -   Each attribute has a type
     -   Relational integrity rules exist for tables
Geodatabase is based on relational principles …

 •   A feature class is stored as a simple DBMS table
 •   Each row represents a feature
 •   The fields in each row represent various
     characteristics or properties of the feature
 •   One of the fields holds the feature geometry which is
     stored as a spatial type
Geodatabase is based on relational principles …

 •   A feature class is stored as a simple DBMS table
 •   Each row represents a feature
 •   The fields in each row represent various
     characteristics or properties of the feature
 •   One of the fields holds the feature geometry which is
     stored as a spatial type
Geodatabase Schema

•   There are two sets of tables
    -   Dataset tables (user-defined tables)
    -   Geodatabase system tables




                                     System tables    XML



                                        User data
                                                     SQL type
User-defined tables

-   Stores the content of each dataset in the
    geodatabase
•   Datasets are stored in 1 or more tables
•   Spatial Types enhance the capabilities of the
    geodatabase
    -   SQL access to geometry
    -   Industry standard storage model and API



                                   System tables    XML



                                      User data
                                                   SQL type
Geodatabase system tables

•   System tables store definitions, rules, and behavior for
    datasets
•   Tracks contents within a geodatabase
•   4 primary tables
•   Geodatabase schema is stored within an XML field




                                System tables    XML



                                   User data
                                                SQL type
Geodatabase Schema…




                 System tables     XML



                      User data
                                  SQL type
Geodatabase Schema…




                  System tables    XML



                      User data
                                  SQL type
Geodatabase Schema…




                  System tables    XML



                      User data
                                  SQL type
Geodatabase Schema…




                  System tables    XML



                      User data
                                  SQL type
Geodatabase Schema…




                  System tables    XML



                      User data
                                  SQL type
What is a spatial type?

 •   A spatial type (ST_Geometry) is a type that stores
     geometry data in a single spatial attribute
     -   Geometry type, coordinates, dimension, spatial
         reference


 •   Spatial Index
     -   Access path for quick retrieval


 •   Relational and geometry operators and Functions
     -   Constructors
     -   Accessor
     -   Relational
     -   Geometry
What are the benefits of a spatial type?


 •   Efficiency
     -   Spatial data and methods are stored in the database
     -   Applications access native dbms type


 •   Accessed using common API’s and SQL
     -   C, C++, C#, Java
     -   Adheres to standards for SQL access
What are the benefits of a spatial type?

  •   Using SQL with a spatial type you can
      -   Create tables with a spatial attributes
      -   Read and analyze the spatial data
      -   Insert, update, and delete simple features

          Spatial Type                 SQL
Accessing Geodatabase through SQL

•   Access schema and properties of existing datasets
     -   Use SQL statements and XPath queries to query the definition
         attribute on the gdb_items table


•   Editing tables/feature classes, whether versioned or not
     -   Versioned classes are edited through versioned views


•   Create tables with SQL containing spatial types


•   Leverage SQL functions to evaluate attributes and spatial
    relationships, perform spatial operations, and return, set spatial
    properties
Accessing Geodatabase through SQL

•   With SQL accessing the data at the
    DBMS level
    -   Bypass behaviors and functionality     Python
        enforced by the geodatabase or
        ArcGIS clients
•   Need to be aware of what you can
                                               ArcGIS
    and cannot edit
    -   Relationship classes
    -   Geometric networks                                 SQL
                                             Geodatabase
    -   Topology…


                                               DBMS
Accessing Geodatabase through SQL

  •   One can use SQL to create, insert and update tables
      -   Need to register the table with the geodatabase to
          participate in geodatabase functionality


CREATE TABLE hazardous_sites
 (oid INTEGER NOT NULL, site_id INTEGER,
  name VARCHAR(40), location sde.st_geometry)



  •   Cannot modify schema of registered tables (i.e add a
      field) or create geodatabase items (i.e domains)
      through SQL
Accessing Geodatabase through SQL

•   Editing feature classes with SQL
     -   Points, lines, polygons (single or multipart)
     -   Ability to modify geometry when stored as a spatial type
     -   Without geodatabase behavior
          -   Not part of topology, geometric network, etc…

•   Editing tables/feature classes
     -   Use SQL statements
     -   Directly editing the database tables (no delta tables)
     -   Nonversioned editing in ArcGIS terminology
•   Editing versioned tables/feature classes
     -   Requires versioned views
Editing tables/feature classes

  •   Can use SQL to update, insert and delete data from
      tables that are not versioned
  •   Can leverage DBMS functionality
      -   Unique indexes, constraints, referential integrity, default
          values, triggers
  •   Requires a unique identifier (ObjectID) when
      inserting
      -   Used to uniquely identify rows in tables in a
          geodatabase
      -   Obtained from classes sequence or procedure
      -   Object ID is used by ArcGIS to do such things as display
          selection sets and perform identify operations on
          features
Editing versioned tables/feature classes

  •   Use versioned views
      -   Versioned Views are automatically created when class is
          registered as versioned


  •   Perform edits within the new version
  SELECT sde.sde_edit_version('WorkOrder1701',1);

      -   Unlike non-versioned editing, ObjectID values for new
          records are automatically generated
      -   Changes are made to the delta tables
      -   Versions must be reconciled through ArcGIS
Demo
Accessing a geodatabase through SQL
Geodatabase Administration
       with Python
                   Russell Brennan
Second Half Agenda


  •   Why use Python?
  •   Tips for using Python with geodatabases
  •   Demo: Creating geodatabase schema
  •   Demo: Performing geodatabase maintenance
  •   Demo: Publishing
Why use Python for Administration?


  •   Numerous tools available
      -   Schema creation and administration
      -   Maintenance
  •   Cross platform.
  •   Easy access to complex behavior.
  •   Easy to schedule tasks.
Using Python to access your geodatabase


  •   Connection files.
      -   Create Database Connection tool.
  •   Version access is defined in the connection file.
  •   Connected user is defined in the connection file.
  •   Multiple connections = multiple connection files.
Demo
Creating a Geodatabase
Demo 1: Creating a geodatabase


  •   Create an enterprise geodatabase.
  •   Create database roles.
  •   Create users.
  •   Create schema.
  •   Apply privileges.
  •   Register data as versioned.
  •   Create edit versions.
Demo
Performing maintenance
Demo 2: Geodatabase Maintenance


  •   Blocking and accepting connections
  •   Disconnecting users.
  •   Reconcile/Post versions
  •   Compress database
  •   Updating statistics and indexes
  •   Email notifications
  •   Scheduling
Demo
Publishing
Publishing


  •   Creating a script tool
  •   Publishing using the geoprocessing framework
  •   Consuming the tool
Slide Deck




  http://www.slideshare.net/brentpierce/enterprise-
     geodatabase-sql-access-and-administration
Thanks for attending
    Questions?

  Please fill out session surveys
www.esri.com/sessionevals

More Related Content

PPT
Carmon remote sensinggis
PPTX
Defination of gis and components of arc gis
PDF
Geodatabase: The ArcGIS Mechanism for Data Management
PPT
PPTX
Atmospheric correction
PPTX
Processing Rasters from Satellites, Drones, & More
DOCX
Dgps seminar
PPT
Digital Image Processing
Carmon remote sensinggis
Defination of gis and components of arc gis
Geodatabase: The ArcGIS Mechanism for Data Management
Atmospheric correction
Processing Rasters from Satellites, Drones, & More
Dgps seminar
Digital Image Processing

What's hot (20)

PDF
Web GIS
PPTX
Digital image processing
PPT
Slope Modeling & Terrain Analysis (EPAN09)
PPTX
Global positioning system(GPS)
PPTX
Noaa satelite series
PPT
Lecture for landsat
PDF
Web Mapping 101: What Is It and Making It Work For You
PPTX
WEB GIS AND WEB MAP.pptx
PPTX
Introduction to GIS and its Applications
PPTX
Web mapping
PPT
Platforms of Remote sensing and GIS
PDF
Enterprise GIS
PDF
Introduction to Open Source GIS
PDF
ESRI Mapping & Charting Solution: ArcGIS 10 Production Mapping
PPTX
Map algebra
PDF
Introduction to arc gis
PPTX
Introduction to gis and arc gis
PPT
Geodatabases
PPTX
Raster data and Vector data
PPTX
Fundamentals of Remote Sensing
Web GIS
Digital image processing
Slope Modeling & Terrain Analysis (EPAN09)
Global positioning system(GPS)
Noaa satelite series
Lecture for landsat
Web Mapping 101: What Is It and Making It Work For You
WEB GIS AND WEB MAP.pptx
Introduction to GIS and its Applications
Web mapping
Platforms of Remote sensing and GIS
Enterprise GIS
Introduction to Open Source GIS
ESRI Mapping & Charting Solution: ArcGIS 10 Production Mapping
Map algebra
Introduction to arc gis
Introduction to gis and arc gis
Geodatabases
Raster data and Vector data
Fundamentals of Remote Sensing
Ad

Viewers also liked (20)

PDF
Introducción a la geodatabase del SIOSE (II)
PDF
Ozri 2013 Brisbane, Australia - Geodatabase Efficiencies
PPTX
Null values, insert, delete and update in database
PPTX
Using unique and unusual archival records and data to illustrate and annotate...
PDF
3D Web Services And Models For The Web: Where Do We Stand?
PDF
Standard_Digital_Cadastral_Maps_2015_Adopted
PPT
Tips for Manipulating Data in Esri Geodatabase using FME
PPTX
Curso de Geodatabase
PDF
Introducción a la geodatabase del SIOSE (I)
PPT
Digital cadaster in Bulgaria. Information system of cadaster and property reg...
PPTX
Oracle & sql server comparison 2
PPT
Arcgis training day_1
PDF
Graduate Research Thesis Defense Presentation
PPTX
How to use R easily as GIS tools!
PPTX
Survey camp ii
PDF
Applications of Arc GIS
PPTX
Spatial Data in SQL Server
PPT
raster data model
PPTX
WHAT'S THERE IN GEOMATICS ENGINEERING???
PDF
Arc gis introduction-ppt
Introducción a la geodatabase del SIOSE (II)
Ozri 2013 Brisbane, Australia - Geodatabase Efficiencies
Null values, insert, delete and update in database
Using unique and unusual archival records and data to illustrate and annotate...
3D Web Services And Models For The Web: Where Do We Stand?
Standard_Digital_Cadastral_Maps_2015_Adopted
Tips for Manipulating Data in Esri Geodatabase using FME
Curso de Geodatabase
Introducción a la geodatabase del SIOSE (I)
Digital cadaster in Bulgaria. Information system of cadaster and property reg...
Oracle & sql server comparison 2
Arcgis training day_1
Graduate Research Thesis Defense Presentation
How to use R easily as GIS tools!
Survey camp ii
Applications of Arc GIS
Spatial Data in SQL Server
raster data model
WHAT'S THERE IN GEOMATICS ENGINEERING???
Arc gis introduction-ppt
Ad

Similar to Enterprise geodatabase sql access and administration (20)

PDF
Sql Server2008
PDF
Evolution of Esri Data Formats Seminar
PPT
tw_242.ppt
PDF
Presentation MIG-T GeoPackage.pdf
PPT
SQL Server Basics Hello world iam here.ppt
PDF
Spatial Data in SQL Server
PDF
Bb geodatabase
PPTX
FOSS4G 2017 Spatial Sql for Rookies
PPTX
Ch1.2_DB system Concepts and Architecture.pptx
PPTX
Query editor for multi databases
PDF
Essentials of R
PDF
Materi Geodatabase Management - Fellowship 2022.pdf
PPTX
Cheetah:Data Warehouse on Top of MapReduce
PDF
Data managing and Exchange GDB
PDF
PPT
Sqlite
PDF
Relational
PDF
databases management system and other DBA1 نظري.pdf
PPTX
SQL on Hadoop
PPTX
Database Management System DBMS Unit - 1
Sql Server2008
Evolution of Esri Data Formats Seminar
tw_242.ppt
Presentation MIG-T GeoPackage.pdf
SQL Server Basics Hello world iam here.ppt
Spatial Data in SQL Server
Bb geodatabase
FOSS4G 2017 Spatial Sql for Rookies
Ch1.2_DB system Concepts and Architecture.pptx
Query editor for multi databases
Essentials of R
Materi Geodatabase Management - Fellowship 2022.pdf
Cheetah:Data Warehouse on Top of MapReduce
Data managing and Exchange GDB
Sqlite
Relational
databases management system and other DBA1 نظري.pdf
SQL on Hadoop
Database Management System DBMS Unit - 1

Recently uploaded (20)

PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPT
Teaching material agriculture food technology
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Approach and Philosophy of On baking technology
PDF
Advanced Soft Computing BINUS July 2025.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Modernizing your data center with Dell and AMD
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
NewMind AI Weekly Chronicles - August'25 Week I
Teaching material agriculture food technology
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
Per capita expenditure prediction using model stacking based on satellite ima...
NewMind AI Monthly Chronicles - July 2025
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Understanding_Digital_Forensics_Presentation.pptx
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Mobile App Security Testing_ A Comprehensive Guide.pdf
Network Security Unit 5.pdf for BCA BBA.
The AUB Centre for AI in Media Proposal.docx
Diabetes mellitus diagnosis method based random forest with bat algorithm
Approach and Philosophy of On baking technology
Advanced Soft Computing BINUS July 2025.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
Review of recent advances in non-invasive hemoglobin estimation
Modernizing your data center with Dell and AMD
Dropbox Q2 2025 Financial Results & Investor Presentation
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf

Enterprise geodatabase sql access and administration

  • 1. Accessing and Administering your Enterprise Geodatabase through SQL and Python Brent Pierce @brent_pierce Russell Brennan @russellbrennan hashtag: #sqlpy
  • 2. Assumptions • Basic knowledge of SQL, Python and relational databases • Basic knowledge of the Geodatabase • We’ll hold all questions till end Please turn off cell phones
  • 3. What is the Geodatabase? • A physical store of geographic data - Scalable storage model supported on different platforms • Core ArcGIS information model - A comprehensive model for representing and managing GIS data - Implemented as a series of simple tables • A transactional model for managing GIS workflows • Set of components for accessing data
  • 4. Geodatabase is based on relational principles • The geodatabase is built on an extended relational database - Relational integrity - Reliability, Flexibility, Scalability - Supports continuous, large datasets - Standard relational database schema - Base short transaction model - Supports structured query language (SQL)
  • 5. Geodatabase is based on relational principles … • Leverages key DBMS principles and concepts to store geographic data as tables in a DBMS - Data is organized into tables - Tables contain rows - All rows in a table have the same attributes - Each attribute has a type - Relational integrity rules exist for tables
  • 6. Geodatabase is based on relational principles … • A feature class is stored as a simple DBMS table • Each row represents a feature • The fields in each row represent various characteristics or properties of the feature • One of the fields holds the feature geometry which is stored as a spatial type
  • 7. Geodatabase is based on relational principles … • A feature class is stored as a simple DBMS table • Each row represents a feature • The fields in each row represent various characteristics or properties of the feature • One of the fields holds the feature geometry which is stored as a spatial type
  • 8. Geodatabase Schema • There are two sets of tables - Dataset tables (user-defined tables) - Geodatabase system tables System tables XML User data SQL type
  • 9. User-defined tables - Stores the content of each dataset in the geodatabase • Datasets are stored in 1 or more tables • Spatial Types enhance the capabilities of the geodatabase - SQL access to geometry - Industry standard storage model and API System tables XML User data SQL type
  • 10. Geodatabase system tables • System tables store definitions, rules, and behavior for datasets • Tracks contents within a geodatabase • 4 primary tables • Geodatabase schema is stored within an XML field System tables XML User data SQL type
  • 11. Geodatabase Schema… System tables XML User data SQL type
  • 12. Geodatabase Schema… System tables XML User data SQL type
  • 13. Geodatabase Schema… System tables XML User data SQL type
  • 14. Geodatabase Schema… System tables XML User data SQL type
  • 15. Geodatabase Schema… System tables XML User data SQL type
  • 16. What is a spatial type? • A spatial type (ST_Geometry) is a type that stores geometry data in a single spatial attribute - Geometry type, coordinates, dimension, spatial reference • Spatial Index - Access path for quick retrieval • Relational and geometry operators and Functions - Constructors - Accessor - Relational - Geometry
  • 17. What are the benefits of a spatial type? • Efficiency - Spatial data and methods are stored in the database - Applications access native dbms type • Accessed using common API’s and SQL - C, C++, C#, Java - Adheres to standards for SQL access
  • 18. What are the benefits of a spatial type? • Using SQL with a spatial type you can - Create tables with a spatial attributes - Read and analyze the spatial data - Insert, update, and delete simple features Spatial Type SQL
  • 19. Accessing Geodatabase through SQL • Access schema and properties of existing datasets - Use SQL statements and XPath queries to query the definition attribute on the gdb_items table • Editing tables/feature classes, whether versioned or not - Versioned classes are edited through versioned views • Create tables with SQL containing spatial types • Leverage SQL functions to evaluate attributes and spatial relationships, perform spatial operations, and return, set spatial properties
  • 20. Accessing Geodatabase through SQL • With SQL accessing the data at the DBMS level - Bypass behaviors and functionality Python enforced by the geodatabase or ArcGIS clients • Need to be aware of what you can ArcGIS and cannot edit - Relationship classes - Geometric networks SQL Geodatabase - Topology… DBMS
  • 21. Accessing Geodatabase through SQL • One can use SQL to create, insert and update tables - Need to register the table with the geodatabase to participate in geodatabase functionality CREATE TABLE hazardous_sites (oid INTEGER NOT NULL, site_id INTEGER, name VARCHAR(40), location sde.st_geometry) • Cannot modify schema of registered tables (i.e add a field) or create geodatabase items (i.e domains) through SQL
  • 22. Accessing Geodatabase through SQL • Editing feature classes with SQL - Points, lines, polygons (single or multipart) - Ability to modify geometry when stored as a spatial type - Without geodatabase behavior - Not part of topology, geometric network, etc… • Editing tables/feature classes - Use SQL statements - Directly editing the database tables (no delta tables) - Nonversioned editing in ArcGIS terminology • Editing versioned tables/feature classes - Requires versioned views
  • 23. Editing tables/feature classes • Can use SQL to update, insert and delete data from tables that are not versioned • Can leverage DBMS functionality - Unique indexes, constraints, referential integrity, default values, triggers • Requires a unique identifier (ObjectID) when inserting - Used to uniquely identify rows in tables in a geodatabase - Obtained from classes sequence or procedure - Object ID is used by ArcGIS to do such things as display selection sets and perform identify operations on features
  • 24. Editing versioned tables/feature classes • Use versioned views - Versioned Views are automatically created when class is registered as versioned • Perform edits within the new version SELECT sde.sde_edit_version('WorkOrder1701',1); - Unlike non-versioned editing, ObjectID values for new records are automatically generated - Changes are made to the delta tables - Versions must be reconciled through ArcGIS
  • 26. Geodatabase Administration with Python Russell Brennan
  • 27. Second Half Agenda • Why use Python? • Tips for using Python with geodatabases • Demo: Creating geodatabase schema • Demo: Performing geodatabase maintenance • Demo: Publishing
  • 28. Why use Python for Administration? • Numerous tools available - Schema creation and administration - Maintenance • Cross platform. • Easy access to complex behavior. • Easy to schedule tasks.
  • 29. Using Python to access your geodatabase • Connection files. - Create Database Connection tool. • Version access is defined in the connection file. • Connected user is defined in the connection file. • Multiple connections = multiple connection files.
  • 31. Demo 1: Creating a geodatabase • Create an enterprise geodatabase. • Create database roles. • Create users. • Create schema. • Apply privileges. • Register data as versioned. • Create edit versions.
  • 33. Demo 2: Geodatabase Maintenance • Blocking and accepting connections • Disconnecting users. • Reconcile/Post versions • Compress database • Updating statistics and indexes • Email notifications • Scheduling
  • 35. Publishing • Creating a script tool • Publishing using the geoprocessing framework • Consuming the tool
  • 36. Slide Deck http://www.slideshare.net/brentpierce/enterprise- geodatabase-sql-access-and-administration
  • 37. Thanks for attending Questions? Please fill out session surveys www.esri.com/sessionevals