CertSafari
    Databricks Certified Data Analyst Associate· Lessons

    Domain 4 · Lesson 16/39

    Managed vs External Tables in Unity Catalog

    Create managed tables and external tables, including creating tables by joining data from multiple sources (e.g., CSV, Parquet, Delta tables) to create unified datasets, including Unity Catalog.

    9 min read
    2.56% of exam
    4 sources
    Published 3 Oct 2026
    Docs as of 30 Sep 2026

    What you will be able to do

    • Explain what Unity Catalog controls for a managed table compared with an external table
    • Create an empty managed table and an external table with a LOCATION, and name the privileges each one needs
    • Predict what happens to the data files when each table type is dropped
    • Choose between a managed and an external table for a given scenario

    Key concept

    Managed vs external table — Unity Catalog governs every registered table: it controls access, auditing and lineage. For a managed table it also decides where the data files are stored and controls their lifecycle. For an external table, you choose the storage location and you look after the files.

    1.Two meanings of "managed"

    Before you write a CREATE TABLE statement, you need to know what the word "managed" means. In Unity Catalog it has two meanings, and exam questions often turn on the difference. In the loose sense, every object registered in Unity Catalog is "managed": Unity Catalog stores its metadata and controls governance, which covers access, auditing and lineage. External tables are governed this way too.

    The narrower sense is the one in the name "managed table". For a managed table, Unity Catalog also decides where in your cloud account the data files go and controls their lifecycle: how they are organized, how they are optimized and when they are deleted. The data stays in your cloud account either way, and Databricks doesn't take ownership of it. The difference is who looks after the files. A third use of the word is the MANAGE privilege. It lets a user grant or revoke privileges on an object, transfer its ownership, or delete it without being the owner.

    Checkpoint 1 of 5· Match them up

    Match each use of "manage" to what it means

    Tap a term, then the definition that fits it.

    Sources1

    2.Creating a managed table

    Managed tables are the default table type and the one Databricks recommends. They use Delta Lake or Apache Iceberg. A plain CREATE TABLE with no USING clause and no LOCATION creates a managed Delta table. You add USING iceberg only when you want Iceberg. You don't give a path: Unity Catalog puts the files in the managed storage location defined on the containing schema, catalog or metastore. To create one, you need USE CATALOG on the parent catalog, plus USE SCHEMA and CREATE TABLE on the parent schema.

    An empty managed Delta table. There's no LOCATION, because Unity Catalog chooses where the files gosql
    -- Create a managed Delta table
    CREATE TABLE <catalog-name>.<schema-name>.<table-name>
    (
      <column-specification>
    );

    Note the three-level name. Every read and write to a managed table must use catalog.schema.table. Path-based access to managed tables isn't supported (except in Compatibility Mode), because it would bypass Unity Catalog access controls. In return for giving up control of the files, you get features that external tables don't have, including predictive optimization and automatic deletion of the files after a DROP TABLE.

    Checkpoint 2 of 5· Check yourself

    An analyst runs CREATE TABLE main.sales.orders (id INT, amount DOUBLE); with no USING and no LOCATION clause. What do they get?

    Checkpoint 3 of 5· Exam question

    An analyst wants a new sales table in Unity Catalog to be fully managed by Databricks, so that a later `DROP TABLE` also deletes the underlying data files, without pointing the table at any existing cloud storage path. Which approach achieves this?

    Sources21

    3.Creating an external table

    An external table points to files in cloud object storage that you control. When you define one, you must give a storage location, and that location has to fall under an external location registered in Unity Catalog. Unity Catalog still stores the table's metadata and governs access to it. It doesn't manage the table's lifecycle, optimization, storage location or layout. External tables accept more formats than managed tables: DELTA, CSV, JSON, AVRO, PARQUET, ORC and TEXT.

    An external table with a defined schema. The LOCATION clause is what makes it externalsql
    CREATE TABLE <catalog>.<schema>.<table-name>
    (
      <column-name> <data-type>
    )
    LOCATION 's3://<bucket-path>/<table-directory>';

    An external table needs one privilege that a managed table doesn't: CREATE EXTERNAL TABLE on the external location that covers the path. You also need USE CATALOG, USE SCHEMA and CREATE TABLE, the same as for a managed table. Use a separate directory for each table, and keep paths to standard ASCII characters.

    Checkpoint 4 of 5· Put it in order

    Put the steps for creating an external table in order

    1. 1.Run CREATE TABLE ... LOCATION 's3://<bucket-path>/<table-directory>'
    2. 2.Get the CREATE EXTERNAL TABLE privilege on that external location
    3. 3.Configure an external location that grants access to the cloud storage path

    Sources34

    4.Dropping tables, and choosing a table type

    The drop behavior follows from who owns the file lifecycle. Dropping a managed table removes the metadata, and Unity Catalog later deletes the data files. Until then, UNDROP TABLE can recover the table, by default for 7 days according to the managed-tables page. Dropping an external table removes only the metadata, and the files stay where they were. To drop either type, you must own the table or hold MANAGE on it.

    Managed and external tables in Unity Catalog compared
    FeatureManaged tablesExternal tables
    Storage locationUnity Catalog managesYou specify
    Data lifecycle managementUnity Catalog managesYou manage
    Formats supportedDelta Lake, Apache IcebergDelta Lake (recommended), CSV, JSON, AVRO, PARQUET, ORC, TEXT
    Automatic optimizationsYesLimited
    Data deleted on DROP TABLEYesNo
    Best forProduction workloads, frequently queried dataLegacy integrations, existing data

    In most cases, Databricks recommends managed tables because they cost less to store and query and they maintain themselves. Choose an external table in two cases. The first is when you need to register existing data that a managed table can't hold, such as JSON or Avro files. The second is when non-Databricks clients need direct access to the files and don't support other external access patterns. Even for an external table, Databricks recommends the Delta format.

    Checkpoint 5 of 5· Exam question

    In Unity Catalog, what table type and storage format result from running `CREATE TABLE catalog.schema.tbl (id INT)` with neither a `USING` clause nor a `LOCATION` clause specified?

    Sources234

    Exam traps

    Each one states something that sounds right. Open it to see what is actually true.

    1. 1.An external table is outside Unity Catalog governance, so its access isn't controlled.Why is that wrong?

      Unity Catalog governs access, auditing and lineage for every registered object, including external tables. What external tables lack is Unity Catalog control over the storage lifecycle.

      Covered in Two meanings of "managed"

    2. 2.CREATE TABLE on the schema is enough to create an external table.Why is that wrong?

      You also need the CREATE EXTERNAL TABLE privilege on the external location that covers the LOCATION path.

      Covered in Creating an external table

    3. 3.Dropping any table in Unity Catalog deletes its data files.Why is that wrong?

      Only dropping a managed table deletes the data files. Dropping an external table removes the metadata, and the files stay in cloud storage until you delete them.

      Covered in Dropping tables, and choosing a table type

    Sources

    Every claim above is drawn from one of these pages, quoted as it was written on the date shown.

    1. 1.
      “Managed assets: Unity Catalog controls both governance (access control, auditing, lineage) and the underlying file storage lifecycle”
      ↩︎ Two meanings of "managed"
      “Unity Catalog stores managed tables in the managed storage location defined on the containing schema, catalog, or metastore.”
      ↩︎ Creating a managed table
      “External assets: Unity Catalog controls governance only. The underlying file storage lifecycle is controlled by you or an external system.”
      ↩︎ Key concept
      “This applies to all registered Unity Catalog objects, including external tables and volumes.”
      ↩︎ Exam trap 1
      “This applies to all registered Unity Catalog objects, including external tables and volumes.”
      ↩︎ Prediction
      “When people say that an object is managed by Unity Catalog, they typically mean that Unity Catalog governs access to it.”
      ↩︎ Checkpoint
    2. 2.
      “Unity Catalog managed tables are the default and recommended table type in Databricks for Delta Lake and Apache Iceberg.”
      ↩︎ Creating a managed table
      “Path-based access to Unity Catalog managed tables is not supported (except in Compatibility Mode) because it bypasses Unity Catalog access controls”
      ↩︎ Creating a managed table
      “Unity Catalog supports the UNDROP TABLE command to recover accidentally dropped managed tables. By default, tables are recoverable for 7 days after being dropped.”
      ↩︎ Dropping tables, and choosing a table type
      “To create an Apache Iceberg table, explicitly specify USING iceberg. Otherwise, Databricks creates a Delta Lake table by default.”
      ↩︎ Checkpoint
    3. 3.
      “When you define a Unity Catalog external table, you must specify a storage location.”
      ↩︎ Creating an external table
      “You need to register a table backed by existing data that isn't compatible with Unity Catalog managed tables, such as JSON or Avro.”
      ↩︎ Dropping tables, and choosing a table type
      “The CREATE EXTERNAL TABLE privilege on an external location that grants access to the LOCATION accessed by the external table.”
      ↩︎ Exam trap 2
      “Unity Catalog does not delete the underlying data in cloud storage when you drop an external table.”
      ↩︎ Exam trap 3
      “Before you create an external table, you must first configure an external location that grants access to your cloud storage.”
      ↩︎ Checkpoint
      “Unity Catalog does not delete the underlying data in cloud storage when you drop an external table.”
      ↩︎ Prediction
    4. 4.
      “Unity Catalog external tables support the Delta Lake, CSV, JSON, AVRO, PARQUET, ORC, and TEXT formats.”
      ↩︎ Creating an external table
      “Databricks recommends that you use the Delta Lake format because it has transactional guarantees and performance optimizations that the other formats don't.”
      ↩︎ Dropping tables, and choosing a table type

    Continue to page 2 of 2

    Unified Tables from CSV, Parquet and Delta Sources

    Spotted a mistake, or was something unclear? Tell us.