website logo
⌘K
Product
Getting Started
Supported Browsers
ProdX
Drilling
Single Sign-On (SSO)
Developer Docs
API Quick Start Tutorials
Data Schema Fundamentals
API Reference
API Performance Expectations
Data Schema
Modeling
Support
Legal
Docs powered by
Archbee
Developer Docs

Data Schema Fundamentals

Author(s): Kyle Vessey, Ohm Devani October 2022

Relational Data Concepts

Our data platform is built on top of PostgreSQL. PostgreSQL is a powerful, open source object-relational database system with over 30 years of active development that has earned it a strong reputation for reliability, feature robustness, and performance. Our data schema enforces referential integrity. This affects how records are inserted, the order in which they are inserted and how they are deleted. The RESTful APIs will not accept records which will break a referential constraint (e.g. inserting a daily production record for a well which does not yet exist in the well header table). Read More: Relational Database concepts

Data ingest from WellView® and OpenWells® Source Systems

The data ingest RESTful APIs use the original source system IDs as key fields. For WellView and OpenWells the data schema documentation provides guidance as to which table/view and which column/value to use as the source system ID. Guidance is provided for the Well Header, the Wellbore and all other Wellbore related data sets

WellView is a registered trademark of Peloton Computer Enterprises Ltd. OpenWells is a registered trademark of Halliburton Landmark.

Data Schema (Conceptual)

Below is a high-level conceptual data schema that explains the relationship(s) between the various data entities within our database. For brevity table columns are emitted. Only primary and foreign keys relationships are documented. See the table specific Data Schema documents for detailed column information



Document image


Data Relationships

A clickable diagram demonstrating the relationship of inputs (blue) to intermediate calculations (yellow) and then to engineering workflows (green). Each white box represents an input table, workflow, or calculation and clicking it leads to the documentation related to that item.

<!-- Image Map Generated by http://www.image-map.net/ -->
<img src="https://raw.githubusercontent.com/XectaDigitalLabs/Platform.Data.Images/main/ProdX_Flow.drawio(3)(2).svg" usemap="#image-map">

<map name="image-map">
    <area target="_blank" alt="Daily Production" title="Daily Production" href="https://docs.onxecta.com/daily-production-schema" coords="61,103,132,125" shape="rect">
    <area target="_blank" alt="Well" title="Well" href="https://docs.onxecta.com/well-header-schema" coords="61,192,132,215" shape="rect">
    <area target="_blank" alt="Wellbore" title="Wellbore" href="https://docs.onxecta.com/wellbore-header-schema" coords="60,228,132,252" shape="rect">
    <area target="_blank" alt="Wellbore Deviation Survey" title="Wellbore Deviation Survey" href="https://docs.onxecta.com/deviation-survey-schema" coords="60,264,132,287" shape="rect">
    <area target="_blank" alt="Wellbore Casing" title="Wellbore Casing" href="https://docs.onxecta.com/casing-schema" coords="61,299,132,324" shape="rect">
    <area target="_blank" alt="Wellbore Tubing" title="Wellbore Tubing" href="https://docs.onxecta.com/tubing-schema" coords="60,336,132,360" shape="rect">
    <area target="_blank" alt="Wellbore Formation" title="Wellbore Formation" href="https://docs.onxecta.com/wellbore-formation" coords="60,419,132,444" shape="rect">
    <area target="_blank" alt="PVT" title="PVT" href="https://docs.onxecta.com/pvt" coords="263,388,359,455" shape="rect">
    <area target="_blank" alt="BHP" title="BHP" href="https://docs.onxecta.com/bhp" coords="262,72,359,138" shape="rect">
</map>


CRUD Operations

Database CRUD operations are performed using the REST APIs. Detailed API tutorials and examples are available for Postman, Python, and C#.NET

Data must be pushed in the correct order to maintain referential integrity. The API REST based POST commands perform data UPSERTS. Each UPSERT must pass a series of data validation checks to maintain referential integrity. UPSERTS that fail the data integrity check will be rejected. Table specific data integrity check rules are documented at the bottom of each table specification.

UPSERTS

If a duplicate record exists, the previous record will be UPSERTED (overwritten) with the new data provided by the conflicting INSERT request. The REST based POST command will UPSERT if a record exists.

DELETES

CASCADE DELETE functionality is enabled. This means that if a parent record is deleted, all child records will delete also. (e.g. - if a Well Header is deleted, all data related to that well is also deleted). The REST based DELETE command will DELETE data.

SELECT

Various datasets are available for retrieval. The REST based GET command will return JSON based data sets. These datasets can be used by other applications such as Microsoft Power BI or can be integrated into custom workflows, data warehouses or applications.

Updated 06 Sep 2023
Did this page help you?
PREVIOUS
GraphQL Tutorial
NEXT
Get Multiple Wells
Docs powered by
Archbee
TABLE OF CONTENTS
Relational Data Concepts
Data ingest from WellView® and OpenWells® Source Systems
Data Schema (Conceptual)
Data Relationships
CRUD Operations
UPSERTS
DELETES
SELECT
Docs powered by
Archbee