Database Structure

The Salesforce database is not a standard Relational Database Management System (RDBMS). While it uses Oracle under the hood, it is a specialized use that facilitate the multi-tenant environment and enforce additional security. It does not support ANSI SQL, though much of SOQL (their proprietary query language) looks and behaves similar to SQL. See here for more details.

First, the terminology is a little tricky. A Salesforce Object is analogous to a database table. It's not exactly the same as Salesforce has an abstraction layer seen above. Note, Salesforce does have objects in Apex typical of Object Oriented Programming languages, but this is not the same.

An SObject (Salesforce object) typically refers to an individual database record, instantiated as an Apex object that extends the class SObject. These are built by Salesforce based on the database; the developer is note required to write the classes

While behind the scenes, Salesforce uses a relational database (Oracle), the Salesforce objects do not represent Oracle tables. Salesforce restructures the schema to support their multi-tenant environment.

Salesforce Schema
For more details, see this link.

One should understand, that SOQL is not simply passed through to the underlying table structure—rather Salesforce is reading the SOQL and generating a new SQL query (invisible to the developer) which is then passed to the underlying database. Though SOQL, looks similar to SQL, it is actually a proprietary query language, built by Salesforce.
To the next anticipated question... No, you cannot make calls directly to the database.

 

 

© 2001 – 2023 Object Factory Inc
marker marker marker marker marker