Back to all posts

Data Modelling Tools for Snowflake: Five Tools Compared

For data architects who model a Snowflake warehouse and are shortlisting a modelling tool for it.

On this page

You have a Snowflake account full of tables that nobody has drawn, and you need a model that you can review, keep in Git and hand to analysts. DbSchema is the pick for that job. Its free Community Edition reverse-engineers the account into diagrams. DbSchema Pro keeps the design in a model file and documents a schema of any size as HTML5 that opens in any browser.

SqlDBM, erwin Data Modeler, ER/Studio Data Architect and Hackolade Studio are the other four tools compared here. Every fact about them comes from the vendor's own pages, checked on 12 November 2026.

Try the first pick on this list

Free Community Edition plus a 15-day Architect trial. No signup. Windows, macOS and Linux.

Modelling tools and transformation tools

"Data model" means two things in a Snowflake team. A modelling tool connects to the account, reads its tables, columns and keys, and draws them as an entity-relationship diagram. You change the diagram, and the tool writes the DDL. All five tools in this comparison are of that kind.

Several pages for this search also list dbt, which transforms raw warehouse data: you write SQL SELECT statements, and dbt builds tables and views from them. dbt builds a pipeline. To see and design the schema itself, you still need a modelling tool.

The snowflake schema is a third meaning: a star schema whose dimension tables are split into further tables. You can draw one in any of the five tools.

Keys that Snowflake records but doesn't enforce

A modelling tool draws a relationship line from each foreign key that the database declares. On Snowflake, the data can break a declared key. Here are two tables with a declared foreign key, and an order for a customer that doesn't exist:

CREATE TABLE customers (id INT PRIMARY KEY, name VARCHAR);
CREATE TABLE orders (id INT PRIMARY KEY, customer_id INT REFERENCES customers (id));
INSERT INTO orders VALUES (1, 99);

On a standard Snowflake table, the INSERT succeeds. A foreign key is NOT ENFORCED by default, and Snowflake enforces only NOT NULL and CHECK on standard tables. A modelling tool that reads the declared key still draws the line from orders to customers. PostgreSQL 18 enforces the same key and rejects the INSERT:

ERROR:  insert or update on table "orders" violates foreign key constraint "orders_customer_id_fkey"
DETAIL:  Key (customer_id)=(99) is not present in table "customers".

Hybrid tables follow other rules. Snowflake's overview of constraints sets them side by side:

ConstraintStandard tablesHybrid tables
PRIMARY KEYOptional, not enforcedRequired, enforced
FOREIGN KEYOptional, not enforcedOptional, enforced
UNIQUEOptional, not enforcedOptional, enforced
NOT NULLOptional, enforcedOptional, enforced
CHECKOptional, enforcedOptional, enforced, only at table creation

Declare the foreign keys that your data keeps, even on standard tables. The same Snowflake page says why: data modelling tools read the declared keys to discover the relationships between tables. A relationship that nobody declared has no line in any tool's diagram until you add one to the model.

The five tools side by side

Each value comes from the vendor page linked in the tool's section below.

ToolRuns onReads a Snowflake databaseWhere the model is kept
DbSchemaWindows, macOS and LinuxYes, in the free Community EditionA .dbs file on your disk; saving it needs Pro
SqlDBMThe vendor's cloud platformYes, over a direct connectionSqlDBM's cloud platform
erwin Data Modeler 15.0Windows 11 and macOSYes, from a database or a scriptA .erwin file, or a mart in Workgroup Edition
ER/Studio Data ArchitectWindows 10 and 11YesA .dm1 file, or the central repository of Data Architect Pro
Hackolade StudioWindows, macOS and LinuxYes, in Professional and higherYour local file system or a Git repository

The last column decides how a schema change reaches review. A model kept as a file on your disk goes into Git beside your code, and a teammate reviews the change as a diff.

DbSchema

DbSchema is a desktop application for Windows, macOS and Linux. To connect, enter your account identifier followed by .snowflakecomputing.com as the host, the format of Snowflake's account URLs. Then name a database, a role and a warehouse that the role can use. Snowflake requires a warehouse for queries. DbSchema downloads the JDBC driver on the first connection. Besides the password login, the Method list of the connection dialog offers Single Sign-On in the Browser (Okta, Entra ID, Ping) and Private Key File.

In the Reverse Engineer the Database dialog, tick the schemas to import and press Load. DbSchema draws the tables and the declared foreign keys as a diagram. Connecting and importing change nothing in Snowflake, and both work in the free Community Edition.

A diagram in DbSchema reverse-engineered from a database, with one foreign key line selected between two tables

For a relationship that Snowflake doesn't declare, drag the child column onto the parent column, tick Virtual in the dialog and press OK. DbSchema draws this virtual foreign key in another color and never creates it in Snowflake. The Query Builder and the Data Explorer, both in DbSchema Pro, join tables over a virtual key as over a declared one. Keeping a virtual key means saving the model, which needs Pro.

A violet virtual foreign key line in DbSchema from shipments to orders, beside the gray lines of the declared foreign keys

For analysts without a Snowflake login, choose File → Export As... → HTML5/PDF Documentation. The HTML5 documentation is one file that opens in any browser, with the diagram as a vector image and the table and column comments as mouse-over tooltips. The Community Edition documents a diagram of up to 12 tables, with "DbSchema Trial" across the diagram image. Pro documents any diagram.

HTML5 documentation exported by DbSchema, open in a web browser, with the schema diagram drawn as a vector image

DbSchema keeps the design in a .dbs model file. File → Git Collaboration commits, pushes and pulls that file, so a schema change is reviewed as a diff before it reaches Snowflake.

The Git dialog in DbSchema for a model repository, with the commit history, the working tree and the commit message field

While DbSchema is connected, a change that you confirm in the diagram runs in Snowflake at once. To keep your changes in the model first, choose Offline (connect later) from the connection button in the toolbar. Later, schema synchronization compares the model with the database and lists every difference. For each one, you choose whether the model or the database wins. One model can hold a connection for each environment, so the same comparison runs against development, staging and production. Saving the model, Git and synchronization need DbSchema Pro.

What the other four tools do on Snowflake

SqlDBM

SqlDBM is a cloud-based data modeling platform. According to its Snowflake page, SqlDBM connects directly to a Snowflake database, with SSO, and reverse-engineers the database without copying DDL by hand. SqlDBM supports schemas, tables, views, file formats, functions, procedures, sequences and tags. It traces lineage at column level from the diagram or the SQL editor. The pricing page lists reverse engineering, forward engineering and Git as included, prices per user by quote, and names no free plan.

erwin Data Modeler

erwin Data Modeler 15.0 reverse-engineers Snowflake from a database or from a script. Its Snowflake support summary lists masking policies, row access policies and tags, as well as streams, tasks, stages, pipes and warehouses. The same summary lists VARIANT, OBJECT and ARRAY among the data types. The system requirements name Windows 11 and macOS. The file types page stores a model in a .erwin file or in a Workgroup Edition mart.

ER/Studio Data Architect

ER/Studio's Snowflake page describes reverse engineering from Snowflake and DDL generation for it. The installation guide lists Windows 10 and Windows 11. The pricing page lists Data Architect at $2,687 per user and Data Architect Pro at $3,693 per user, as subscription prices. Pro adds a central repository with check-in and check-out for team work. Enterprise is priced by quote.

Hackolade Studio

Hackolade Studio's Snowflake page models the structure of semi-structured objects stored in VARIANT columns. Its reverse engineering samples records to infer that structure. It also covers clustering keys and materialized views, and generates documentation in HTML, PDF or Markdown. Reverse engineering needs the Professional edition or higher, and Git integration needs Workgroup or Ultimate. The free Community edition runs on the desktop or in a browser, and has no reverse engineering. The pricing page lists Workgroup at €1,750 per seat a year, with a free 14-day trial.

Download DbSchema, connect it to your Snowflake account with a warehouse and a role, and reverse-engineer your schemas into a diagram with the free Community Edition. Saving the model to a file, Git, HTML5 documentation of any size and schema synchronization are in DbSchema Pro. A new installation starts with a 15-day trial of the Architect edition, which has every feature.

Sources

  1. dbt: What is dbt?
  2. Wikipedia: Snowflake schema
  3. Snowflake: CREATE TABLE … CONSTRAINT
  4. Snowflake: Overview of constraints
  5. Snowflake: Account identifiers
  6. Snowflake: Overview of warehouses
  7. SqlDBM: home page
  8. SqlDBM: Snowflake
  9. SqlDBM: Pricing
  10. erwin Data Modeler 15.0: Reverse engineering options for Snowflake
  11. erwin Data Modeler 15.0: Snowflake support summary
  12. erwin Data Modeler 15.0: System requirements
  13. erwin Data Modeler 15.0: File types supported
  14. ER/Studio: Snowflake integration
  15. ER/Studio Data Architect: Installing
  16. ER/Studio: Pricing
  17. Hackolade: Snowflake data modeling
  18. Hackolade: Editions
  19. Hackolade: Pricing

Give your Snowflake account a map

DbSchema reverse-engineers your Snowflake schemas into diagrams, keeps the model in a file you version in Git, and exports interactive HTML5 documentation. Free Community Edition included.