A reporting database and a staging database in the same account each contain a schema named CORE, and each CORE schema holds a table named ORDERS, yet both tables coexist without any naming conflict. Which characteristic of the Snowflake object hierarchy allows two tables with the identical name ORDERS to exist at the same time?
- ATable names must be unique only across the whole account, so Snowflake quietly appended a numeric suffix to one ORDERS table to keep the two account-wide names distinct
- BTables avoid conflicts only because each was created under a different role, so ownership rather than the schema namespace is what keeps the two ORDERS tables separate in the account
- CEach schema is a separate namespace within its database, so an object name need only be unique within its schema, allowing identically named ORDERS tables in different schemas to coexist Correct
- DThe two tables coexist only because one is transient and the other permanent, since table type rather than the containing schema is what makes two same-named ORDERS tables distinct
Why A is wrong: Table names are not account-wide and Snowflake does not append suffixes; uniqueness is scoped to the schema, so no renaming occurs here.
Why B is wrong: Ownership does not create the namespace; even tables owned by the same role can share a name across schemas, so the separation comes from the schema, not the role.
Why C is correct: A schema is the namespace that scopes object names, so ORDERS need only be unique within each CORE schema, letting both tables exist without conflict.
Why D is wrong: Table type does not provide naming separation; two permanent tables of the same name can coexist in different schemas, so the schema namespace is the real reason.