> Incubating
← All 50 Days
Day 5 of 50
D1: Architecture & Features Week 1
DAY 05

Snowflake Object Hierarchy: Org → Account → Database → Schema

Snowflake organizes everything you create into a strict containment hierarchy: Organization → Account → Database → Schema → object. The C03 exam guide names twelve specific things that live inside a schema as “database objects” — and you’ll get questions that test whether you can recognize all twelve. We’ll also lock in the most-tested system catalog distinction on the entire exam: INFORMATION_SCHEMA vs ACCOUNT_USAGE.

🗣️ Plain-English First

Catalog terminology can feel abstract. Anchor it:

TermPlain meaning
OrganizationThe biggest container — a company’s footprint across Snowflake. Holds one or more accounts.
AccountOne isolated tenant on Snowflake. Has its own users, warehouses, and databases.
DatabaseA logical container inside an account. Holds schemas.
SchemaA folder inside a database. Holds the actual objects (tables, views, etc).
Fully-qualified nameThe full path to an object: database.schema.object. Like a file path.
System catalogBuilt-in metadata views Snowflake exposes about your own account. Two main flavors: INFORMATION_SCHEMA and ACCOUNT_USAGE.
📘

Today’s Concept

Micro-Concept 1: The Containment Hierarchy

Top-down, broadest to narrowest:

LevelWhat it containsExample
OrganizationOne or more accounts (cross-region, cross-cloud)ACME_GLOBAL
AccountUsers, roles, warehouses, databases, resource monitors, network policiesACME_PROD_AWS_US_EAST_1
DatabaseSchemas (and account-scoped objects only at this level — itself, plus shares)SALES_DB
SchemaDatabase objects (the 12 — see Micro-Concept 2)SALES_DB.PUBLIC
ObjectThe actual table, view, function, etc.SALES_DB.PUBLIC.ORDERS

Every database automatically gets two schemas at creation: PUBLIC (default for new objects) and INFORMATION_SCHEMA (Snowflake’s per-database metadata catalog). You can drop PUBLIC if you don’t want it; you can’t drop INFORMATION_SCHEMA.

Fully-qualified naming. When you want to be unambiguous, use database.schema.object. If you’ve already USE DATABASE sales_db; USE SCHEMA public;, then orders alone resolves correctly. But scripts and shared queries should always use the full three-part name to avoid surprises.

Sign up free to unlock the rest of Day 5

Get all 50 lessons, 7 practice tests, hands-on labs, and progress tracking.

Free forever. No credit card. One-click signup with email.

Abhay Krishnan

Abhay Krishnan

Senior Data & AI Consultant
Connect on LinkedIn

With over five years of data engineering experience at EY and Infosys, Abhay Krishnan specializes in building scalable data pipelines and cloud warehousing solutions. He is a certified SnowPro Core professional, alongside credentials in AWS and Azure. Abhay created this 50-day track to solve a problem he faced firsthand: the lack of a structured, free resource for Snowflake certification prep. Follow him on LinkedIn for more data engineering insights.