DEV Community

Cover image for DP-750: Unity Catalog Object Model Explained and with Real Exam Questions
Jin
Jin

Posted on • Originally published at blog.luca-liu.com

DP-750: Unity Catalog Object Model Explained and with Real Exam Questions

When preparing for DP-750: Microsoft Certified: Azure Databricks Data Engineer Associate, you must understand how Unity Catalog organizes data.

Unity Catalog is not only a permission system. It is the central governance layer for data and AI assets in Azure Databricks. It provides a structured object model for organizing data, applying access control, managing metadata, and supporting governance across workspaces.

For DP-750, the most important Unity Catalog structure is:

metastore
  └── catalog
        └── schema
              └── table / view / volume / function / model
Enter fullscreen mode Exit fullscreen mode

Azure Databricks documentation describes catalogs as the first layer in Unity Catalog’s three-level namespace: catalog.schema.table-etc. A catalog contains schemas, and schemas contain tables, views, volumes, models, and functions.


1. What is a Unity Catalog metastore?

A metastore is the top-level container for Unity Catalog metadata.

It contains securable objects such as:

  • catalogs
  • schemas
  • tables
  • views
  • volumes
  • functions
  • storage credentials
  • external locations
  • connections
  • foreign catalogs

In practice, you usually do not create a new metastore for every team or department. A metastore is often shared across a Databricks account or region, while catalogs and schemas are used to organize and isolate business domains, environments, or data products.

For DP-750, when a question says:

The workspace is attached to a Unity Catalog metastore.

it means the workspace can use Unity Catalog objects such as catalogs, schemas, managed tables, external locations, and governed permissions.


2. What is a catalog?

A catalog is the first level of the Unity Catalog namespace.

Example:

sales.transactions.orders
Enter fullscreen mode Exit fullscreen mode

In this name:

sales        = catalog
transactions = schema
orders       = table
Enter fullscreen mode Exit fullscreen mode

A catalog is the primary unit of data organization and logical isolation in Unity Catalog. Microsoft documentation explains that catalogs often mirror organizational units or software development lifecycle scopes, such as business units, domains, or environments.

Common catalog design patterns include:

dev
test
prod
Enter fullscreen mode Exit fullscreen mode

or:

sales
finance
hr
Enter fullscreen mode Exit fullscreen mode

or:

bronze
silver
gold
Enter fullscreen mode Exit fullscreen mode

However, for governance and isolation, catalogs are often better used for business domains or environments, while schemas are used for more granular organization.


3. What is a schema?

A schema is the second level of the Unity Catalog namespace.

Example:

finance.procurement.assets
Enter fullscreen mode Exit fullscreen mode

In this name:

finance     = catalog
procurement = schema
assets      = table
Enter fullscreen mode Exit fullscreen mode

A schema organizes data and AI assets into a more granular category than a catalog. Microsoft documentation says schemas typically represent a single use case, project, or team sandbox, and they help with access control and data discovery.

For DP-750, schemas are often used to organize data by:

  • team
  • project
  • department area
  • data layer
  • sandbox
  • curated domain

Example:

finance.default
finance.procurement
finance.reporting
Enter fullscreen mode Exit fullscreen mode

4. What is a table?

A table is a data object inside a schema.

Example:

finance.procurement.assets
Enter fullscreen mode Exit fullscreen mode

This is a fully qualified table name.

For Unity Catalog, managed tables are usually the recommended default table type. Microsoft documentation says Unity Catalog managed tables are the default and recommended table type in Azure Databricks for Delta Lake and Apache Iceberg, and Unity Catalog manages read, write, storage, and optimization responsibilities for them.

For DP-750, if a question asks you to create a table in a specific catalog and schema, you can either:

  1. use the full three-part name:
CREATE TABLE finance.procurement.assets (
    asset_id INT,
    asset_name STRING,
    asset_type STRING
);
Enter fullscreen mode Exit fullscreen mode

or:

  1. set the current catalog and schema first:
USE CATALOG finance;
USE SCHEMA procurement;

CREATE TABLE assets (
    asset_id INT,
    asset_name STRING,
    asset_type STRING
);
Enter fullscreen mode Exit fullscreen mode

Both approaches identify the same table location in the Unity Catalog namespace.


5. Three-level namespace

Unity Catalog uses a three-level namespace:

catalog.schema.object
Enter fullscreen mode Exit fullscreen mode

For tables, this means:

catalog.schema.table
Enter fullscreen mode Exit fullscreen mode

Example:

finance.procurement.assets
Enter fullscreen mode Exit fullscreen mode

This structure matters in DP-750 because many exam questions test whether you know where an object belongs.

Object Level
Metastore Top-level metadata container
Catalog First namespace level
Schema Second namespace level
Table Third namespace level
View Third namespace level
Volume Third namespace level
Function Third namespace level
Model Third namespace level

A common exam trap is confusing catalog and schema.

For example:

CREATE CATALOG schema2
Enter fullscreen mode Exit fullscreen mode

is wrong if the requirement is to create a schema named schema2 inside an existing catalog.

The correct pattern is:

CREATE SCHEMA catalog1.schema2;
Enter fullscreen mode Exit fullscreen mode

6. Managed location

A managed location is a cloud storage path used by Unity Catalog to store managed objects such as managed tables and managed volumes.

Managed storage can be configured at different levels:

metastore
catalog
schema
Enter fullscreen mode Exit fullscreen mode

Microsoft documentation explains that managed tables and volumes are stored in managed storage locations, and that managed storage can be set at the metastore, catalog, or schema level. Data is stored at the lowest available location in the hierarchy.

This hierarchy is important:

Schema managed location
    overrides catalog managed location

Catalog managed location
    overrides metastore managed location

Metastore managed location
    fallback default
Enter fullscreen mode Exit fullscreen mode

So if a schema has its own managed location, managed tables in that schema use the schema’s managed location.


7. MANAGED LOCATION vs LOCATION

This is a very important DP-750 exam detail.

For Unity Catalog schemas, if you want to specify the storage location, you should use:

MANAGED LOCATION
Enter fullscreen mode Exit fullscreen mode

not:

LOCATION
Enter fullscreen mode Exit fullscreen mode

Microsoft documentation for CREATE SCHEMA states that LOCATION is not supported in Unity Catalog, and if you want to specify a storage location for a schema in Unity Catalog, you must use MANAGED LOCATION.

Correct example:

CREATE SCHEMA catalog1.schema2
MANAGED LOCATION 'abfss://container@storageaccount.dfs.core.windows.net/data';
Enter fullscreen mode Exit fullscreen mode

Incorrect example:

CREATE SCHEMA catalog1.schema2
LOCATION 'abfss://container@storageaccount.dfs.core.windows.net/data';
Enter fullscreen mode Exit fullscreen mode

For DP-750, remember:

Unity Catalog schema storage path = MANAGED LOCATION


8. Organizing catalogs and schemas

Unity Catalog design is about balancing:

  • governance
  • isolation
  • discoverability
  • naming consistency
  • access control
  • operational simplicity

Microsoft’s setup guidance says catalogs are the primary unit of data isolation in Unity Catalog, and all schemas, tables, volumes, views, and functions live in catalogs. It also recommends creating catalogs around logical boundaries such as business units, environments, or major data products.

For example, if your company has departments such as:

sales
finance
hr
Enter fullscreen mode Exit fullscreen mode

and each department must have independently managed access and logically isolated assets, then each department can have its own catalog:

sales
finance
hr
Enter fullscreen mode Exit fullscreen mode

Each catalog can then contain schemas:

sales.raw
sales.cleansed
sales.curated

finance.raw
finance.cleansed
finance.curated

hr.raw
hr.cleansed
hr.curated
Enter fullscreen mode Exit fullscreen mode

This supports centralized governance while keeping access boundaries clear.


9. Development area organization

Another common DP-750 pattern is about organizing development areas.

If the requirement says:

  • isolated development areas
  • standard naming conventions
  • centralized governance
  • consistent structure

then do not let every team create random objects in the default catalog and schema.

A better pattern is:

development catalog
  ├── team_a_schema
  ├── team_b_schema
  └── team_c_schema
Enter fullscreen mode Exit fullscreen mode

For example:

dev.team_sales
dev.team_finance
dev.team_iot
Enter fullscreen mode Exit fullscreen mode

This keeps development isolated while still enforcing a shared naming standard.

In DP-750, if the case study says that naming conventions are inconsistent and development teams need isolated areas, the answer is usually:

shared development catalog + standardized naming convention + separate schema per team


10. DP-750 decision table for Unity Catalog object model

Scenario in the question Best answer pattern
Need to create a schema inside catalog1 CREATE SCHEMA catalog1.schema_name
Need schema-specific managed storage MANAGED LOCATION
Need to create a table in a specific schema USE CATALOG, USE SCHEMA, then CREATE TABLE
Need logical isolation for departments Separate catalog per department
Need isolated development areas with standard naming Shared development catalog + schema per team
Need consistent raw, cleansed, curated organization Standard catalog/schema structure
Need centralized governance Unity Catalog
Need object name with catalog, schema, table Three-level namespace

Real Exam Questions

Question 4

You have an Azure Databricks workspace that is attached to a Unity Catalog metastore named metastore1, metastore1 contains a catalog named catalog1.

You need to create a new schema named schema2 that meets the following requirements:

Which SQL statement should you execute?

A. CREATE SCHEMA catalog1.schema2

LOCATION ‘abfss://container@storageaccount.dfs.core.windows.net/data’;

B. CREATE SCHEMA catalog1.schema2

MANAGED LOCATION ‘abfss://container@storageaccount.dfs.core.windows.net/data’; ✅ Correct Answer

C. CREATE CATALOG schema2

MANAGED LOCATION ‘abfss://container@storageaccount.dfs.core.windows.net/data’;

D. CREATE SCHEMA catalog1.schema2

WITH DBPROPERTIES (LOCATION-’abfss://container@storageaccount.dfs.core.windows.net/data’);


Question 6

You have an Azure Databricks workspace that is enabled for Unity Catalog and contains a catalog named finance, finance contains two schemas named default and procurement.

You need to create a table named assets in the procurement schema, assets must contain the following columns:

  • asset_id
  • asset_type
  • asset_name

How should you complete the SQL statement?

USE CATALOG finance;
USE SCHEMA procurement;
CREATE TABLE assets (
    asset_id INT,
    asset_name STRING,
    asset_type STRING
);
Enter fullscreen mode Exit fullscreen mode

✅ Correct Answer


Question 15

Useful case information

Contoso identifies the following governance requirements:

  • Centralize the metadata catalog.
  • Provide isolated development areas that follow standard naming conventions.
  • Establish a consistent structure for organizing raw, cleansed, and curated data.

You need to organize Unity Catalog. The solution must meet the governance requirements.

What should you do?

A. Use a single shared schema for all the development teams and rely on table-level permissions for isolation.

B. Enable the development teams to create objects directly in the default catalog and schema.

C. Create a separate catalog for each development team and enable each team to choose its own schema names.

D. Create a shared development catalog, enforce a standardized naming convention, and assign each development team its own schema. ✅ Correct Answer


Question 30

Your company has sales, finance, and HR departments.

You have an Azure Databricks workspace that is enabled for Unity Catalog.

You need to implement Unity Catalog to meet the following requirements:

  1. Access to Unity Catalog for each department must be managed independently from that of the other departments.

  2. The data assets of each department must be isolated logically from those of the other departments.

  3. The solution must support centralized governance.

What should you do for each department?

A. Create a separate Azure Data Lake Storage Gen2 account.

B. Create dynamic views.

C. Create a new workspace.

D. Create a new catalog. ✅ Correct Answer


Key takeaways

For DP-750, Unity Catalog object model questions are usually about where objects belong and how to organize them for governance.

Remember these patterns:

  • Unity Catalog uses the namespace: catalog.schema.object

  • A catalog is the first level of data organization and logical isolation.

  • A schema is the second level and often represents a project, use case, or team sandbox.

  • Tables, views, volumes, functions, and models live inside schemas.

  • To create a schema inside a catalog, use CREATE SCHEMA catalog.schema.

  • To specify a Unity Catalog schema storage path, use MANAGED LOCATION.

  • For independent department-level access, create separate catalogs.

  • For isolated development areas with standard naming, use one shared development catalog and one schema per team.

If you understand the object model, many Unity Catalog questions become much easier because you can identify whether the answer should be at the catalog level, schema level, or table level.


Explore more

Thank you for taking the time to explore data-related insights with me. I appreciate your engagement.

Connect with me on LinkedIn

Connect with me on X

Top comments (0)