はじめに:データを整理する「入れ物」を理解しよう
Snowflakeを使い始めて最初にぶつかる疑問のひとつが、「データってどこに入っているの?」というシンプルな問いです。実は、Snowflakeではデータを整理するためにデータベース → スキーマ → テーブルという3階層の構造が用意されています。
この記事を読むと、Snowflake データベース 階層構造の仕組みが理解でき、自分でテーブルを作るときに「どこに作ればいいのか」迷わなくなります。SQL初心者でもイメージしやすいように、身近なたとえも使いながら解説していきますね!

3階層をフォルダにたとえてみよう
パソコンのフォルダ構造を思い浮かべてください。書類を整理するときに「大フォルダ → 中フォルダ → ファイル」と分けますよね。Snowflakeもまったく同じ発想です。
- データベース (Database):いちばん大きな入れ物。プロジェクトや業務システム単位でまとめることが多いです。
- スキーマ (Schema):データベースの中をテーマごとに区切る中フォルダ。「売上関連」「顧客関連」などで分けます。
- テーブル (Table):実際のデータが入る表。行と列でデータを保持します。
Snowflakeではアカウントの中に複数のデータベースを作れて、その中に複数のスキーマ、さらにその中に複数のテーブルを置く――というツリー構造になっています。この基盤を支える仕組みについてはSnowflakeの3層アーキテクチャを初心者向けにやさしく解説もあわせてどうぞ。
完全修飾名 (Fully Qualified Name) とは?
テーブルを正確に指し示すときは、データベース名.スキーマ名.テーブル名のようにドットでつなげて書きます。これを「完全修飾名」と呼びます。
SALES_DB.PUBLIC.ORDERS
同じ「ORDERS」という名前のテーブルが別のスキーマにあっても、完全修飾名なら確実に区別できます。
SQLで実際に作ってみよう
Snowsightのワークシートを開いて、次のSQLを順番に実行してみましょう。Snowsightの画面操作に不安がある方は、先にSnowsightの画面構成と基本操作を初心者向けにやさしく解説を読むとスムーズです。
-- 1. データベースを作る
CREATE DATABASE SALES_DB;
-- 2. スキーマを作る
CREATE SCHEMA SALES_DB.RAW;
-- 3. テーブルを作る
CREATE TABLE SALES_DB.RAW.ORDERS (
ORDER_ID NUMBER,
CUSTOMER_ID NUMBER,
ORDER_DATE DATE,
AMOUNT NUMBER(10,2)
);
これでデータベース「SALES_DB」の中にスキーマ「RAW」が作られ、その中に「ORDERS」テーブルが置かれました。
毎回フルパスを書くのが面倒なときは?
事前にコンテキスト (現在地) を切り替えておけば、テーブル名だけでアクセスできます。
USE DATABASE SALES_DB;
USE SCHEMA RAW;
-- これだけでORDERSテーブルにアクセスできる
SELECT * FROM ORDERS;
Snowsightでは画面上部のドロップダウンからもデータベース・スキーマを切り替えられます。

よくあるユースケースと注意点
環境ごとに分ける
実務では DEV_DB / STG_DB / PROD_DB のようにデータベースを環境ごとに分けるのが定番です。スキーマは RAW (生データ)・STAGING (加工中)・MART (分析用) のように役割で分けると整理しやすくなります。
PUBLICスキーマの存在
データベースを作ると、自動的に PUBLIC という名前のスキーマと、システム情報が入った INFORMATION_SCHEMA が用意されます。とりあえず試したいときはPUBLICを使ってもOKです。
名前は大文字に正規化される
引用符を付けずに orders と書いても、Snowflake内部では ORDERS として扱われます。大文字小文字を厳密に区別したいときはダブルクォートで囲みましょう。
まとめ
Snowflakeでは データベース → スキーマ → テーブル の3階層でデータを整理します。フォルダ構造と同じ感覚で考えれば難しくありません。完全修飾名の書き方と USE 文によるコンテキスト切り替えを覚えておけば、迷わずデータにアクセスできるようになります。
まずは練習用のデータベースとスキーマを1つずつ作って、自分の手でテーブルを並べてみてくださいね!
参考リンク
- データベース、スキーマ、共有のDDL | Snowflake Documentation
- CREATE DATABASE | Snowflake Documentation
- CREATE SCHEMA | Snowflake Documentation
- オブジェクト名の解決 | Snowflake Documentation
関連記事
- Snowsightの画面構成と基本操作を初心者向けにやさしく解説 – SQLを実行する画面の使い方をマスターしよう
- Snowflakeの3層アーキテクチャを初心者向けにやさしく解説 – データベースの裏側を支える仕組みを理解しよう
- Snowflakeとは?従来のデータウェアハウスとの違いを初心者向けに解説 – そもそもSnowflakeってどんなDWH?という方はこちらから
