DbSchema PRO Features

Connect to Any Database

DbSchema works with 70+ SQL and NoSQL databases. Connect locally, in the cloud, or on remote servers - all through JDBC drivers.

postgresql
mysql
sqlserver
oracle
mariadb
sqlite
mongodb
redis
cassandra
clickhouse
elasticsearch
duckdb
snowflake
googlebigquery
redshift
databricks
azuresql
saphana
auroramysql
aurorapostgresql
db2
teradata
vertica
greenplum

Visual Database Design

Visual Database Design
Interactive ER Diagrams
Explore tables and relationships instantly.
Built for Large Databases
Design even with 10,000+ tables.
Stay Organized
Keep big projects clear with multiple diagrams.

Visually model tables and keys, reverse from any database, and generate SQL to deploy or sync.

Interactive Diagrams
Sample Image

✓ Design tables and relationships visually.

✓ Keep even complex schemas easy to understand.

Learn more about Diagrams

Logical & Physical Design
Sample Image

✓ Start with a high-level model, deploy anywhere.

✓ Stay flexible across any database engine.

Learn more about Designing from Scratch

Import DDL Scripts
Sample Image

✓ Turn SQL scripts into diagrams instantly.

✓ Edit visually, then export back to your database.

Learn more about DDL Import

Enterprise-ready

Enterprise Database Tool

Built for massive databases, secure by default, and made for teams. Scale to 10k+ tables, connect via SSL/SSH, and collaborate with Git.

Large Databases

➤ Built to handle massive databases, even with 10.000+ tables.

➤ Navigate complex models without slowdown.

Learn more about Data Explorer

Highly Secure
Sample Image

➤ SSL/TLS & SSH Tunnel for secure connections.

➤ Keep your data local - nothing leaves your machine.

Read about Security Options

Built for Teams
Sample Image

➤ Review schema diffs and work in branches with Git.

➤ Share HTML/PDF docs so everyone reads the same model.

See Git Workflow

Team Work

U { } [ ] Read column and table comments by hovering the columns and tables. Zoom with CTRL+whell mouse button, pan by dragging the diagram with the right-mouse button DbSchema Database Designer MySQL Diagram Read schema comments as mouse-over tooltips DbSchema.com © 2025-09-16 Wise CodersDbSchema is an universal database designer. DbSchema has a free Community Edition. Group_ Group_ 🔗 Foreign Key fk_orders_customers orders ref customers ( customer_id ) 🔗 Foreign Key fk_orders_customers orders ref customers ( customer_id ) fk_orders_customers 🔗 Foreign Key fk_reviews_customers reviews ref customers ( customer_id ) 🔗 Foreign Key fk_reviews_customers reviews ref customers ( customer_id ) fk_reviews_customers 🔗 Foreign Key fk_reviews_sales reviews ref sales ( customer_id ) 🔗 Foreign Key fk_reviews_sales reviews ref sales ( customer_id ) fk_reviews_sales 🔗 Foreign Key fk_employees_employee_benefits employees ref employee_benefits ( employee_id ) 🔗 Foreign Key fk_employees_employee_benefits employees ref employee_benefits ( employee_id ) fk_employees_employee_benefits 🔗 Foreign Key fk_employees_salaries employees ref salaries ( salary ) 🔗 Foreign Key fk_employees_salaries employees ref salaries ( salary ) fk_employees_salaries ordersTable company.orders 🔑 Pk pk_orders ( order_id ) order_id⧉ order_id * int ↙ order_items( order_id ) ↙ transactions( order_id ) INT🔗 Referred by order_items ( order_id ) Referred by transactions ( order_id ) customer_id⧉ customer_id int ↗ customers( customer_id ) INT🔗 References customers ( customer_id ) order_date⧉ order_date date DATE total_amount⧉ total_amount decimal(15,2) DECIMAL(15,2) status⧉ status varchar(50) VARCHAR(50) shipping_address⧉ shipping_address varchar(255) VARCHAR(255) salesTable company.sales 🔑 Pk pk_sales ( sales_id ) sales_id⧉ sales_id * int INT price⧉ price decimal(10,0) DECIMAL(10,0) discount⧉ discount decimal(10,0) DECIMAL(10,0) 🔍 fk_sales_customers ( customer_id ) customer_id⧉ customer_id int ↗ customers( customer_id ) ↙ reviews( customer_id ) INT🔗 References customers ( customer_id ) Referred by reviews ( customer_id ) reviewsTable company.reviews 🔑 Pk pk_reviews ( review_id ) review_id⧉ review_id * int INT 🔍 Unq unq_reviews_product_id ( product_id ) product_id⧉ product_id int INT 🔍 fk_reviews_customers ( customer_id ) customer_id⧉ customer_id int ↗ customers( customer_id ) ↗ sales( customer_id ) INT🔗 References customers ( customer_id ) References sales ( customer_id ) rating⧉ rating int INT review_date⧉ review_date date DATE comments⧉ comments text TEXT employee_benefitsTable company.employee_benefits 🔑 Pk pk_employee_benefits ( benefit_id ) benefit_id⧉ benefit_id * int INT 🔍 Unq unq_employee_benefits_employee_id ( employee_id ) employee_id⧉ employee_id int ↙ employees( employee_id ) INT🔗 Referred by employees ( employee_id ) benefit_type⧉ benefit_type varchar(50) VARCHAR(50) start_date⧉ start_date date DATE end_date⧉ end_date date DATE employee_projectsTable company.employee_projects 🔑 Pk pk_employee_projects ( employee_id, project_id ) employee_id⧉ employee_id * int INT 🔑 Pk pk_employee_projects ( employee_id, project_id ) 🔍 Unq unq_employee_projects_project_id ( project_id ) project_id⧉ project_id * int ↙ employees( employee_id ) ↙ projects( project_id ) INT🔗 Referred by employees ( employee_id -> project_id ) Referred by projects ( project_id ) role⧉ role varchar(100) VARCHAR(100) start_date⧉ start_date date DATE end_date⧉ end_date date DATE customersTable company.customers 🔑 Pk pk_customers ( customer_id ) customer_id⧉ customer_id * int ↙ orders( customer_id ) ↙ payment_methods( customer_id ) ↙ reviews( customer_id ) ↙ salaries( salary_id ) ↙ sales( customer_id ) INT🔗 Referred by orders ( customer_id ) Referred by payment_methods ( customer_id ) Referred by reviews ( customer_id ) Referred by salaries ( salary_id -> customer_id ) Referred by sales ( customer_id ) first_name⧉ first_name varchar(50) VARCHAR(50) last_name⧉ last_name varchar(50) VARCHAR(50) email⧉ email varchar(100) VARCHAR(100) phone_number⧉ phone_number varchar(20) VARCHAR(20) address⧉ address varchar(255) VARCHAR(255) registration_date⧉ registration_date date DATE employeesTable company.employees ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ This field contains personal informations 🔑 Pk pk_employees ( employee_id ) employee_id⧉ employee_id * int ↗ employee_benefits( employee_id ) ↗ employee_projects( project_id ) ↙ attendance( employee_id ) INT🔗 References employee_benefits ( employee_id ) References employee_projects ( employee_id -> project_id ) Referred by attendance ( employee_id ) 🔍 Unq unq_employees_first_name ( first_name ) first_name⧉ first_name varchar(50) VARCHAR(50) last_name⧉ last_name varchar(50) VARCHAR(50) email⧉ email varchar(100) VARCHAR(100) hire_date⧉ hire_date date DATE 🔍 Unq unq_employees_salary ( salary ) salary⧉ salary decimal(10,2) ↗ salaries( salary ) ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ This column contains personal informations. DECIMAL(10,2)🔗 References salaries ( salary ) department_id⧉ department_id int INT manager_id⧉ manager_id int INT salariesTable company.salaries 🔑 Pk pk_salaries ( salary_id ) salary_id⧉ salary_id * int ↗ customers( customer_id ) ↗ payment_methods( payment_method_id ) INT🔗 References customers ( salary_id -> customer_id ) References payment_methods ( salary_id -> payment_method_id ) 🔍 Unq unq_salaries_employee_id ( employee_id ) employee_id⧉ employee_id int INT 🔍 Unq unq_salaries_salary ( salary ) salary⧉ salary decimal(10,2) ↙ employees( salary ) DECIMAL(10,2)🔗 Referred by employees ( salary ) 🔍 Unq unq_salaries_effective_date ( effective_date ) effective_date⧉ effective_date date ↙ contracts( start_date ) DATE🔗 Referred by contracts ( start_date -> effective_date ) bonus⧉ bonus decimal(10,2) DECIMAL(10,2) 🔍 Unq unq_salaries_customer_id ( customer_id ) customer_id⧉ customer_id int INT

Compare schema changes visually, generate interactive documentation, and keep everything versioned with built-in Git.

Schema Documentation
Sample Image

➤ Generate HTML5docs with diagrams and schema details.

➤ Open in any browser and share easily with your team.

Learn more about Documentation

Git Integration
Sample Image

➤ Commit and push schema changes directly from DbSchema.

➤ Collaborate in branches and keep your model in sync.

Learn more about Git Integration

Floating License Server
Sample Image

➤ Run it inside your network (on-prem/VM).

➤ One license, many installs - one active user at a time.

Learn more about Floating Server

Manage Your Data Easily

Sample Image
Browse Data Visually
Open tables and explore rows without writing SQL.

Browse and edit data with multi-level master-detail views, write queries in a smart SQL editor, or build them visually with drag-and-drop.

Explore Your Data Easily

➤ Browse/edit tables with instant filters and sorting.

➤ Follow relationships via multi-level master-detail.

Learn more about Data Explorer

Simple SQL Coding
Sample Image

➤ Write & run SQL with autocomplete and syntax highlighting.

➤ Edit data inline and export results to CSV, Excel, or JSON.

Learn more about SQL Editor

Build Queries Visually
Sample Image

➤ Build queries visually - drag tables, columns, and conditions.

➤ Preview the generated SQL and run it instantly to see results.

Learn more about Query Builder

Compare Model and Database

Sample Image
Exists in the Model
Missing in the Database

Optionally review differences and choose to update the model, commit to the database, or generate scripts.

Schema Compare & Deploy
Sample Image

➤ See model vs. database differences.

➤ Apply changes to the model or commit to the database.

Learn more about Schema Sync

Dev → Test → Prod
Sample Image

➤ Move updates from dev to test to prod.

➤ Check before applying and keep a rollback.

Learn more about Different Connections

Generate Migration Scripts
Sample Image

➤ Move your schema across engines (MySQL → Oracle).

➤ DbSchema creates specific SQL-review diffs and deploy.

Learn more about Migration Scripts

Advanced When You Need It

Sample Image
Advanced Tools
Generate test data, automate tasks, and manage your DB

Turn on advanced tools only when you need them - generate realistic test data, automate workflows, and manage/monitor your databases without leaving DbSchema.

Generate Test Data
Generate Test Data

➤ Populate tables with sample data for development or demos.

➤ Use patterns, regex, and custom lists; save generators.

Learn more about Test Data

Automate with Scripts
Automate with Scripts

➤ Run Groovy scripts to automate repeatable jobs.

➤ Generate docs, import/export data, or schedule nightly tasks.

Learn more about Automation Scripts

Manage Your Database
Manage Your Database

➤ Monitor disk usage, sessions, locks, and user activity.

➤ Optimize roles and resources to improve performance.

Learn more about Database Management